Synergyでキーボード・マウス共有

device, Linux, Mac, Tips, Tool, UNIX, Windows, コミット 11月 5th, 2008

最近、MacやらWindowsのデスクトップやら、ノートPCやらで色々ディスプレイが増えました。
で、PCとディスプレイがいっぱいあるけど、キーボードとマウスをそのまま使いたい、できれば切り替えずに。
そんな欲求を満たすのがSynergy。
Windows、Mac、Linux対応。
早速インストールしてみました。

Windows

Synergy本家サイトのDownload->Latest Release->Binariesより、バイナリのインストーラをダウンロードして実行。

あとは、成り行きでOK。

Linux

Debianのlennyでやりましたところ、

sudo apt-get install synergy

で入りました。Fedora系は上のバイナリインストールの所からダウンロードできるので大丈夫だと思います。
ソースもあるので、ソースコンパイルでも問題無いと思います。

Mac

Intel Macでやりましたところ、バイナリインストーラ、Mac Portsともにエラーが出て動きませんでした。

しかし、今回も解決してくださっている方が!
IntelMacでSynergy2を動かす

ここの記述に従い、ソース(バージョン1.3.1)のlib/platform/COSXKeyState.cppを編集。

354行目(あたりだったと思います)をコメントアウト。以下の内容が書いています。

getKeyMap(keyMap, g, kchr);

あとは

./configure
make
make install

で入りました。

使い方

Windows

起動するとGUIが立ち上がります。

クライアントとして使う場合は、一番上のラジオボタンをクリックして、その下にサーバのIPアドレスを入れるとつながるはずです。

サーバとして使う場合は、

下のラジオボタンをクリックして、Configure…ボタンをクリック。

screens:の部分にコンピュータ名を入力(Windowsならマイコンピュータを右クリックのプロパティでみれるヤツ,
Linuxはホスト名、Macはホスト名.local)します。入力するコンピュータ名は自分のPCと接続されるクライアントのPCのコンピュータ名を入れます。

Links:では自分とクライアントコンピュータの位置関係やクライアント同士の位置関係を定義します。

0 to 100 % of the left of server_PC goes to 0 to 100% of client_PC

これでサーバPCの左にクライアントPCがつながるという定義です。

注意しないといけないのは、これでは一方通行になるので、逆方向も定義しないとマウスが帰れなくなります。

僕も一度迷子になりました。

次にMac & Linux

クライアントは

synergyc -f server_IPaddress

で接続テストができます。エラーが出なければ-fを抜いて本接続します。

サーバの設定は
/etc/synergy.conf か~/.synergy.conf
に記述します。~/.synergy.confが優先して読まれるようです。
内容は

# ホストの設定セクション
section: screens
      host1:
      host2:
          super = meta #キーの対応設定
end
# ホスト間の位置関係の設定セクション
section: links #hostはホスト名で大丈夫
      host1:
     right = host2
      host2:
     left  = host1
end
section: options
      switchDelay = 1000 #切り替え時の遅延設定
end

という感じで記述します。hostの部分はコンピュータのホスト名に置き換えてを記述してください。
そして、起動。

synergys -f

問題無く起動したら、こちらも-fを外して本起動してください。
これで、いろいろなPCを行ったり来たりできるようになりました。

ここまで来て何ですが、
SynergyKMというGUIで設定できるMacのソフトを見つけてしまいました。こちらだとGUIで設定できるようなので、

良さそうです。

設定などは

Synergy ふたたび! – SynergyKM -

で、紹介されているので、そちらを参考にすると良さそうです。

Leave a Reply

認証失敗
妹「来てくれてありがとう!コメントしていってね!!」