>>Synergy

Synergy (SPARC/X86)

 Synergyは複数のPC/WSマシン間でキーボード・マウスを共有するプログラム。
 一組のキーボードとマウスで SolarisとWindowsを使用することが出来る様になる。WindowsXP/Vista/Solaris/Linux等の異なるOS間でも使用可能。


 複数のマシンを同時に使用したい場合、UNIX系のOS同士なら Xサーバ+SSHで使うことが可能だが、相手がWindowsの場合(SolarisからWindowsを使用する場合)は仮想ソフトを使うか、あるいは リモートデスクトップを使用するかのいずれかを選択することになる。
 仮想ソフトあるいはリモートデスクトップは動作が遅かったり、実用的にはまだ十分な性能でないものも多い。

 しかしSynergyを使用すればリアルなOS環境下で SolarisとWindowsの同時使用が可能になる。

 下記はそのイメージ図。

 使用するディスプレイが2系統入力が可能なら、Synergyを用いることにより、片方をSolarisもう一方をWindowsに接続して一組のキーボードとマウスを共有し、切り替えて使用することが出来る。

 また2系統入力でないディスプレイでも2つディスプレイを並べて置けるならマルチディスプレイの様にマウス移動だけでSolarisとWindowsを切り替えて同時に使用することも可能。






構成 (SPARC/X86)

  以下はSynergyの接続構成図。

 ここではSolarisをメインに使用する為、キーボード・マウスはSun SPARCマシンのものを使用(server)。Windowsをコントロール下にする(client)。

 通信経路のセキュリティを確保するにはSSHを使用する。
 
 キーボードのタイピングを暗号化するのにSolarisで稼働させているOpenSSHを使用。
Windows側のSSHターミナルには Putty(ターミナル)を使用。PuttyにはSSHポートフォワード機能がある為、容易にSSH経路で接続可能。



[備考]
 Windowsをメインにする場合は、左図のSSHの経路は同じで、SynergyのServerとClientを逆にすれば同様の結果が得られる。ま た、Windows側に Cygwin/SSHやOpenSSH for Windowsなどを使用して構成を逆にすることも可能だが試していない。

[注]
Synergyの標準ポートは 24800
SSHの標準ポートは22

 ポートフォワード機能で使用する為、IP Filterによるパーソナルファイヤーウォールは Port 22(SSH)のみ通過する設定で良い。24800(Synergy)の通過設定は不要。



 

インストール (SPARC/X86)

 Synergyをインストールする前に SolarisのOpenSSHとWindowsのPuttyの間で通信設定が終わっていることを前提とする。

参考:
 OpenSSH   Putty + Xming(Xサーバ)

注意:
 Solaris OpenSSHの設定で sshd_config設定ファイルの
"AllowTcpForwarding" の値が "yes"で設定されて起動されている必要がある。
   
各モジュールの入手先

   バイナリでの入手先
   Windows用日本語パッチ: http://wiki.nothing.sh/page/memo/Synergy
   Solaris用 Synergy : http://sunfreeware.com/

   配布元およびソース
   Synergy配布(ソース):  http://synergy2.sourceforge.net
   http://sourceforge.net/project/showfiles.php?group_id=59275&package_id=58013
  
  Putty配布: http://wiki.nothing.sh/page/memo/Synergy
  Putty日本語: http://hp.vector.co.jp/authors/VA024651/download.html

 Windows版の SynergyおよびPuttyはインストーラが付属している(あるいはzipファイルの展開のみ)。
  Solaris版の Synergyは sunパッケージになっている為、通常通りのpkgaddコマンドを使用してインストールする。 





Synergyサーバ(Solaris) (SPARC/X86)

 キーボードとマウスが接続されているマシン側がSynergyサーバーとなる。ここではSolarisを想定している。

 またSolarisマシンで OpenSSHサーバが起動していることと、パーソナルファイヤーウォールはPort22(SSH)が通過出来る設定であることが前提とする。
 
 Synergyサーバは以下のコマンドで起動させる。

コマンド形式:
   synergys [-f] {-c 設定ファイル名}

     -f: フォアグランド実行(省略時はバックグランド実行)
     -c {設定ファイル名}:  設定ファイルの指定

 下記は設定ファイルの書式。
  接続方法を記述したファイルを作成する(ファイル名は任意)。


設定ファイルの書式:
  (詳細: http://synergy2.sourceforge.net/configuration.html)
セッション

screens スクリーンの定義を行うセッション
書式:
   {screen}:
      {option=value} (...改行で複数option指定可)
意味:
   screen: 定義したスクリーン名
   option: スクリーンに対するオプション指定
option(抜粋)

switchCorners = {*pos}
screen画面のコーナー(画面隅)指定
マウスがコーナーに達すると切り替えられる。
{*pos}:
   none,top-left,top-right,bottom-left,
   bottom-right,left,right,top,bottom,all
switchCornerSize = {pix値} screen画面のコーナー(画面隅)の検知サイズ
コーナーからの検知するサイズ指定。

links スクリーンの配置を定義するセッション
書式:
   {screen(1)}:
      {position}={screen(2)}
意味:
   screen: 定義したスクリーン名
   position: left,right,top,bottom,up(n,n),down(n,n) のいずれか
position(抜粋)

left
screen(1)はscreen(2)の左側に配置
right
screen(1)はscreen(2)の右側に配置
top
screen(1)はscreen(2)の上側に配置
bottom
screen(1)はscreen(2)の下側に配置

aliases スクリーン名の定義とマシン指定を行うセッション
書式:
   {screen}:
       {マシン名 or IPアドレス}
options Synergyに対するオプション指定を行うセッション
書式:
   {option=value} (...改行で複数option指定可)
option(抜粋)

heartbeat = {n} {n}ミリ秒間隔でクライアントとの接続チェック。
switchDelay = {n} {n}ミリ秒の切り替え保留時間。



以下は設定ファイルの例。
下記例では
   Windowsマシン名 AcerPower(client)、
   Solarisマシン名 SunBlade2(server)
の2台を切り替える様に設定。
(2系統入力ディスプレイが1台でSolarisをWindowsを切り替えて使用する場合)

 画面端でのマウス移動による切り替えは不可、
  切り替えはキーボードより CTRL+8 で Windows(AcerPower)に、CTRL+9でSolaris(SunBlade2)

に切り替える様に設定している。

section: screens
        AcerPower:
                switchCorners = none
                switchCornerSize = 0
        SunBlade2:
                switchCorners = none
                switchCornerSize = 0
end
section: links
        AcerPower:
                right = SunBlade2
        SunBlade2:
                left = AcerPower
end
section: aliases
        AcerPower:
                192.168.0.112
        SunBlade2:
                192.168.0.116
end
section: options
        keystroke(Control+8) = switchToScreen(AcerPower)
        keystroke(Control+9) = switchToScreen(SunBlade2)
        heartbeat = 5000
        switchDelay = 500
end 

Synergyテスト起動
設定等でテストで起動する場合、フォアグランドで実行する。
# synergys -f -c AcerPower.sgc

バックグランド起動
設定およびクライアント接続が終了した場合は、バックグランドで実行を行う。
# synergys -c AcerPower.sgc
(*) 停止は killコマンド


【スクリプト例】

  Synergy Serverの起動する為のスクリプトを作成。

Synergyサーバー起動スクリプト
synergysrv.sh
[スクリプト]
  Usage: synergysrv [options] {clientマシン名}

  [options] 
     -help         Helpメッセージ

     -background   バックグランド実行
     -stop         synergysを停止
     -check        動作をチェック
     -status       (同上)
[環境変数]
    CONF_PATH=$HOME/.synergy  ...設定ファイルの検索パス位置
[設定ファイル]
    設定ファイルは {クライアントマシン名}.sgc という名前で環境変数 $
CONF_PATHで指定したディレクトリ下に作成する。


   



Synergyクライアント(Windowsの場合)  

 Windows側をクライアントとして起動する。
 Puttyを使用してWindows側からSSHのポートフォワードのトンネルを掘りその後 Synergyをクライアントで起動する。

【SSHポートポートフォワード接続】

 Puttyを使ったSSHポートフォワード接続は、基本的に通常のSSHでのログインと変わらない。
 異なる設定は以下の2点。
  • Shellを起動しない(下左図)
  • ローカル(IP:127.0.0.1)の24800ポートとSSHサーバ(下記例ではIP:192.168.0.106)の24800ポートをSSH(ポート22)経由でトンネルさせる(下図右)


【Synergyクライアントの起動】

 まず、サーバ側(Solaris側 synergys)を起動しておく。

 上記でPuttyで24800ポートがローカルの24800にポートフォワード(トンネル)されているため、「サーバのホスト名」にはローカルIP(127.0.0.1)の値を入力してスタートする。



以上で正常ならキーボードおよびマウスが共有される。




[備考]
アイコンショートカットまたはバッチファイル時の指定
起動バッチファイルの作成
Windowsのバッチファイルはあまり詳しくないので良く解らないが、とりあえず以下の様にすればアイコンを作成して起動出来る。
(注意: Program File → Progra~1 にする?)

ファイル: synergy_ssh.vbs
下記の例では Putty の設定保存名を Synergy_SSH としている。

CreateObject( "WScript.Shell").Run "C:\Progra~1\putty\putty.exe -load Synergy_SSH",,False
CreateObject( "WScript.Shell").Run "C:\Progra~1\Synergy\synergyc.exe -f 127.0.0.1",,False

 上記は簡単なスクリプト例だが、PythonやPerl等を駆使すればもう少しマシな起動スクリプトが作れると思う。
  (Windowsのバッチファイル作成は苦手なので...)



inserted by FC2 system