synergy.png

OSの異なる複数のPCを、一組のマウスとキーボードで扱えるようにするsynergyとゆうGPL(改変・再配布が自由なソフトウェアライセンス)のソフトがあって、それをUbuntuで自動起動させる設定方法について、日本語で書かれているものがなかったので、以下のフォーラムを参考にして書きます。
synergy / boot up – Ubuntu Forums

SynergyはX server の起動後に実行しないといけなくて、以下の公式ページにも自動起動の方法が書かれてるけど、この方法ではUbuntuだとうまくいかない。
Synergy Autostart Guide

ちなみに、UbuntuとはLinuxディストビューションの一つで、複雑な設定無しにすぐインストール出来る、初心者にやさしい、ありがたいLinux。

ubuntu 6.10 日本版 と Synergy 1.3.1 で動作確認しました。

UbuntuでSynergyのインストール

ターミナル (アプリケーション -> アクセサリ -> GNOME端末) でコマンドを入力( “$” は入力不要。一般ユーザであることを示す記号。)

パッケージの取得更新

$ sudo apt-get update

Synergyのインストール

$ sudo apt-get install synergy

クライアントとして自動起動

Synergyを使ってマウスとキーボードを共有する場合、サーバ(マウスやキーボードを直接接続しているPC)とクライアント(それ以外のPC)に分かれて、それぞれの設定を行います。

ログインする前 (ユーザ名とパスワードを入力する前) にSynergyを自動起動する設定

/etc/gdm/Init/Defaultを編集する

$ sudo gedit /etc/gdm/Init/Default

“sysmodmap=/etc/X11/Xmodmap”の直前に以下のコードを加える。
コード中の<address of server machine>はサーバ機のIPアドレスにする。
(例:$SYNERGYC 192.168.0.2) 

SYNERGYC=`gdmwhich synergyc`
if [ x$SYNERGYC != x ] ; then
        $SYNERGYC <address of server machine>
fi

ログイン後にSynergyを自動起動する設定

/etc/gdm/PreSession/Defaultを編集する

$ sudo gedit /etc/gdm/PreSession/Default

“XSETROOT=`gdmwhich xsetroot`”の直前に以下のコードを加える。

SYNERGYC=`gdmwhich synergyc`
if [ x$SYNERGYC != x ] ; then
        $SYNERGYC <address of server machine>
fi

サーバとして自動起動

サーバとして起動する場合は設定ファイルを作らなければならない。サーバ設定の仕方は後述の[参考・参照]のリンク集をご覧になってください。
自動起動の設定を記述するファイルはクライアントの場合と一緒。

/etc/synergyディレクトリをつくる

$ sudo mkdir /etc/synergy

サーバ設定ファイルsynergy.confを編集。

sudo gedit /etc/synergy/synergy.conf

ログインする前にSynergyを自動起動する設定

/etc/gdm/Init/Defaultを編集する

$ sudo gedit /etc/gdm/Init/Default

“sysmodmap=/etc/X11/Xmodmap”の直前に以下のコードを加える。

SYNERGYS=`gdmwhich synergys`
if [ x$SYNERGYS != x ] ; then
        $SYNERGYS --config /etc/synergy/synergy.conf
fi

ログイン後にSynergyを自動起動する設定

/etc/gdm/PreSession/Defaultを編集する

$ sudo gedit /etc/gdm/PreSession/Default

“XSETROOT=`gdmwhich xsetroot`”の直前に以下のコードを加える。

SYNERGYS=`gdmwhich synergys`
if [ x$SYNERGYS != x ] ; then
        $SYNERGYS --config /etc/synergy/synergy.conf
fi

間違いがあったので修正しました。([/dec]は無用)

Ubuntu 9.10 では、/etc/gdm/PreSession/Default の書式が大幅に変更されていました。最終行にコード追加することで、ログイン後にSynergyを自動起動する事が出来ましたが、不具合が発生するかもしれません。

上記の /etc/gdm/PreSession/Default に記述する方法では、自動起動出来ません。すみません、検証ミスのようです、わからないのに適当に設定するのは極力さけるべきだった。GUI からでも設定可能なので、以下の方法に訂正します。

[システム] -> [設定] -> [自動起動するアプリ] で [追加] します。
[名前] は適当に synergy などとし、
[コマンド] に、クライアントなら

synergyc <address of server machine>

サーバなら

synergys --config /etc/synergy/synergy.conf

と設定。
再起動や、再ログインを行うと synergy が自動起動されています。

参照: Synergy クライアントの自動起動::SUNISLAND BLOG

参考・参照

synergyの使い方などは以下を参考に。
1組のマウスとキーボードを複数のPCで共有するには(サーバ編) - @IT

1組のマウスとキーボードを複数のPCで共有するには - @IT

Synergy公式サイトの和訳
Guide to Running Synerg

日本語キーボードに対応させる。
Synergy – 斜に

UbuntuサイトのSynergy設定方法
SynergyHowto – Community Ubuntu Documentation


Comments

ubuntu 9.04でやってみたらgdmでエラーが発生してログインできませんでした。

1
2009/04/24 16:50 by bharata

ありがとうございます。
んー。9.04じゃダメですか。
9.04をインストールした時に色々と試行錯誤してみます

2
2009/04/24 23:16 by rui_mashita

9.04で上記「サーバとして自動起動」通りの設定でも、エラー発生しませんでしたよ。
bharata 方は、どうなったかなぁ?

3
2009/07/24 14:25 by rui_mashita

いつも参考にさせて頂いてます。
今回、9.10にアップグレードして、残念ながらこれまで重宝してましたSynergyがうまく行かなくなりました。
自動起動が出来なくなったのです。
Ubuntu9.10の自動ログイン後、手動でSynergyを起動してます。
貴殿の〜追記〜の様にしてみたが、うまく行きません。
ほか、どの様な事が考えられますでしょうか。
どうぞ宜しくお願い申し上げます。

4
2009/11/11 09:12 by yuu

お知らせありがとうございます。助かります。

ちょうど、昨日、synergy 使おうとしたら動かなかったところ。どうやら自動起動してないのかな、と思ってました。
もしかしたら、検証の仕方がまずかったのかもしれません。ご迷惑おかけしました。

他サイトを参照し、GUIで設定する方法で、新たに記事を追記しましたよ。既に解決されてるかもしれませんが、そうでなければ参考にしてください。

5
2009/11/11 14:58 by rui_mashita

早速の回答ありがとうございました。
うまく自動起動できました。
コマンドの書き方が分かりませんでした。
結果的には9.10から楽になりましたね。

本当にお世話になりました。今後ともどうぞ宜しくお願い致します。

6
2009/11/12 10:27 by ynjp