* 一键多屏:synergy超级工具
date:2011-12-21
======================================================================
synergy是一款开源,跨平台的,多台电脑,共享输入设备的c/s软件。
官方网站:
synergy2.sourceforge.net
Windows下的安装程序,含有gui控制程序。
ubuntu和debian有deb安装包,则就是服务端和客户端两个cli程序(synergys和synergyc)
。
为了使用方便,特地采用ubuntu作为服务端——写好配置文件以后,
synergys -f 即可运行服务端。
也可以
synergys -f --config path/to/configure_file
另,synergys默认读取的是名为~/.synergy.conf配置文件。
----------------------------------------------------------------------
另外:
1. ubuntu下,要作为客户端使用的话:“synergyc server_ip”即可。
2. 当前synergy工具所支持的操作系统,不管是客户端还是服务端,都以24800为通讯端口
。
----------------------------------------------------------------------
synergyc服务端,还是有一点令人失望的:如果,你的客户端大于等于2的情况下,想通过
共享输入设备,依次关闭这几台电脑的时候,你会发现,在关闭第一台客户机后,再不小心
回到服务端的屏幕上,你就会不能到另一个客户端的屏幕上了。
当然,重新修改配置文件,还是可以用的——剔除那个已经当掉的屏幕。
----------------------------------------------------------------------
所以,有一个自动化点的方案:
定时ping各个客户机,以确定他们在线。(当然,得保存一个工作链表),然后,当发生
ping不通——某客户机已经关机,则重建链表,并重启synergys服务。
就是说,需要动态生成synergy.conf配置文件。并“动态运行”。
----------------------------------------------------------------------
当然,由于这是个开源软件,所以修改源代码,来适应上述变化,也是可以考虑的。
----------------------------------------------------------------------
date:2011-12-21
发现,当浏览桌面或者终端程序的时候,要通过将鼠标移动到窗口边界,进行输入切换,会
失败——当使用gui程序的时候,则能顺利转换。
----------------------------------------------------------------------
** 配置键盘快捷键,进行快速屏幕切换
参考:http://guaneryu.com/blog/archives/200
配置文件中,section:options ... end 部分,可以配置自己需要的快捷键。
语法是,keystroke(...) = actions
actions可以是简单的转换输入、切换屏幕;
section: options
keystroke(control+alt+1) = switchInDirection(left)
keystroke(control+alt+2) = switchInDirection(right)
end
组合键:
keystroke(control+alt+F1)
配置文件的编写:
这里左边的是windows 做client, 右边的是linux做server
会安装在/usr/bin下。
在Linux下配置主机还是很容易,直接新建一个配置文件,如synergy_private.conf,这个文件自己存放在自己方便的目录下就可以了,运行Synergy命令时需要指定这个配置文件。
文件内容如下:
section:screens
computer1:
computer2:
end
section:links
computer1:
right=computer2
computer2:
left=computer1
end
其中这里的section:links是指定两台电脑的相对位置,我左边是computer1,右边就是我的主机linux, computer2.其中computer1和computer2都是计算机的主机名称,在windows可以看电脑-系统属性-计算机名,可以看到,linux直接命令hostname即可看到。
最后只需在Linux这台主机上输入命令:
synergys -f --config synergy_private.conf
然后在Windows上运行Synergy,以客户机的模式运行,输入主机的ip地址即可。