Synergyがとっても便利です
これまでから
何度も言ってるとおり
現在私のまわりにあるPCは以下のような構成なのです
- ThinkPad X60 (Windows XP Professional)
- Core2Quad Q9550 (Windows7 Professional x64)
- Core2Quad Q6600 (Windows7 Professional x64)
- Core2Quad Q6600 (Windows7 Professional x64)
- Athlon64X2 4600+ (CentOS 5.4 x64)
これに対して与えられている机は
80cm*120cmくらいの標準的な面積しかないわけです
この机にキーボードとマウスをそれぞれ4つと
ラップトップPCを置くのはきわめて無理があります
とりあえずWindows機はリモートデスクトップがあるので
これを使えば問題ない
でもLinuxにはVNCになってきて
ちょっともっさりするというか
WindowsのRDCレベルの軽快さがないわけです
そこで
Synergy!
こいつはホストのキーボードとマウスを仮想的に
ネットワークでつながってるクライアントと共有することができるソフト
これで私の机の上はキーボードとマウスのペアと
ThinkPadだけという状態に!
超すっきりだ!
準備はとても簡単で
まずサーバ側となるWindows機にSynergyをインストール
管理者権限で起動して
テキトーに設定
このやり方はそこら辺中にドキュメントがあるw
で,Windowsファイヤーウォールで例外設定を追加して完了
ついでに,よそのクライアントが勝手に接続してこないように
Windowsファイヤーウォールの設定で
接続可能IPやプロトコル・ポートをよしなに設定
いつの間にこんな設定がいろいろできるようになったんだ
Windowsファイヤーウォールは賢くなったなぁ,と感心しつつwww
※接続を許可するIPアドレスの設定
だけはWindowsXPの頃からあった
で,クライアントになるLinux側
クライアント側の設定はきわめて簡単で
Synergyをインストールして
サーバのIPを引数に与えて起動するだけ
問題はOS起動時に自動的にクライアントを起動させる方法で
基本的には
公式のドキュメントを読めばいいんだけど
このドキュメントどおりにやっても
ユーザーログイン後にSynergyクライアントがあがってこない
Xsessionめ
まったくやってくれる
ということで
Xの起動スクリプトで代用だぜ!
/etc/X11/xinit/xinitrc.d/以下に
適当な名前でシェルスクリプトをつくって以下を記入
#!/bin/bash
if [ -x /usr/bin/synergyc ]; then
/usr/bin/killall synergyc
sleep 1
/usr/bin/synergyc サーバのIP
fi
なお,記入後にはchmod +xを忘れぬよう
これでうはうはデスクトップ生活が完成しました
いやぁ
マジで便利な世の中になったもんだ
なお,このSynergyというソフトは
キーボードとマウスの動きを逐一平文でネットワークに送るから
とてもセキュリティ上の問題があります
つまり,私の研究室において
私のデスク付近にあるスイッチにLANケーブル挿して
tcpdumpしてるとLinux機のルートパスワードが見れるかもしれない!
気になる人はSSHのポートフォワードを使ってね(とSynergyのマニュアルに書いてあった
あ,ちなみに
Synergyは最近メンテされてる
Synergy-plusの方を
使うのがおすすめです
こっちはちゃんとx64版が提供されてます
すばらしい