使用rdesktop来在Windows和Linux之间共享数据

概述

rdesktop是一个开源的远程桌面客户端,用来从Linux机器连接到Windows机器。它遵循RDP协议(Remote Desktop Protocol),并且操作简洁,功能比较完备。

安装

在Debian发行版上,可以直接用apt-get命令安装:

1
sudo apt-get install rdesktop

别的发行版的安装方式请参看rdesktop项目的GitHub页面:https://github.com/rdesktop/rdesktop

连接

最简单的情况,如果你要连接到的Windows机器的IP地址是a.b.c.d, 需要以用户username登录,则可以这样运行rdesktop命令:

1
rdesktop -u username a.b.c.d

如果你想直接在命令里面使用用户的登录密码,则使用-p选项:

1
rdesktop -u username a.b.c.d -p my-password

如果你想设置登录后的窗口的大小,则采用-g选项:

1
rdesktop -u username a.b.c.d -p my-password -g 1200x900

登录后你会感觉字体显示比较怪,看着很不舒服,可以使用-x选项来是字体变得光滑:

1
rdesktop -u username a.b.c.d -p my-password -g 1200x900 -x 0x80

其中0x80还可以改为0x81, 0x8F,分别表示LAN default mode, broadband default mode 和 modem default mode,为不同的”RDP5 experience”。
以上就是基本的连接选项,也可以通过运行rdesktop -h命令来查看所有选项。

共享文件

一个常见的需求是在Windows和Linux系统上共享文件。Samba服务可以解决这个问题,但配置比较复杂。这里我们采用rdesktop来完成这个任务。
首先在Linux系统下创建一个目录,例如:/home/username/Pictures,然后在连接的时候采用-r disk选项来进行文件的共享:

1
rdesktop -u username a.b.c.d -p my-password -g 1200x900 -x 0x80 -r sound:local -r disk:LinuxPictures=/home/username/Pictures

这样在连接到Windows的时候,会在文件资源管理器里面,显示LinuxPictures目录。
这里有两个地方需要注意:

  1. 命令中Linux目录的路径必须采用绝对路径,否则会出错。如上例中,将/home/username/Pictures改成~/Pictures则会报错。
  2. 为了正常工作,需要同时设置-r sound:local,虽然看起来好像没什么关系。关于这个问题的讨论见这里这里

设置好之后,就可以在Windows和Linux之间通过Pictures目录传输和共享文件了。