今下午刚拿到一款台式机,在实验室用的,屏幕19寸的比我的笔记本大多了(好象是废话),但是我的工作空间有限,带上笔记本键盘、鼠标明显有点放不下了,只好让两台电脑间共享键盘和鼠标了,使用synergy发现效果不错!
先简单介绍下synergy:Synergy允许您轻松地在多台计算机之间分享你的一套鼠标和键盘,并且它是自由和开放源码的。 只要你的鼠标移出一台计算机的屏幕边缘就会到达另一个,你甚至可以分享您的剪贴板。
前提:所连接的计算机必须处于一个局域网内。
(吐嘈一下,这个项目的中文主页估计是拿谷歌翻译的吧,有兴趣可以看看翻译的有多糟糕)
Synergy是跨平台的,在Windows,Mac OS X和Linux上都可完美运行。
废话少说,言归正传:谈谈两台linux间的鼠标与键盘共享,win下的只会比这个操作“傻瓜”,就不说了。
首先看下我的主机与从机:
主机(archlinux):
uname -ar
Linux turing-nb 3.2.12-1-ARCH #1 SMP PREEMPT Mon Mar 19 17:48:35 UTC 2012 i686 Intel(R) Core(TM)2 Duo CPU T6600 @ 2.20GHz GenuineIntel GNU/Linux
从机(ubuntu 10.04 64bits):
uname -ar
Linux turing-desktop 2.6.32-40-generic #87-Ubuntu SMP Tue Mar 6 00:56:56 UTC 2012 x86_64 GNU/Linux
由上看到:
主机的计算机名是:turing-nb
从机的计算机名是:turing-desktop
接下来分别在主、从机上安装synergy:
主机:qsynergy是synergy的Qt GUI.
sudo pacman -S synergy qsynergy
从机:
sudo apt-get install synergy
安装成功后,查看下IP:
主机:
ifconfig wlan0 |grep inet
inet 192.168.1.120 netmask 255.255.0.0 broadcast 192.168.255.255
inet6 2002:dbf5:4401:5:21e:65ff:feab:8d60 prefixlen 64 scopeid 0x0
inet6 fec0::5:21e:65ff:feab:8d60 prefixlen 64 scopeid 0x40
inet6 fe80::21e:65ff:feab:8d60 prefixlen 64 scopeid 0x20
解释一下:主机无线连接的路由器A,路由器上层连接的交换机B。
从机:
ifconfig eth0|grep inet
inet 地址:192.168.2.138 广播:192.168.255.255 掩码:255.255.0.0
inet6 地址: 2002:dbf5:4401:5:16da:e9ff:fee0:3aca/64 Scope:Global
inet6 地址: fec0::5:16da:e9ff:fee0:3aca/64 Scope:Site
inet6 地址: fe80::16da:e9ff:fee0:3aca/64 Scope:Link
从机是有线连接的路由器A,仅仅使用了路由器A的交换机功能。
下面好戏开始了:
在主机上打开qsynergy;如图:
按照以上配置就可以了,点击start
在从机中输入:synergyc 主机IP
好了,试着移动下你的鼠标到主机屏幕边缘,或者在从机内放置鼠标焦点后,使用键盘快捷键,效果即显!
以上全是表面的设置,其实可以看下synergy的配置文件,在qsynergy的File中选择“save configuration as …”会形成当前使用的synergy的配置文件。
section: screens
#每一段的开头首先是计算机名,如下首先是主机名turing-nb
turing-nb:
halfDuplexCapsLock = false
halfDuplexNumLock = false
halfDuplexScrollLock = false
xtestIsXineramaUnaware = false
switchCorners = none
switchCornerSize = 0
#接着是从机名 turing-desktop,下面的是设置项涉及鼠标滚轮是否可用来唤醒,包括鼠标移动的死区
turing-desktop:
halfDuplexCapsLock = false
halfDuplexNumLock = false
halfDuplexScrollLock = false
xtestIsXineramaUnaware = false
switchCorners = none
switchCornerSize = 0
end
section: aliases
end
#这是用来处理相对位置关系的,synergy可连接多台电脑
section: links
#下面表示在我的主机屏幕的右边是从机
turing-nb:
right = turing-desktop
#同理在我的从机屏幕左边是主机,当有多台计算机时,可以继续写下去
turing-desktop:
left = turing-nb
end
#下面对应于高级配置
section: options
relativeMouseMoves = false
screenSaverSync = true
win32KeepForeground = false
switchCorners = none
switchCornerSize = 0
end
上面的高级配置可在Qsynergy中的Configuren Server中看到更多选项。
若想进一步了解synergy,使用synergyc –help或者synergys –help会看到更多设置选项。