以前 Synergy を試して見ましたが、やっぱりログイン時にキーボードが共有できていないのは、 滅多にログオフしないとはいえ、不便。やっぱりApple Remote Desktopと Win2VNCにしました。
とはいえ、時々応答がなくなってしまう(マウスカーソルが出てこなくなる)のは 相当不便。調べてみると、応答がないときのAppleVNCServerのCPU利用率は結構 高いようです。適当にCPU利用率をチェックして、高ければAppleVNCServerを 再起動させればいいでしょう。コードにすると、こんな感じ。
#!/bin/sh VNCTIME=`/usr/bin/top -l 4 -o cpu | /usr/bin/awk '/AppleVNC/{print $3;}' | /usr/bin/tail -1 | /usr/bin/sed -e 's/[\.%]//g'` if [ $VNCTIME -lt 100 ]; then exit 0 fi VNC=`/bin/ps ax -w | /usr/bin/grep AppleVNCServer | /usr/bin/grep -v grep` /bin/kill -HUP `echo $VNC | /usr/bin/awk '{print $1;}'` /usr/bin/logger "Restart AppleVNCServer by $0"これを/usr/local/sbin/chkvnc として保存。
5分毎に実行させましょう。ターミナルから sudo crontab -eとして、
*/5 * * * * /usr/local/sbin/chkvncと入力。これでrootが5分毎にAppleVNCServerのCPU利用率をチェックし、10.0%を 超えていれば再起動させます。
繋ぎに行っているWin2VNCの方も終わってしまうけど、もう1度実行すればよし。 キーボード、マウスが繋がっているわけだし。