環境
- mac-book
- mojave
- 外付けで windows キーボード(JIS)
- mac-mini
- high sierra
- モニタ、キーボードなし
再現方法
- mac-book で画面共有 > mac-mini
- mac-mini 上のターミナルとかで insert キーを押す
何が起こるか
マウスカーソルが、はてなマーク(クエスチョンマーク)になり、すべてのキー入力が無視される。
マウスをクリックするとビープが鳴り、マウスカーソルが戻る。
が、再度なにかキー入力すると、はてなカーソルに戻り何も入力できなくなる。
以下、繰り返し
補足
- shift 押しながらだと入力が効く
- この状態になる他のキーボードからであってもキー入力ができない
原因と対策
結構昔からある画面共有のバグらしい。vnc が原因(?)らしいのだが、win から mac に vnc 接続して〜、だと再現しなかった。
また、mac os が古いので、最新 OS だと起こらないとかもあるかもしれない。
とりあえず、ログアウトすれば直る模様。
が、タイポとかする度にログアウトなんてしてられないので調べると、
screensharingd
を再起動すればいいらしい。名前的に画面共有のサービスとかそんな感じか。kill すれば勝手に再起動するようなので、
$ sudo killall screensharingd
で OK。
なのだが、実際、この事象が起こっているときは、上記コマンドが打てず、頑張ってコマンドはマウス操作でコピペ実行できたとしても、sudo のパスワードが打てない。
なので、いざという時のためにマウスだけでコマンド実行ができるようにしておく。
$ echo "echo 'password' | sudo -S killall screensharingd 2>/dev/null" > reset.command $ chmod +x reset.command
パスワードを出力し、sudo はパスワードを入力で受けて killall を実行する。
というコマンドファイルを用意し、実行権限を与えておく。
パスワードを埋めておくのはちょっとアレだが。。。
そして、このファイルを Finder で「このアプリケーションで開く」をターミナルとかにしておく。
これで、当該事象に遭遇したら reset.command をダブルクリック実行するだけで正常化できる。