Kablosuz, rfkill aracı kullanılarak etkinleştirilebilir veya devre dışı bırakılabilir. İşte durumu kaydetmeye ve sistem başlangıcında geri yüklemeye izin veren buna dayanan bir çözüm.
Adım 00: Wifi durumunu saklamak için dosya oluşturma
cd /usr/local/etc
sudo touch .wifistate
sudo chmod 666 .wifistate
Adım 01: Komut Dosyası
#!/bin/bash
IFACE="wlan1"
STATE_FILE="/usr/local/etc/.wifistate"
STATE="$(iwconfig $IFACE | grep Tx | cut -d '=' -f2 | grep off)"
if [ "$STATE" ]
then
rfkill unblock wifi &&
echo 1 > "$STATE_FILE" &&
echo "Wireless enabled"
else
rfkill block wifi &&
echo 0 > "$STATE_FILE" &&
echo "Wireless disabled"
fi
exit 0;
10.Adım: Betiği yürütülebilir yapma
chmod +x <script name>
Adım 11: Ubuntu Başlangıç Betiğini Değiştirme
açmak /etc/rc.local
kodu aşağıdaki herhangi bir metin editörü (root olarak düzenlenmiş olmalıdır) ve ekleme
önce exit 0;
hat:
FILE="/usr/local/etc/.wifistate"
if [ -r "$FILE" ]
then
if [ $(cat $FILE) -eq 0 ]
then
rfkill block wifi
fi
else
rfkill block wifi
fi
Tamamlandı, şimdi adım 01'deki komut dosyası klavye olayına bağlanabilir. İlk kullanımdan sonra .wifistate dosyasına 0 veya 1 yazacak ve sistem başlangıcında rc.local betiği bu değeri okumaya çalışacak ve 0 ise wifi'yi devre dışı bırakacaktır.
.Wifistate dosyası yoksa, başlangıçta wifi varsayılan olarak devre dışı bırakılır.
sudo ifdown wlan0
inrc.local
bile yeniden başlatma sonrasında nasıl olsa sistemini etkilemeyecek mi? Bu betiği bir şekilde çağırmam gerekir mi?