Input Leap
Synergy は複数のマシンで (たとえオペレーティングシステムが異なっていても) 簡単に一つのマウスとキーボードを共有できるようにします。特殊なハードウェアは必要ありません。デスクに複数のコンピュータが置いてあって、それぞれ個別のモニターを使っているようなユーザーを想定しています。
マウスを画面の端まで移動するだけでマウスやキーボードを転送することができます。また、Synergy は全てのシステムのクリップボードを一つにまとめて、システム間でカットアンドペーストできるようにします。さらに、スクリーンセーバーまで同期して同時に開始・停止するようにして、画面がロックされている場合、どれか一つの画面のロックを解除すれば、全ての画面のロックが解除されます。
インストール
Arch Linux
Windows と OS X
公式ウェブサイトから最新のインストーラーを ダウンロード して実行してください。
事前設定
まずマシンの IP アドレスとホストネームを確認してください。それぞれに適切な hosts ファイルがあることを確認してください。
- Arch Linux -
/etc/hosts
- Windows -
C:\WINDOWS\system32\drivers\etc\hosts
- OS X - How to Add Hosts to Local Hosts File。
/etc/hosts
10.10.66.1 archserver.localdomain archserver 10.10.66.100 archleft.localdomain archleft 10.10.66.105 archright.localdomain archright
Arch Linux
暗号化の有効化
Synergy バージョン 1.7 から独自の通信暗号から SSL に置き換わっています。
SSL プラグインをインストールするには、plugins ディレクトリ (デフォルトでは ~/.synergy/plugins
) にコピーまたはシンボリックリンクを作成してください:
$ mkdir -p ~/.synergy/plugins $ ln -s /usr/lib/synergy/libns.so ~/.synergy/plugins/libns.so
サーバーの設定
synergy では、共有したいキーボードとマウスが接続されたコンピュータをサーバーと呼びます。利用可能なセクションとオプションの詳しい説明は Synergy Configuration File Format を見て下さい。
Arch Linux
Arch Linux の設定ファイルは /etc/synergy.conf
です。このファイルが存在しないときは、/etc/synergy.conf.example
を使って作成してください。基本的な設定をするのに十分な量のコメントが記載されています。さらに詳しい情報が必要なときは、上でリンクしているガイドを見て下さい。
何らかの問題があってバックグラウンドでサーバーを実行したいときは、以下のコマンドを実行します:
# synergys -f
synergy のサーバープロセスはユーザーの X セッションにアタッチする必要があります。つまり、ユーザーで実行する必要があります。適当なユーザーで synergys@mary
を有効化してください ('mary' は使用するユーザー名に置き換えてください)。
暗号化を使う
サーバーで使用する証明書と指紋を生成するには:
$ mkdir -p ~/.synergy/SSL/Fingerprints $ openssl req -x509 -nodes -days 365 -subj /CN=Synergy -newkey rsa:1024 -keyout ~/.synergy/SSL/Synergy.pem -out ~/.synergy/SSL/Synergy.pem $ openssl x509 -fingerprint -sha1 -noout -in ~/.synergy/SSL/Synergy.pem > ~/.synergy/SSL/Fingerprints/Local.txt $ sed -e "s/.*=//" -i ~/.synergy/SSL/Fingerprints/Local.txt
SSL プラグインを有効化するには、--enable-crypto
オプションを追加します。
- コマンドラインから起動する場合:
# synergys --enable-crypto
- systemd で起動する場合:
/usr/lib/systemd/system/synergys@.service
[Unit] Description=Synergy Server Daemon After=network.target [Service] User=%i ExecStart=/usr/bin/synergys --no-daemon --config /etc/synergy.conf --enable-crypto Restart=on-failure [Install] WantedBy=multi-user.target
ユーザーでサービスを起動するには:
# systemctl start synergys@mary
Windows
- Synergy プログラムを開いて下さい
- Server (share this computer's mouse and keyboard) オプションを選択します
- Configure interactively を選択
- Configure Server... ボタンをクリック
- ウィンドウが開いて、使っているコンピュータやディスプレイの数に合わせて画面を追加することができます: 右上の画面アイコンを画面エリアにドラッグして、ダブルクリックすることで設定を編集できます
- 設定が完了したら OK を閉じて画面を終了し、Start をクリックしてサーバーを起動します
Windows では、設定はデフォルトで synergy.sgc
ファイルに保存されますが、設定ファイルの名前や保存場所は好きに変えられます。
Windows が起動するたびに毎回 Synergy サーバーを起動したい場合、プログラムを管理者として起動する必要があります。そして Edit -> Services から Server セクションの Install を選択してください。次の起動時から Synergy は自動的に起動するようになりますが、トレイアイコンは自動では表示されません (少なくとも Windows 7 でバージョン 1.4.2 beta を使用している場合)。サービスをアンインストールするには、インストール時と同じ操作をします。ただし Uninstall を選択するようにしてください。
コマンドラインからサーバーを起動したい場合、以下が Windows でのコマンドです。.bat
ファイルに記述したり cmd.exe
から実行できます:
C:\Program Files\Synergy+\bin\synergys.exe -f --debug ERROR --name left --log c:\windows\synergy.log -c C:/windows/synergy.sgc --address 10.66.66.2:24800
OS X
OS X の設定は Unix での設定とほぼ同じです: 詳しくは 公式ドキュメント を確認してください。
設定サンプル
3つのコンピュータがある基本的な設定例:
/etc/synergy.conf
section: screens server-fire: archright-fire: archleft-fire: end section: links archleft-fire: right = server-fire server-fire: right = archright-fire left = archleft-fire archright-fire: left = server-fire end
Arch Linux のパッケージに付属している例:
/etc/synergy.conf
section: screens # three hosts named: moe, larry, and curly moe: larry: curly: end section: links # larry is to the right of moe and curly is above moe moe: right = larry up = curly # moe is to the left of larry and curly is above larry. # note that curly is above both moe and larry and moe # and larry have a symmetric connection (they're in # opposite directions of each other). larry: left = moe up = curly # larry is below curly. if you move up from moe and then # down, you'll end up on larry. curly: down = larry end section: aliases # curly is also known as shemp curly: shemp end
細かくカスタマイズした例:
synergy.sgc
section: screens leftpc: halfDuplexCapsLock = false halfDuplexNumLock = false halfDuplexScrollLock = false xtestIsXineramaUnaware = false switchCorners = none +top-left +top-right +bottom-left +bottom-right switchCornerSize = 0 rightpc: halfDuplexCapsLock = false halfDuplexNumLock = false halfDuplexScrollLock = false xtestIsXineramaUnaware = false switchCorners = none +top-left +top-right +bottom-left +bottom-right switchCornerSize = 0 end section: aliases leftpc: 10.66.66.2 rightpc: 10.66.66.1 end section: links leftpc: right = rightpc rightpc: left = leftpc end section: options heartbeat = 1000 relativeMouseMoves = false screenSaverSync = false win32KeepForeground = false switchCorners = none +top-left +top-right +bottom-left +bottom-right switchCornerSize = 4 end
クライアントの設定
Arch Linux
コンソールウィンドウで、以下を入力:
$ synergyc server-host-name
もしくは、フォアグラウンドで synergy を実行するには:
$ synergyc -f server-host-name
上記の server-host-name
はサーバーのホストネームに置き換えてください。
暗号化を使う
暗号化機能を使うには、以下を入力:
$ synergyc --enable-crypto
自動起動
Synergy クライアントを自動で起動する方法は複数あります。他のアプリケーションの自動起動と同じです。
~/.xinitrc
に以下の行を追加:
~/.xinitrc
... #replace server-host-name with the real name synergyc server-host-name
もしくは以下の行を追加:
~/.xinitrc
XINIT_CMD='/usr/bin/synergyc -d FATAL -n galileo-fire 10.66.66.2:24800' /usr/bin/pgrep -lxf "$XINIT_CMD" || ( ( $XINIT_CMD ) & )
- ディスプレイマネージャ (kdm, gdm, SLiM, ...) やスタンドアロンのウィンドウマネージャ (Openbox, ...) を使っている場合、スタートアップスクリプトに以下を追加します:
synergyc server-host-name
例えば、kdm を使っているときは /usr/share/config/kdm/Xsetup
を編集してください。
- systemd で Synergy クライアントを起動するには、サービスファイル
/etc/systemd/system/synergyc@.service
と設定ファイル/etc/conf.d/synergyc.conf
を作成します:
/etc/systemd/system/synergyc@.service
[Unit] Description=Synergy Client Daemon After=network.target [Service] EnvironmentFile=/etc/conf.d/synergyc.conf ExecStart=/usr/bin/synergyc --no-daemon --debug ${DEBUGLEVEL:-INFO} ${SERVERALIAS} User=%i [Install] WantedBy=multi-user.target
/etc/conf.d/synergyc.conf
DEBUGLEVEL=WARNING SERVERALIAS=server-name
ユーザーでサービスを起動するには:
# systemctl start synergyc@mary
Synergy の自動起動については 公式のリファレンスページ にまとまっています。
Windows
インストール後、Synergy プログラムを開いて、Client (use another computer's keyboard and mouse) オプションを選択して、テキストボックスにサーバーコンピュータのホストネームを入力してから、Start をクリックするとクライアントが起動します。
Windows が起動する度に Synergy クライアントが起動するようにしたい場合、管理者としてプログラムを起動して、Edit -> Services から Client セクションの Install を選択してください。
コマンドラインからクライアントを起動したい場合、以下が Windows のコマンドです。.bat
ファイルに記述したり cmd.exe
から実行することができます。設定ファイルとして C:\synergy.sgc
を指定して、サービスのようにバックグラウンドで動作させます。
START /MIN /D"C:\Program Files\Synergy+\bin" synergys.exe -d ERROR -n m6300 -c C:\synergy.sgc -a 10.66.66.2:24800
OS X
synergyc フォルダにある synergyc プログラムを見つけてターミナルウィンドウにドラッグしてください: ターミナルにフルパスが入力されます。そこにサーバーのホストネームを入力すると、以下のようなコマンドになります:
/path/to/synergyc/synergyc server-host-name
そうしたら Enter
を押して下さい。
既知の問題
Arch を Synergy のクライアントとして使用すると、サーバーがクライアントのモニターを立ち上げることができない場合があります。ACPI が有効になっている場合、SSH で以下のコマンドを実行することで解決できます (参照: Display Power Management Signaling#xset を使って DPMS とスクリーンセーバーの設定を変更する):
# xset dpms force on
トラブルシューティング
公式ドキュメントには FAQ と トラブルシューティング のページがあります。
キーボードの AltGr
AltGr に問題が起こる場合は /etc/synergys.conf
の screen/client セクションに以下を追加してください:
altgr = alt
キーボードのリピート
(Linux ホストの) クライアントマシンでキーボードのリピートに問題が起こる場合は、コンソールに以下を入力してください:
# /usr/bin/xset r on
キーボードのマッピング
クライアントのウィンドウ (例: ターミナル) でサーバーのキーボードを使うときにキーボードのマッピングに問題が起こる場合は、synergyc を起動した後に X のキーマップを再設定すると直ることがあります。以下のコマンドでキーマップが現在の値に再設定されます:
# setxkbmap $(setxkbmap -query | grep "^layout:" | awk -F ": *" '{print $2}')
Gnome3 でカーソルが表示されない
Gnome 3 でマウスが認識されないと、デフォルトでタッチスクリーンモードになってカーソルが表示されなくなります。有効にするには次を実行:
# dconf write /org/gnome/settings-daemon/plugins/cursor/active false
init スクリプトや systemd ユニットに以下のように追加できます:
ExecStartPost=dconf write /org/gnome/settings-daemon/plugins/cursor/active false
クライアントから "failed to verify server certificate fingerprint" と返ってくる
サーバーの ~/.synergy/SSL/Fingerprints/Local.txt
の中身をクライアントの ~/.synergy/SSL/Fingerprints/TrustedServers.txt
にコピーしてください。
Scroll Lock LED does not light
When using Scroll Lock to lock to a client (or to enter relative mouse move mode), you may run into an issue with your keyboard's Scroll Lock LED not lighting. This can be solved by binding the Scroll_Lock
key to an empty modifier key.
First, find an empty modifier. In this case, mod3 is available:
$ xmodmap xmodmap: up to 4 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock Caps_Lock (0x42) control Control_L (0x25), Control_R (0x69) mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
Then, add the new mapping.
$ xmodmap -e 'add mod3 = Scroll_Lock' $ "echo "add mod3 = Scroll_Lock" >> ~/.Xmodmap
See Xmodmap#Activating the custom table to have ~/.Xmodmap
loaded on login.
After making this change, test the LED and screen locking. If you find that you need to press Scroll Lock twice to lock screens, enable halfDuplexScrollLock
on all screens in section: screens
.
Additional mouse buttons do not work in client
If you find that additional mouse buttons (i.e. Mouse4/Mouse5) do not translate to a client, try adding the following to section: options
:
mousebutton(6) = mousebutton(4) mousebutton(7) = mousebutton(5)
This will re-map the mouse keys to the proper number. If that does not fix the problem, remove the configuration, stop Synergy, and start it in the foreground with debug logging enabled:
$ synergys -f -d DEBUG1
Then, move your cursor to the screen of the client with the issue. Click the non-functioning keys, and watch for log entries like this:
[2017-09-30T14:56:45] DEBUG1: onMouseDown id=6 ... [2017-09-30T14:56:46] DEBUG1: onMouseUp id=6
The id=...
part will have the right number to use in mousebutton(...)
mouse fixed in certain games
In some applications (like Overwatch or other games) the cursor gets trapped in the middle of the screen.
According to https://github.com/symless/synergy-core/issues/2631 this is an issue that is known.
Just set relative mouse movement in your settings and make sure to lock the screen.
参照
- Synergy ウェブサイト: http://synergy-project.org
- 公式ドキュメント: http://synergy-project.org/wiki/User_Guide