Synergy使用一套键盘鼠标控制多台计算机

作为安全管理员,我们经常需要安装不同的操作系统平台,有时仅仅是为了使用某些特殊的软件或工具。例如UNIX提供了一些Windows没有的优秀的安全工具,而Windows主机上广泛应用的商业软件如Microsoft Office则无法在UNIX上运行。这时就会出现这种需求:在同一个平台上运行不同平台上的软件,有许多解决方案可以满足这个需求。例如,模拟软件如Cygwin(可以在Windows环境下运行特定的Linux应用),或虚拟机软件(Virtual Machine,VM),如VMware Server或Microsoft Virtual Server,它们可以在一台物理主机上建立起多台不同的虚拟计算机。不过有时候,我们需要高效率、兼容性,或者在不同的物理主机上运行多个平台以达到冗余的目的。这种情况下,有一款非常有用的工具可以帮助我们使用一套键盘鼠标来控制多台计算机,它就是Synergy。

Synergy的工作原理
传统的KVM开关需要一个键击或物理开关的激活,才能在不同的计算机间切换键盘鼠标输入和视频输出。Synergy工具在概念上是类似的,它可以在两台或多台计算机系统及显示器间共享一套键盘和鼠标。不过,使用Synergy需要将每台计算机都连接到各自的显示器上。这样你就可以将Windows手提电脑放在Linux或Macintosh(或其它Windows)主机连接的显示器旁边,启动Synergy工具,然后就可以通过一套键盘鼠标来控制两个系统了。你只需要将鼠标从一个显示器拖动到另外一个显示器上,你的键盘也会自动切换到相应的计算机上。这种设置对于安全管理员来说是非常高效的,可能你在控制UNIX系统时,还需要留意另一台Windows系统上的Outlook或执行Windows管理任务。
Synergy是一个客户端/服务器工具,它的工作原理基本上是这样的:你使用的键盘鼠标所在的计算机作为主计算机,即服务器。Synergy通过TCP/IP网络将键盘/鼠标命令从主计算机发送到从计算机上,即客户端。
Synergy在捕获键盘和鼠标输入方面处理得非常出色——有时你甚至会忘记自己在使用不同的平台。服务器和客户端上的剪贴板都可以互相共享,甚至在不同平台间都能共享。例如,你可以从Mac机器的Safari中复制文本,将它粘贴到Windows系统的Outlook邮件信息中。现在我们开始介绍整个过程,包括如何下载,在客户端和服务器上安装Synergy,修改配置文件,以及启动服务。

安装Synergy
http://synergy2.sourceforge.net下载Synergy。最新版本为1.3.1,可以在以下操作系统上运行:Windows 95以上、Mac OS X 10.2以上、大多数运行了X Window 11 revision 4以上版本的UNIX。将最新版本的Synergy解压到所有需要控制的系统上。在Windows平台上,运行SynergyInstaller-1.3.1.exe程序进行安装。在UNIX系统上,你需要在解压后的Synergy包中修改一个配置文件。尽管Synergy作为客户端/服务器应用运行,实际上需要在每台计算机上都安装同一个安装包。物理上连接了键盘鼠标的计算机将作为服务器运行,所有其它系统都是客户端。Synergy将服务器和客户端计算机称为“屏幕”。下一步,我们要在这些屏幕间定义物理关系。

配置Windows服务器
在每台需要控制的机器上都安装了Synergy之后,你需要对它进行配置。首先我会描述如何配置Windows服务器屏幕上的Synergy,然后会介绍UNIX服务器屏幕,最后再介绍客户端屏幕的配置。
在基于Windows的服务器上,点击“开始”/“所有程序”/“Synergy”,启动Synergy程序。点击“Share this computer’s keyboard and mouse(Server)”。下一步,在“Screens & Links”对话框中,点击“Configure”,将所有需要共享的计算机或屏幕加入。最少必须使用两台屏幕——服务器和客户端——不过如果你有多台计算机,仍然可以将它们添加为客户端。点击加号(+)按钮,在“Screen Name”文本框中输入作为服务器的计算机主机名。然后再点击+按钮,输入你想共享键盘鼠标的计算机主机名——该计算机将作为客户端。你还可以输入计算机的别名;例如,你可以输入NetBIOS名称作为Screen Name,然后将计算机的FQDN(Fully Qualified Domain Name,正式域名),甚至是IP地址作为别名。
下一步,为这些计算机指定物理关系或链接。链接配置栏可能一开始会让人比较疑惑。想想计算机的显示器是如何放置的,而不是从你面向计算机的方向去考虑。如果服务器计算机在物理位置上是放在客户端的右边,你要按以下的配置进行设置:
0 to 100% of the left of 
serverMachine goes to
0 to 100% of clientMachine
然后点击Links+添加链接。这一配置的效果是如果你在服务器的屏幕上左边缘的任何部分(0%-100%)拖动鼠标,Synergy会将键盘和鼠标控制传输到客户端计算机上。
另外有一点很重要,就是定义一个反向作用的链接,将键盘和鼠标控制返回服务器。输入以下设置:
0 to 100% of the right of 
clientMachine goes to
0 to 100% of serverMachine
然后点击Links+添加该反向链接。
在Links下,你应该可以看到以下类似字样:“<serverMachine> is left of <clientMachine> and <client-Machine> is right of <serverMachine>”。点击“OK”。通常这种最小配置已经足够了,但如果你还需要使用某些特殊按键如Caps Lock、Num Lock以及Scroll Lock,在这个对话框中也可以修改它们的行为配置(当我在使用Windows和Mac OS X计算机时,还没有遇到过使用这些键的问题)。
此外,点击“Options”按钮,你还可以配置程序的其它设置,例如在切换到其它屏幕前是否需要等待一小段时间等。Synergy使用TCP端口24800在客户端和服务器端间传输按键和鼠标移动的信息,所以注意要在防火墙上允许这种网络通信。点击“Advanced”按钮,可以修改端口号以及Synergy侦听的接口——例如,你的笔记本既有无线网卡,又有LAN网卡,而你希望Synergy只侦听其中的一个。
所有配置都完成后,点击“Test”按钮。你可以看到Synergy会提示你测试已经开始。

在UNIX计算机上配置服务器
从原理上说,在UNIX和Mac计算机上配置Synergy服务器与Windows上是类似的。本质上都是修改一个文本文件。在Synergy解压后的文件夹中,编辑synergy.conf文件,它包含了所有主从屏幕配置的选项。
图1显示的是一个最简单的配置文件,它的配置与上一节中讨论的是一样的。第一部分名称是“section:screens”,列出了所有以主机名表示的计算机。第二部分名称是“section:links”,定义了这些screen的设置,例如它们之间的位置关系。ServerMachine和clientMachine代表的是两台共享键盘和鼠标的计算机。第三部分名称是“section:aliases”,定义了计算机的别名。可以根据实际环境的情况为服务器或客户端配置别名。

图1:UNIX或Mac计算机上的Synergy配置文件

配置好synergy.conf文件后,在命令行中输入以下命令:
synergys -f --config synergy.conf 
该命令可以在服务器上启动Synergy程序。-f参数意思是让程序在前台运行。当你完成这些配置后,省略-f参数,程序就可以在后台运行。

配置客户端
下一步,配置所有客户端屏幕。在Windows计算机上,启动与之前的服务器配置描述中相同的Synergy程序,不过不是将计算机指定为服务器,而是点击“Use another Computer’s shared keyboard and mouse(client)”,如图2所示。在UNIX或Mac计算机上,在命令行中输入以下命令:
synergyc -f <serverMachine>
客户端就会连接到服务器。如果出现任何警告,服务器和客户端的Synergy状态屏中都可以看到。一种会导致错误的情况是,主机名不正确或不恰当。要修复这个问题,你可能需要将FQDN或IP地址作为别名,以帮助Synergy寻找计算机。

图2:选择远程访问服务

如果成功,你可以看到一个已连接的状态信息。在Windows中,Synergy会用图标来显示已连接的状态。
以-f参数来运行是很有用的。在这个测试模式中,Synergy会显示状态和日志信息,它们可以帮助排除任何连接的问题。如果系统没有连接上,检查主机上是否有防火墙在运行,它可能会阻止Synergy的通信。另外还要检查屏幕间的关系设置是否正确,以及计算机名称是否能被Synergy正确识别。例如,主机名可能是serverMachine,但Synergy认为它是serverMachine.domain.local。

最后的说明
Synergy提供了一种在不同平台和计算机间共享键盘鼠标的轻量级方法。不过,你要清楚一些问题:客户端在连接到服务器端时,Synergy并不提供身份认证,在将服务器端的键盘数据发送到客户端时,Synergy也不会加密数据。Synergy的网站提供了一个一步一步的解决方案,使用SSH(Secure Shell)来解决这两个问题,如果你在一个未受信任的网络中使用Synergy时,你可能需要研究这种解决方案。

评论:Synergy无法捕获服务器上的Ctrl+Alt+Del,因为它们的处理是完全不同的。不过,当鼠标在客户端屏幕上时,按下Ctrl+Alt+Pause键可以在客户端上达到与Ctrl+Alt+Del一样的效果(Windows NT、2000或XP的Synergy客户端必须配置为autostart,否则将不起作用)。
而在OS X系统的服务器上,可以使用Ctrl+Command+Del键,不能使用Pause键,因为通常OS X系统的机器上都没有这个键。OS X的Command键与Windows上的Alt键是对应的,它在OS X系统上的功能与Windows的Alt的功能是类似的。
在Mac笔记本上,“Delete”键实际上是Backspace键,因此Ctrl+Command+Delete不起作用。不过Fn+Delete则能起到Delete的作用,因此,Fn+Ctrl+Command+Delete的功能与Windows上的Ctrl+Alt+Del功能是一样的。(译者)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值