0
0

More than 3 years have passed since last update.

ssh接続中にスリープしたMacBookが復帰するときにKarabiner-Elementsが固まる問題への対処

Last updated at Posted at 2020-06-09

問題概要

ssh接続でMacBookからサーバにアクセスして作業しているとき、たまに接続したままMacBookをスリープさせてしまうことがあります。その状態からMacbook(英字配列キーボード搭載、アプリでキーマップを変更している)を復帰させようとすると、OSがキーボードを認識できずに一切操作できなくなることがありました。原因は英語キーボードで英数かな変換キーを実現するために入れているKarabiner-Elementsでした。試しに、英かな(ei-kana)アプリやBetterToolTouchも試しましたが同じ結果に終わりました。Auto-Update checkをオフにしたりもしてみましたが無駄でした。

対処療法

根本解決には至らなかったので、対処療法として"ssh接続中はシステムをスリープさせない"ことで対処しました。caffeinateという一定条件下でスリープを回避できるコマンドを使い、その後ろのコマンド(sshコマンド)が終了するまではシステムをスリープさせないようにします。

例えば.bashrcか.zshrcなどに以下を記述し、caffeinateを通したsshコマンドを作成します。

alias ssh2="caffeinate -i ssh XXXアドレスなどXXX"

-i はcaffeinateのオプションで、"次に記述されるコマンドが終了するまでシステムをスリープさせない"という意味があります。(なので一定時間経つとMacBookの画面は消えます)
ターミナルでssh2と打つと実行されます。

追記

VPN接続中にMacBookがスリープしても固まることがわかりました。スリープに入る直前にVPNを切断することでしのぎます。
sleepwatcherというライブラリはスリープに入る直前にコマンドを実行してくれます。

networksetup -disconnectpppoeservice "VPNの名前"

このコマンドでVPNを切断できるので、以下のサイトを参考にして設定すれば完了です。
http://blog.serverworks.co.jp/tech/2019/08/17/sleepwatcher/

参考にしたサイト

リモートせざるを得ない状況なので、すこしでも快適に....

0
0
0

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
0
0