「Input Leap」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(ページの作成:「Category:入力デバイス en:Synergy fr:Synergy it:Synergy [http://synergy-project.org/ Synergy] は複数のマシンで (たとえオペレーティ...」)
 
(カテゴリを修正)
 
(2人の利用者による、間の4版が非表示)
1行目: 1行目:
[[Category:入力デバイス]]
+
[[Category:入力]]
 
[[en:Synergy]]
 
[[en:Synergy]]
 
[[fr:Synergy]]
 
[[fr:Synergy]]
20行目: 20行目:
 
* Arch Linux - {{ic|/etc/hosts}}
 
* Arch Linux - {{ic|/etc/hosts}}
 
* Windows - {{ic|C:\WINDOWS\system32\drivers\etc\hosts}}
 
* Windows - {{ic|C:\WINDOWS\system32\drivers\etc\hosts}}
* OS X - [http://support.apple.com/kb/TA27291 How to Add Hosts to Local Hosts File]。
+
* OS X - [https://support.apple.com/kb/TA27291 How to Add Hosts to Local Hosts File]。
 
 
 
{{hc|/etc/hosts|
 
{{hc|/etc/hosts|
327行目: 327行目:
 
ExecStartPost=dconf write /org/gnome/settings-daemon/plugins/cursor/active false
 
ExecStartPost=dconf write /org/gnome/settings-daemon/plugins/cursor/active false
   
  +
===クライアントから "failed to verify server certificate fingerprint" と返ってくる===
===messages.log の中身が synergyc で埋められてしまう===
 
  +
サーバーの {{ic|~/.synergy/SSL/Fingerprints/Local.txt}} の中身をクライアントの {{ic|~/.synergy/SSL/Fingerprints/TrustedServers.txt}} にコピーしてください。
上述のように ''synergyc'' を実行すると {{ic|/var/log/messages.log}} ファイルが以下のようなメッセージで一杯になってしまいます:
 
   
  +
=== Scroll Lock LED does not light ===
May 26 22:30:46 localhost Synergy 1.4.6: 2012-05-26T22:30:46 INFO: entering screen
 
/build/src/synergy-1.4.6-Source/src/lib/synergy/CScreen.cpp,103
 
May 26 22:30:47 localhost Synergy 1.4.6: 2012-05-26T22:30:47 INFO: leaving screen
 
/build/src/synergy-1.4.6-Source/src/lib/synergy/CScreen.cpp,121
 
   
  +
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 {{ic|Scroll_Lock}} key to an empty modifier key.
メッセージを出力しないようにするには {{ic|-d WARNING}} オプションを付けて ''synergyc'' を実行してください。デバッグレベルオプションはレベルが ''WARNING'' 以上のメッセージだけを synergy からログに吐かせるようにします:
 
   
  +
First, find an empty modifier. In this case, mod3 is available:
$ synergyc -d WARNING server-host-name
 
  +
$ 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 {{ic|~/.Xmodmap}} loaded on login.
{{ic|/etc/rc.d/synergyc}} ファイルを使っている場合、''synergyc'' を呼び出している行を以下のように編集できます:
 
   
  +
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 {{ic|halfDuplexScrollLock}} on all screens in {{ic|section: screens}}.
[ -z "$PID" ] && /usr/bin/synergyc -d WARNING "$SERVERALIAS"
 
   
  +
=== Additional mouse buttons do not work in client ===
===クライアントから "failed to verify server certificate fingerprint" と返ってくる===
 
  +
サーバーの {{ic|~/.synergy/SSL/Fingerprints/Local.txt}} の中身をクライアントの {{ic|~/.synergy/SSL/Fingerprints/TrustedServers.txt}} にコピーしてください。
 
  +
If you find that additional mouse buttons (i.e. Mouse4/Mouse5) do not translate to a client, try adding the following to {{ic|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 {{ic|<nowiki>id=...</nowiki>}} part will have the right number to use in {{ic|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.
   
 
==参照==
 
==参照==

2023年8月30日 (水) 21:05時点における最新版

Synergy は複数のマシンで (たとえオペレーティングシステムが異なっていても) 簡単に一つのマウスとキーボードを共有できるようにします。特殊なハードウェアは必要ありません。デスクに複数のコンピュータが置いてあって、それぞれ個別のモニターを使っているようなユーザーを想定しています。

マウスを画面の端まで移動するだけでマウスやキーボードを転送することができます。また、Synergy は全てのシステムのクリップボードを一つにまとめて、システム間でカットアンドペーストできるようにします。さらに、スクリーンセーバーまで同期して同時に開始・停止するようにして、画面がロックされている場合、どれか一つの画面のロックを解除すれば、全ての画面のロックが解除されます。

インストール

Arch Linux

synergy パッケージでインストールできます。

Windows と OS X

公式ウェブサイトから最新のインストーラーを ダウンロード して実行してください。

事前設定

まずマシンの IP アドレスとホストネームを確認してください。それぞれに適切な hosts ファイルがあることを確認してください。

/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 を使って作成してください。基本的な設定をするのに十分な量のコメントが記載されています。さらに詳しい情報が必要なときは、上でリンクしているガイドを見て下さい。

ヒント:
  • AURquicksynergyAUR には設定を楽にする GUI が入っています。
  • サーバーのポートがブロックされていないことを確認してください。デフォルトでは synergy はポート 24800 を使います。

何らかの問題があってバックグラウンドでサーバーを実行したいときは、以下のコマンドを実行します:

# synergys -f

synergy のサーバープロセスはユーザーの X セッションにアタッチする必要があります。つまり、ユーザーで実行する必要があります。適当なユーザーで synergys@mary有効化してください ('mary' は使用するユーザー名に置き換えてください)。

ヒント: synergys@mary.socket を有効化することでクライアントが接続しようとしたときにサーバーを起動することができます。起動時にサービスが X サーバーに接続できないような場合に有用です。

暗号化を使う

サーバーで使用する証明書と指紋を生成するには:

$ 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

  1. Synergy プログラムを開いて下さい
  2. Server (share this computer's mouse and keyboard) オプションを選択します
  3. Configure interactively を選択
  4. Configure Server... ボタンをクリック
  5. ウィンドウが開いて、使っているコンピュータやディスプレイの数に合わせて画面を追加することができます: 右上の画面アイコンを画面エリアにドラッグして、ダブルクリックすることで設定を編集できます
  6. 設定が完了したら 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 クライアントを自動で起動する方法は複数あります。他のアプリケーションの自動起動と同じです。

ノート: 以下の例にある、server-host-name は実際のサーバーのホストネームに置き換えるようにしてください。
~/.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 ) & )
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.

参照