(1)在官网软件包,进行CentOS安装,我下载了一个1.4版本的,但是使用命令rpm -ivh synergy.rpm的时候提示libcurl.so.4依赖错误,没有找到libcurl.so,但是我find了一下,在目录/usr/lib中确实有libcurl.so.4,于是我把/usr/lib下的libcurl.so.4 copy到rpm安装包所在的目录,继续安装,但是仍然不行,提示错误:
error: Failed dependencies:
libcurl.so.4(CURL_OPENSSL_3) is needed by synergy-1.4.16-1.i386
我认为是软件包找不到libcurl.so.4,于是我又把libcurl.so.4复制到/lib下,继续安装,仍然提示上面的错误,Google了很久依然没有找到答案,我真不知道该怎么办了,于是想还是算了,跑到CentOS自带的添加/删除软件功能上安装了一个synergy 1.3.6版本的,安装的synergy的可执行文件在/usr/bin里面,使用命令ll | grep synergy就可以看到有两个文件,一个是synergyc客户端运行程序,另一个是synergys服务器端运行程序,如果想要让CentOS作为客户端,就运行/usr/bin/synergyc server-ip,如果CentOS作为服务器端,就与行/usr/bin/synergys -f --config configfile,其中-f是指在前台运行,也就是一直在命令行中显示运行,这里也可以使用--daemon选项使得该程序作为服务运行,服务就是在后台运行。关于更多命令的选项可以使用--help来查看。
(2)修改配置文件,使用/usr/bin/synergys --help命令可以看到,此软件的配置文件一般在用户的主文件夹下的.synergy.conf,即~/.synergy.conf,或者是在/etc文件夹下的synergy.conf,注意在用户主文件夹下的带有".",而在/etc文件夹下的没有".",这个估计是尊重了Linux的习惯吧,我看一般的在用户主文件夹中的配置文件都加上了".",例如.bashrc之类的,而/etc本来就是放置配置文件的地方,因此也不用加什么"."用户也知道里面都是配置文件,以上这些属于个人猜测,对不对也不知道。
访问/usr/share/doc/synergy1.3.6下示例配置文件synergy-basic.conf可以看到,在配置文件中有三部分。
第一个部分是screens,也就是前面说的screen name,随便起名,例如我起了centos:和win7:这两个名字,注意冒号。两个名字之间用换行隔开,第一个是服务端的名字,第二个是客户端的名字。内容如下:
section: screens
centos:
win7:
end
第二个部分是links,其实就是两台机器的位置关系,有上下左右四个位置。首先对于centos来说,左边是win7。而对于win7来说,右边是centos,因此,此部分内容如下:
section: links
centos:
left = win7
win7:
right = centos
end
第三部分是aliases(别名),这个别名就和第一部分的screens对上号了,我们在screen中随便起了个名字,以方便我们的记忆,但是要让synergy识别服务器端和客户端的主机名hostname,这里的别名就是要将centos对应centos的hostname,win7对应计算机名,我的配置文件的内容如下,其中centos的hostname为linux.zl,而win7的计算机名为zl-PC。在这里我想说,win7的别名也可以命名为主机的ip地址,但是centos必须是主机名,要不然会报类似这样的错误unknown screen name `linux.zl',对于这一点我也不知到为什么。
section:aliases
centos:
linux.zl
win7:
zl-PC
end
(3)启动服务器端,运行/usr/bin/synergys -f(--daemon) --config ~/.synergy.conf,然后使用ps -aux | grep synergy查看是否有此进程。若有,则启动成功,否则,失败。