1.背景
无论自己家里还是公司都有多台电脑,经常是一台上网查资料,一台在LINUX的SHELL下执行程序。有时,从网上找来一个URL或者一小段代码,要拷贝到另一台机器时,经常需要先写到文件,拷贝文件,打开文件这样的过程,觉得很不方便,于是就想要是有一个软件可以把一套键盘鼠标共享给多台电脑用就好了。
2. 基本要求是:
1 与平台无关: window,Linux,Mac最后都要支持(high)
2 可以支持与本地键盘鼠标相同的功能(high)
3 可以拷贝文本(high)
4 可以拷贝图像 (middle)
5 可以直接拷贝文件(low)
6 通讯提供加密支持(middle)
在google上找了一下,找到了synergy
3. synergy简介
它的主页是 http://synergy2.sourceforge.net/
通过网络传输键盘和鼠标的信息。
用户可以把多个显示器按自己的想像排成一个更大的虚拟的显示器,比如 显示器 X在显示器Y左边,这样当鼠标移动到显示器X的左边框时,键盘和鼠标就会自己的切换到Y显示器上。
它基本满足了1,2,3,4, 要求6,可以通过SSH的port forward 来实现。
4. 安装
windows 下载安装文件,都是GUI的界面,很简单。
debian apt-get synergy (现在这个包还在unstable里面)
fedore 直接下RPM包。
OSX, 直接下安装文件。
5. 配置
分server和client。
server电脑上的键盘和鼠标可以虚拟成连着它的client的键盘和鼠标。Client的刚不行,因此,把使用最频繁的键盘鼠标所属的那台电脑设成SERVER。
SERVER的配置
windows下都是GUI,没有什么好说的,在选成server模式,加入你有的screen名(默认需要使用机器名,其他名字要设别名)
完了后,点START,就行了。
LINUX:写一个配置文件
section: screens
desktop:
linux:
end
section: links
desktop:
right = linux
linux:
left = desktop
end
然后 synergys -f --config 配置文件
-f 的是要求程序在前台运行,这样可以看到调试信息,设置正确完成后不需要。
CLIENT的配置
Window
GUI上选上client模式,填上Server名或Server的IP地址
Linux
synergyc -f server名或server的IP地址
6. 通过SSH加密传输
这个可以阅读主页 的说明,主要是通过ssh的port forward来完成,这个需要在安装SSH的软件,以openSSH 常用。
Server端正常的启动
Client:
ssh -L 24800:localhost:24800 ServerIP地址
synergyc -f localhost
7 自动启动
windows没有什么好说的,Linux需要写X的启动文件
你可以放在你自己的xsession的启动文件里。