LoginSignup
11
7

More than 5 years have passed since last update.

Macの⌘英かなを自動再起動する。

Last updated at Posted at 2017-04-17

何が起きているのか

MacbookのUSキーボードを使用。もともとJSキーボード出身なので、手になじんだ親指で「英数」「かな」の入力切り替えを再現すべくKarabinorのお世話になっていた。左右の⌘キー単発押しをそれぞれ「英数」「かな」にアサインするという平和な日々。
あの頃(El Capitan)は良かったな。

事態が急変したのは、新しいMacbook Proを購入してプリインストールされているSierraを使い始めてから。
SierraではKarabinorが使えないというではないか。
Karabinor Elementsという後継プロジェクトが起ち上がっているようだが、⌘キー単発押しには未対応。
代替として⌘英かなを使い始めた。これで再び平和が訪れる・・はずだった。

  • あれ?入力モード変更できない → ツールバーから⌘英かな終了 → Dockに置いたショートカットから起動。 というのを繰り返すこと数回。
  • どうやら ⌘英かな ver.2.2.1は不安定。いつの間にか死んでいることが多い。
  • 日に2回以上再起動した時点でめんどくさい
  • AppleScriptで再起動させるスクリプトを書き、cronで自動実行させることにした。

Apple Script

1) スクリプトエディタで以下のスクリプトを作成する。
再生ボタンでテスト実行。

eikana_reboot.scpt
tell application "⌘英かな"
    quit
    delay 1
    run
end tell

ちなみに「⌘」という文字は、絵文字パレット(control + command + space)から選んで表示できる。
僕はそれをATOKに単語登録して使用。

2) ~/Documentsにscptフォルダを作成し、eikana_reboot.scpというファイル名で保存
もちろん任意の場所でOK。

3) 試しに実行してみる。
スクリプトエディタの再生ボタンでも確認済みだが、コマンドラインからも実行可能か確認してみる。


$ osascript /Users/yutaka/Documents/scpt/eikana_reboot.scpt

コマンドラインからAppleScriptを実行するのは、osascriptだそうだ。

cron

4) cronに登録

あとはこのコマンドをcronに登録すれば完了。
crontab -e で直接編集するのはお勧めできないので、一旦homeにファイルを作ってそこで編集する。

$ crontab -l > ~/crontab

↑もしまだcrontabを実行したことが無いなら、vim ~/crontabで一時ファイルを作成する。

~/crontab

50 * * * * osascript /Users/hogehoge/Documents/scpt/eikana_reboot.scpt

※hogehogeの書類ディレクトリに保存したスクリプトを毎時50分にosascriptコマンドを実行する例
Apple Watchのスタンド促しが50分に来るので、その間に⌘英かなを再起動してもらうのだ笑

5) crontabに反映

$ crontab < ~/crontab

6) 確認

$ crontab -l
50 * * * * osascript /Users/hogehoge/Documents/scpt/eikana_reboot.scpt

さっき書いた内容が表示されればOK


以上で快適なUSキーライフが送れることと思う。
ま、こんなことやらずに済むのが一番なので、⌘英かなが安定することを望みます。

11
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
7