Synergyで LinuxとWindowsでキーボード・マウスを共有
Synergy はクロスプラットフォームで利用できる、キーボード・マウスを共有するためのプログラムです。
キーボード・マウスを接続しているPCがサーバとなり、その他の操作される側のPCはクライアントになります。
たとえば、Linux側にキーボード・マウスを接続し、WindowsはLinux側に接続しているキーボード・マウスで操作することができます。
切り替え方法は、Windowsのスクリーンの右側を越えると、Linuxのスクリーンに移動する・・・といった風になります。
あくまで、キーボード・マウスを共有するだけなので、画面の出力は共有できません。
デュアルディスプレイにするためのは、別のソフトが必要です。
Linuxであれば改造されたVNCを使えばできるようですが、試していません。
今回は、Linuxをサーバにして、Windowsを接続してみました。
本家: http://synergy2.sourceforge.net/ 参考: http://wiki.nothing.sh/page/memo/Synergy - 日本語環境のためのパッチや、パッチ済みバイナリなどを配布されています http://d.hatena.ne.jp/mariyie/20080222 - Linux側をサーバにするときの設定
Linux側を Synergy のサーバにする
fedora 8 で試しています。
クライアント側はWindowsを想定した名前付けにしています。
インストール
$ sudo yum install synergy
設定
$ sudo vi /etc/synergy.conf
section: screens linux: windows: end section: links linux: left = windows windows: right = linux end section: aliases windows: xxx.xxx.xxx.xxx linux: localhost end
- section: screens 〜 のところで、サーバに接続するクライアントの名前を定義しています。
- section: links 〜 のところですが、スクリーンごとに、スクリーンのとなりに、どのスクリーンがあるかを設定します。
linux: left = windows # ← これは、linux スクリーンの左隣はwindows スクリーンがある、という定義
- section: aliases 〜 は、スクリーン名にaliasをつけることができます。自分は、Windows側をIPで書いてみたんですが、意味があるのかは不明です。
サーバ起動
$ synergys
synergys -f とすれば、デーモン化せずに起動し、ログを見ることができます。
ちなみに、サーバ側のPCは、クライアントプログラムで接続する必要はありません。
クライアントの接続
- linuxの場合
$ synergyc -n <スクリーン名前> <サーバのIP>
- windowsの場合
Synergy のWindowsバイナリをインストールして、「client」とあるほうで、サーバのIPを入れます。
また、Options から、スクリーン名を変えることができますので、 上の設定例でいうと、「windows」に変更します。
あとは、「test」を押して接続テストをするか、「start」を押して共有を開始します。
問題
オリジナルのバイナリでは、日本語変換のキーなどが反応しなかったりするので、IMEの切り替えができません。
参考サイトのパッチの当てられたプログラムを利用されると改善するかもしれません。
また、5ボタンマウスには対応してないみたいですね。(これが痛い・・・)