Linuxがサーバ、MacがクライアントでSynergyを使うメモ

synergy

Linuxの方はv1.3.1ならディストリのパッケージでもソースからビルドしたのでもOK。

Macの方はIntelMacでbus errorで落ちるので、パッチ当てて自分でビルドしたのを使う。

起動方法は、Linuxは~/.xinitrcで、

killall synergys
synergys -n goa -c ~/.synergy.conf --restart

Macは、

に書いてある方法がめんどくさそうだったんでここ

を参考にしてAppleScriptを作って起動項目に登録。

synergysなサーバになるLinuxの~/.synergy.confはこれ。

section: screens
  goa:
  bagel:
end

section: links
  goa:
    left  = bagel
  bagel:
    right = goa
end

section: options
  heartbeat = 5000
  keystroke(F11) = switchToScreen(bagel)
  keystroke(F12) = switchToScreen(goa)
end

左にMacで名前がbagel、右にLinuxで名前がgoa。あと、F11とF12で移動するようにしてます。

optionキーとcommandキー

使ってるキーボードはHappy Hacking Keyboard (HHK)。このキーボードにはAltキーと◇キーがある。

Linuxでは、Altキーは使わなくてもいい、◇キーはmetaキーとして使いたい。
Macでは、Altキーはoptionキーとして、◇キーはリンゴマークのコマンドキーとして使いたい。

どうも、Superキー(Windowsキー?)ならばsynergy経由でMac側ではoptionキーとして認識されるようなので、AltキーをSuperキーに割り当て変更する。

割り当て変更は、xorg.confでXkbDisableにしてるんで、~/.Xmodemapでやる。keycodeはxevで確認できる。

clear Lock
clear Mod1
clear Mod4

keycode 64  = Super_L
keycode 131 = Alt_L
keycode 129 = Alt_R
keycode 113 = Super_R

add Mod1 = Alt_L Alt_R Meta_L Meta_R
add Mod4 = Super_L Super_R

Linux側ターミナルでのmetaキー

これで、Mac側ではoptionキー, コマンドキーに、XなEmacsではSuperキーとMetaキーが使えるようになった。
が、ターミナル(の中のシェルやemacs -nw)では◇キーおしてもMetaにならない。
mltermを使ってるので、~/.mlterm/mainに、

mod_meta_key=alt

と書いて解決。