Mac wifiをキーボードショートカットでON/OFFしたい!


うちでMacを使っていると、ルータとの相性が悪いのか突然ネットの接続が切れている時があって、そういう時はいつもwifiを再接続していたのですが、これがまた面倒臭い。

...カーソルを右上まで持って行って

これを押(して、再度押)すだけなのですが。

というわけで、wifiの on / off をキーボードショートカットcontrol + w / control + shift + wでできるようにしてみたのでその備忘録です。

初めに

今回利用するのは

$ /usr/sbin/networksetup -setairportpower en1 on
$ /usr/sbin/networksetup -setairportpower en1 off

この二つの管理コマンドです。

コマンドを実行する wifi-on.app / wifi-off.app を作る

Automator を活用します。
(こんなアプリケーションが入っているなんて知らなかった...)

Automator を実行したら、 ファイル > 新規 を選択します。ダイアログの中から、アプリケーションを選択します。

左上の検索から、「シェル」と検索します。

シェルスクリプトを実行という項目が出てくるので、これを選択します。

すると、右側に次のような編集画面が出ます。デフォルトだとcatになっています。

ここに先ほど紹介したコマンドを登録します。下の例では wifi を on にするコマンドです。

編集したら、保存します。僕の環境では、デフォルトの保存場所はi-Cloudになっていましたが、/Applicationに入っていた方が忘れないので、そちらを選択しました。

onと同様の方法でoffのコマンドのappも作成して、/Applicationフォルダにshellというファイルにまとめてみました。

アプリケーションを実行するサービスを作る

次は、.workflowなるファイルを作成します。
先ほど作成した、wifi-on.appwifi-off.appを起動するためだけのワークフローです。

ここでも使うのは Automatorです。(Automator有能)
起動したら、先ほど選択した アプリケーション の隣の サービス を選択します。

検索で、起動と入力して、アプリケーションを起動を選択します。

初めは、下のような状態なので、これを、

入力は 入力なし、対象は 全てのアプリケーション 起動するのはwifi-on.app(先ほど作ったアプリ)となるように編集してください。

起動するアプリケーションの対象は、おそらくクリックして出てくるメニューの下の方にある その他 から探すことになると思います。

ここでは、先ほど作成したアプリを /Application/shell/のディレクトリに作成したので、そこを開いています。

編集が終わったら、保存します。
デフォルトの保存場所は~/Library/Servicesになっているので、このディレクトリに保存します。

キーボードショートカットを作る

先ほど作成したサービスにショートカットキーを割り当てます。
システム環境設定 > キーボード > ショートカット > サービスで作業します。

先ほど作成したサービスが、一般の枠に入っていると思うので、これにショートカットキーを割り当てます。
下の例では control (+ shift) + wで on / off ができるようにしてあります。

以上で終了です。

最後に

ショートカットキーの反映には少し時間がかかるみたいで、自分の環境では割り当てた直後は使用できませんでした。

(2分くらい経って、使えるようになった...?)

「日本語入力がダメなのかな?」なんて思って、command + spaceでU.S.入力にしてみたり試行錯誤してる間にショートカットで on / off できるようになりました。(日本語入力でも普通にショートカット効いています)

この方法で、好きなコマンドにショートカットキーを割り当てられるので色々捗りそうです。

ありがとうございました。

参考