使用 rdesktop 连接远程桌面

kvm 的性能比较好,但是显示的时候不能根据窗口的大小自动调整分辨率,而且 win7 就那么几个固定的分辨率,每当我想调整一下 kvm 窗口大小时 windows 界面立刻填充整个窗口分辨率变得模糊不清,最后找到一个很好的工具 rdesktop 总算是解决了问题。

rdesktop 是 linux 下一个远程桌面连接的工具,tsclient 和 grdesktop 是它的两个图形前端。rdesktop 拥有众多选项,与 kvm 配合使用相当不错,下面总结一下好用的选项。

本文中 rdesktop 的版本是 1.7。在 debian stable 中的版本是 1.6,很多选项都不能正常工作(当时还以为哪配置错了,其实不用怎么配置,只要指定选项即可)。按惯例先放出完整命令:

rdesktop localhost -x l -g workarea -D -P -z -clipboard -r sound:local -r disk:ou=/home/ou

kvm 的启动命令是(关于 kvm 的设置可以参考 这里):

kvm -localtime -m 1024 -vga std -net nic -net user -smp 2 -usb -usbdevice tablet -drive file=/home/ou/.kvm/windows.kvm,cache=writeback -boot c -redir tcp:3389::3389

下面简单地描述一下各个参数(manpage 中有详细介绍)。

localhost: 就是主机的 hostname 或 ip。

-x: 主要是美观方面的。默认只显示主题,其它的效果(aero 效果,窗口淡入淡出等)不会被显示以节约带宽(kvm 显卡比较挫,想显示也显示不了)。选项“l”表示 lan,就是说“远程机器在局域网中,能显示出来的效果都给我显示吧”。其它的选项还有“m”(modem,小水管,不显示任何效果,连主题都省了,非常丑),“b”(broadband,除了主题还有窗口实时拖曳位置,就是拖动窗口的时候不会先出来一个虚框显示窗口的最终位置而是实时移动)。

-g: 窗口的大小和位置。指定大小和位置的格式是 {width}x{height}+{h}+{v},其中 {width} 是宽度,{height} 是高度,{h} 是出现在屏幕上的水平偏移,{v} 就是垂直偏移。参数“workarea”表示自动检测当前窗口大小并且完全填充。

-f: 全屏显示,有这个选项就不需要 -g 了。全屏切换快捷键是 ctrl-alt-enter。

-D: manpage 没看懂,有没有这个选项好像都一样。

-P: 对 bitmap 的缓冲,也没看懂 manpage,但是看到“improves performance”就加上了。

-z: 在传输过程中对数据进行压缩。

-clipboard: host 和 guest 共享粘贴板,这个功能在 kvm 中是没有的。

-r: 这个选项要好好介绍一下。它的主要作用是把 guest 的设备映射到 host 上,具体的设备看 manpage。例如这里的“sound:local”会把虚拟机中的声音在本地播放(注意 kvm 的启动命令并没有加上“-soundhw”)。把 host 中的一个设备映射到虚拟机中的格式是“disk:{sharename}={path}”,例如“disk:ou=/home/ou”表示把 host 中的 /home/ou 目录映射到 guest 中的“ou”中,连 samba 都省了,其它的什么 ftp 啊 winscp 啊更是浮云。这个选项在 1.6 版复制粘贴的时候会出错,更新到 1.7 版后就没问题了。

要去掉 windows 的远程登录密码限制,运行 gpedit.msc,在 计算机配置 -> Windows 设置 -> 安全设置 -> 本地策略 -> 安全选项,在右侧选择 帐户:使用空密码的本地>帐户只允许进行控制台登录,双击改为“已禁用”就能用空密码的帐户进行远程登录了。

更多功能继续挖掘中。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注