回答:
このスクリプトはステータスを切り替え、実行内容を確認するメッセージを表示します。
#!/bin/bash
if [ $(rfkill list wifi | grep "Soft blocked: yes" | wc -l) -gt 0 ] ; then
rfkill unblock wifi
zenity --info --text "Enabled wireless"
else
rfkill block wifi
zenity --info --text "Disabled wireless"
fi
Zenityプロンプトを非表示にするには、次のように変更します。
zenity --info --text "Enabled wireless" --timeout="5"
zenity --info --text "Disabled wireless" --timeout="5"
または、画面の隅に表示される通知を作成します。
sudo apt-get install libnotify-bin
zenityラインを
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
--timeout="n"
Zenityには文書化されていないオプションがあります。
私はしばらくの間、自分自身でこれに対する解決策を探していましたが、多くのヒントとコツを使ってきました。私は最終的に自分に合った解決策を見つけ、初心者向けのチュートリアルを作成することにしました。これは、私のような多くの皆さんよりもLinuxでのプログラミングができない人向けです。
左上のスライドアウトバー(ダッシュホーム)のランチャーアイコンをクリックし、「gedit」と入力して、Enterをクリックします。
次に、wifiを切り替えるスクリプトを作成します。
ネットワークマネージャーのショートカットを使用しました。nmcli nmwifi。wifiの状態を判断し、制御することもできます。上記の例で示した通知スクリプトを使用して、wifiの状態を表示しました。これが私のスクリプトです。
#!/bin/bash
if [ $(nmcli nm wifi | grep "disabled" | wc -l) -eq 1 ] ; then
nmcli nm wifi on
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
else
nmcli nm wifi off
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
fi
これをコピーして、開いたばかりのエディターに貼り付け、適切なファイル名で保存します(私の場合はwifitoggleでした)。
次のステップは、ファイルを実行可能にすることでした(ホームフォルダーで、ファイル、プロパティ、権限タブを右クリックし、「実行可能ファイルとして実行」のチェックマークを付けます)。
次に、ファイルシステムの/ usr / binディレクトリにコピーを配置します(ターミナルを開き、sudo nautilusと入力します。ファイルシステムに移動してからusrに移動し、binを開きます。yを貼り付けます)。
最後に、[システム設定]-> [キーボード]-> [ショートカット]タブに移動します。下の小さな+ボタンを押して、トグルの名前を入力し、指定したスクリプトのファイル名を入力します(私の場合はwifitoggle)。[適用]をクリックし、その右側にある[無効]テキストをクリックして、ホットキーを押します。完了!
はい、cnetworkmanagerでできます。リポジトリにあるので、インストールして、cnetworkmanager --wifi=no
ワイヤレスを無効にする場合はコマンドを使用してランチャーを作成し、ワイヤレスを有効にする場合はコマンドを使用してランチャーを作成しますcnetworkmanager --wifi=yes
。
ような何か:sudo ifconfig <wlan0> down
かsudo ifconfig <wlan0> up
?
これが私のスクリプトです。
#!/bin/bash
echo "Checking wireless iface status...."
if iwconfig wlan0 | grep Quality
then
echo "Wi/Fi is being disabled...."
if rfkill block wifi
then
echo "Wi/Fi is now OFF!"
fi
else
echo "Wi/Fi is being enabled...."
if rfkill unblock wifi
then
echo "Wi/Fi is now ON!"
fi
fi
FYI:のRFKillとしてデビッドとmisterbenが提案をする場合には、使用している優れているネットワーク・マネージャを。
ifconfigはインターフェースを無効にしますが、Network-Managerはそれを自動的に再度有効にします。
私が使用するもう1つの方法は、wlカーネルモジュールを削除することです。
オフ:
rmmod wl
オン:
modprobe wl