工作时使用多台计算机的话,如果要为它们都接上鼠标、键盘可能是一件麻烦的事情:占用很多位置,而且没必要。本文介绍了如何使用Synergy程序在两台Ubuntu计算机之间共享鼠标和键盘的方法。通过此方法,你可以在鼠标移动到一个屏幕的边缘之后,自动“跳入”另一个屏幕中,并且鼠标定位在哪个屏幕中,键盘就可以在哪个屏幕中进行文字输入。
『1』安装
两台Ubuntu均需要安装:
sudo apt-get install synergy sudo apt-get install quicksynergy
但是要注意,如果两台Ubuntu的OS版本不同,那么可能这样装上去的Synergy,在两台机器上也是不同的版本,这可能会导致它们之间由于通信协议版本不兼容导致不能用。因此,为了保险起见,可以到Synergy的官方网站上去下载deb安装包来安装:
sudo dpkg -i xxx.deb
这样就可以保证两台Ubuntu上的Synergy版本一致。
『2』配置server
两台Ubuntu上的Synergy程序要通信,就有server和client的概念。我选择了性能较强的台式机来当server,性能较弱的笔记本来当client。
在server上,你的用户的home目录下,编辑文件 .synergy.conf(一开始是不存在的,创建),填入如下内容:
section: screens desktop-server: notebook-client: end section: links notebook-client: right = desktop-server desktop-server: left = notebook-client end
其中,“desktop-server”是在我的台式机(server)上,用hostname命令获取到的机器名,“notebook-client”是在我的笔记本(client)上,用hostname命令获取到的机器名。你要根据自己的情况获取到相应的名字并像上面一样填到 .synergy.conf 文件里。
在上面的配置中,“right = desktop-server”表示我的笔记本(client)屏幕的右边是我的台式机(server)的屏幕;同理,“left = notebook-client”表示我的台式机(server)的屏幕左边是我的笔记本(client)屏幕。这样设置是由我的两台计算机的屏幕摆放位置决定的。这样设置可以保证我的鼠标在移动到台式机屏幕的左边缘之后,自动“跳入”笔记本的屏幕中。你需要根据自己的屏幕摆放位置来做相应的修改。
文章来源:http://www.codelast.com/
配置好之后,在server上执行如下命令来启动server端的程序:
synergys
『3』配置client
在client上无需填写 .synergy.conf 文件,只需要运行 QuickSynergy 程序进行设置,如下图所示:
其中,192.168.1.65是server的地址,“notebook-client”是在client上用hostname命令取到的主机名。
设置好之后点击“Execute”就可以启动客户端了。启动之后,鼠标、键盘就可以共享了。
文章来源:http://www.codelast.com/
注意,如果在第『1』步中,你是通过deb包的方式来安装的Synergy,那么这里就没有quicksynergy程序,此时,在client端启动程序,只需简单地输入“synergy”命令,会弹出一个比上图稍微复杂一点的对话框,但里面的设置也是比较容易看懂的,这里就不粘上来了。
『4』client连接不上server的问题
如果你确保设置正确了,却无法让client连接上server,可以看一下server端的系统日志:
tail -f /var/log/syslog
如果里面有类似于下面这样的错误提示:
NOTE: new client disconnected#012#011/build/buildd/synergy-1.3.8/src/lib/server/CClientProxyUnknown.cpp,282
那么有可能是client端与server端的软件版本不匹配造成的。
例如,我在发生连接问题的两台Ubuntu计算机上分别用如下命令查看Synergy的版本:
synergys --version
结果,server的版本是1.3.8,而client的版本是1.4.10。
这就有问题了,因为不同的版本使用的协议可能是不兼容的,所以client无法与server通信,因此连不上server。所以,你可以到Synergy的官方网站上下载版本相同的client和server的安装包来用,就会发现问题解决了。
文章来源:http://www.codelast.com/
另外,如果client启用了SSL加密功能,而server端启动的时候没有启用SSL,也会造成client连接不上server,在client端的错误日志中会看到和SSL相关的错误信息(例如含有关键字SSL23_GET_SERVER_HELLO之类的)。
此时,你需要kill掉server端的服务程序synergys,然后启用SSL来启动服务:
synergys --enable-crypto
然后client端重新连接就OK了。
文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤
转载需注明出处:codelast.com
感谢关注我的微信公众号(微信扫一扫):
很感谢你的博客,版本不同的确会存在连接问题。