UbuntuでSynergyを自動起動する

UbuntuでSynergyを自動起動する

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”の直前に以下のコードを加える。
コード中の

はサーバ機のIPアドレスにする。
(例:$SYNERGYC 192.168.0.2) 
SYNERGYC=gdmwhich synergyc
if [x$SYNERGYC != x] ; then
        $SYNERGYC 
fi

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

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

$ sudo gedit /etc/gdm/PreSession/Default

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

SYNERGYC=gdmwhich synergyc
if [x$SYNERGYC != x] ; then
        $SYNERGYC 
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

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

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

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

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

synergyc 

サーバなら

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