使用Synergy共享你的鼠标和键盘

公司为每个软件开发人员配置了两部计算机,一部台式机安装Linux操作系统,一部笔记本安装Windows XP。开发编程主要在Linux下,处理文档和邮件则在Windows下。

工作经常需要在两台电脑间切换,一般情况下,Easwy都是把椅子移来移去来切换,或者是使用远程桌面来从一台计算机上访问另外一台计算机,由Windows访问Linux远程桌面可以使用cygwin X server,由Linux访问Windows远程桌面可以用rdesktop。但这两种方式都不太方便,移动椅子就不说了,用远程桌面只能使用一个屏幕来做显示,不能充分利用两个屏幕。

有时需要在两台电脑间交换数据,文件共享一般使用Samba,在Windows上访问Linux的Samba服务器,或者从Linux上通过Samba访问Windows的共享目录。而少量数据的共享,例如剪切板中数据的共享则比较麻烦。

前几天同事介绍了一个很好的软件Synergy,使用这个软件,可以在多台计算机间共享一个鼠标/键盘,每台计算机都可以有自己的屏幕,可以安装相同或不同的操作系统。

Easwy马上试用了一下这个软件,立刻就喜欢上了。安装完后,Easwy把Linux台式机设置为Synergy Server,Windows XP笔记本设置为Synergy Client(因为我大多数时间在Linux下工作)。设置好后,笔记本好像变成台式机的扩展屏幕了,鼠标移出台式机的窗口右边界后,就会移入笔记本的屏幕中,而此时台式机的键盘输入就直接输入到笔记本中了。同时,两台计算机间可以共享剪切板中的数据了。在Windows上拷贝一块数据到剪切板中,鼠标移回Linux,一按中键,就粘贴在vim中了,反之亦然,非常方便。

Synergy的安装配置都很简单,首先到http://sourceforge.net/project/showfiles.php?group_id=59275&release_id=406637下载synergy,根据你操作系统的类型下载Linux或Windows的版本,下载后直接安装。

安装后需要在每台主机上运行synergy,并做相应的配置。Window上的synergy提供了图形化配置界面,Easwy配置成”Use another computer’s shared keyboard and mouse(client)”,并填入共享键盘/鼠标计算机的主机名。

Linux下需要写一个简单的配置文件,Easwy的配置文件如下:

section: screens
    szx-w-easwyy.easwy.com:
    szx-n-easwyy:
end
section: links
    szx-w-easwyy.easwy.com:
        right = szx-n-easwyy
    szx-n-easwyy:
        left = szx-w-easwyy.easwy.com
end 

把这个文件存为/etc/synergy.conf,然后在命令行下执行:

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

这样就在前台启动了synergy服务器,之所以在前台启动是为了方便查看调试输出信息。接下来就可以测试一下效果。如果都没问题,按CTRL-C终止前台的synergy,然后把上面命令中的-f参数去掉,在后台启动synergy。你可以把启动synergy加到你的启动脚本里,例如/etc/rc.local

简单介绍一下上面的配置文件:

  • screens一节列出你打算共享同一个键盘/鼠标的主机名,需要注意的是这里的主机名必须和你计算机上hostname命令的输出一致,不然synergy就会提示找不到对应的主机。
  • links一节则列出各主机间的位置关系,上面的配置指明了Linux台式机的右边是笔记本,而笔记本的左边是台式机。这样,鼠标移出台式机屏幕的右边界就会移入笔记本屏幕,而移出笔记本屏幕的左边界后就会移回台式机屏幕了。

如果你需要特殊的配置,或者遇到了什么问题,请参见Synergy的主页。

2010/01/19更新

网友Stephenjy留言说,Synergy从2006年以来就没有更新过了,有人在Google Code上建立了新的Synergy+项目来继续维护。所以,如果你想试用,请直接下载Synergy+,网址是http://code.google.com/p/synergy-plus/。Easwy看了一下Synergy+的说明,基本是对Synergy的Bug修正,配置方法和Synergy完全一致。使用Easwy上面给出的配置,可以正常运行Synergy+。

2010/01/25更新

在CentOS 5.3上,synergy+ 1.3.4工作有问题。如果以CentOS 5.3做为server,每当把鼠标移入客户端,然后准备输入时,server端就会没有响应。只能从客户端ssh到CentOS服务器来kill掉到Synergy+ Server,CentOS上的键盘/鼠标才能恢复使用。我已经报告了此问题: Issue 342: synergy+ server is not responding,但暂时还未解决。

更多内容,请阅读Easwy的博客上的其它文章。

[ 参考文档 ]

“使用Synergy共享你的鼠标和键盘”的5个回复

  1. 这个自06年以来已经没有更新过了,这里有个新的项目维护了:

    http://code.google.com/p/synergy-plus/
    See what we’ve fixed so far! Synergy+ is a maintenance fork for implementing bug fixes to the original Synergy by Chris Schoeneman, which hasn’t any source updates or new releases since 2006 (as of writing this).

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注