最近在公司要求做学习汇报,同事在windows下做的ppt,然后我用自己电脑Linux连接的汇报用的投影仪,但是将其ppt拷贝过来到我linux下格式显示有点问题,最后索性远程连接他的windows机器控制其桌面进行汇报,也算比较方便。下面就说一下怎么连接windows远程桌面。
一、主角:rdesktop
rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目,采用RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接windows的所有版本,诸如NT 4 Terminal Server, 2000, XP, 2003, 2003 R2, Vista, 2008, 7, and 2008 R2等。目前,rdesktop可运行于所有的基于X window平台的Unix系统中。
二、安装
命令行安装,操作很简单。
- Debian(Ubuntu)系统下执行:
$ sudo apt-get install rdesktop
- Centos/RedHat可以通过yum命令在线安装:
yum -y install rdesktop
- Archlinux使用pacman -S也可以安装。
(当然也可以下载源码编译安装)
三、Windows配置
首先需要允许此windows远程访问。
基本操作:计算机---属性---远程设置---远程,
勾选:允许远程连接到此计算机。去掉默认勾选:仅允许运行使用网络级别验证...,(如果不取消这个,在运行时会出现“ERROR: recv: 连接被对端重置”)。
要开启Windows远程桌面,有三个选项,第一个如果是不允许连接到本机,则选择“不允许连接到这台计算机”,这样可以阻止任何人使用远程桌面或 RemoteApp连接到您的计算机。后面两个选项,“允许任意版本远程桌面计算机”和“仅运行使用网络级别身份验证的远程桌面的计算机”,两者差别如下:
- “允许运行任意版本远程桌面的计算机连接”——如果不确定将要连接过来的计算机操作系统,可以选择这一项。安全性较第三个选项低。
- “只允许运行带网络级身份验证的远程桌面的计算机连接”——允许使用运行带网络级身份验证的远程桌面或 RemoteApp 版本计算机的人连接到您的计算机。目前Vista、Windows 2008、Windows 7均支持网络级身份验证,Windows XP等可以通过修改注册表等方法支持,如需要请自行GOOGLE搜索。
最简单的做法就是选择允许运行任意版本远程桌面的计算机连接
,然后Linux退出远程桌面后,再回到windows关闭允许远程连接就可以了。
网络级别身份验证查看方法:
鼠标点击远程桌面连接左上角的小图标,选中关于,如下窗口,有是否支持提示。
四、rdesktop连接windows远程桌面
打开命令行,仅需要一条命令:
$ rdesktop -f 192.168.1.112 (这里的ip对应自己windows的ip地址)
就ok了。
-
-f
参数默认全屏打开,使用Ctrl + Alt + Enter
可以退出全屏模式。
如果不想每次都敲命令的,可以简单的写个shell脚本,每次点击就可以连接。
rdesktop使用拓展
Linux下help一下可以看到完整用法:
➜ ~ ➤ rdesktop --help
rdesktop:无效选项 -- -
rdesktop: A Remote Desktop Protocol client.
Version 1.7.1. Copyright (C) 1999-2011 Matthew Chapman et al.
See http://www.rdesktop.org/ for more information.
Usage: rdesktop [options] server[:port]
-u: user name
-d: domain
-s: shell
-c: working directory
-p: password (- to prompt)
-n: client hostname
-k: keyboard layout on server (en-us, de, sv, etc.)
-g: desktop geometry (WxH)
-f: full-screen mode
-b: force bitmap updates
-L: local codepage
-A: enable SeamlessRDP mode
-B: use BackingStore of X-server (if available)
-e: disable encryption (French TS)
-E: disable encryption from client to server
-m: do not send motion events
-C: use private colour map
-D: hide window manager decorations
-K: keep window manager key bindings
-S: caption button size (single application mode)
-T: window title
-N: enable numlock syncronization
-X: embed into another window with a given id.
-a: connection colour depth
-z: enable rdp compression
-x: RDP5 experience (m[odem 28.8], b[roadband], l[an] or hex nr.)
-P: use persistent bitmap caching
-r: enable specified device redirection (this flag can be repeated)
'-r comport:COM1=/dev/ttyS0': enable serial redirection of /dev/ttyS0 to COM1
or COM1=/dev/ttyS0,COM2=/dev/ttyS1
'-r disk:floppy=/mnt/floppy': enable redirection of /mnt/floppy to 'floppy' share
or 'floppy=/mnt/floppy,cdrom=/mnt/cdrom'
'-r clientname=<client name>': Set the client name displayed
for redirected disks
'-r lptport:LPT1=/dev/lp0': enable parallel redirection of /dev/lp0 to LPT1
or LPT1=/dev/lp0,LPT2=/dev/lp1
'-r printer:mydeskjet': enable printer redirection
or mydeskjet="HP LaserJet IIIP" to enter server driver as well
'-r sound:[local[:driver[:device]]|off|remote]': enable sound redirection
remote would leave sound on server
available drivers for 'local':
alsa: ALSA output driver, default device: default
'-r clipboard:[off|PRIMARYCLIPBOARD|CLIPBOARD]': enable clipboard
redirection.
'PRIMARYCLIPBOARD' looks at both PRIMARY and CLIPBOARD
when sending data to server.
'CLIPBOARD' looks at only CLIPBOARD.
'-r scard[:"Scard Name"="Alias Name[;Vendor Name]"[,...]]
example: -r scard:"eToken PRO 00 00"="AKS ifdh 0"
"eToken PRO 00 00" -> Device in Linux/Unix enviroment
"AKS ifdh 0" -> Device shown in Windows enviroment
example: -r scard:"eToken PRO 00 00"="AKS ifdh 0;AKS"
"eToken PRO 00 00" -> Device in Linux/Unix enviroment
"AKS ifdh 0" -> Device shown in Windows enviroment
"AKS" -> Device vendor name
-0: attach to console
-4: use RDP version 4
-5: use RDP version 5 (default)
➜ ~ ➤
比如如下命令:
$ rdesktop -f -a 16 -u username -p password IP -r sound:on/off -g 1024x768
说明:
1、username和password分别是目标电脑的帐号和密码,-a 16
表示位色,最高就是16位;
2、IP为目标电脑的IP地址(可能需要先连接VPN);
3、sound:on表示传送目标电脑的声音,off则为关闭;
4、-g 后接想要显示的分辨率,使用 -g workarea 可自适应铺满当前linux窗口大小
更多参数:
5、使用 -f 参数进入全屏模式,中途可使用Ctrl+Alt+Enter组合键退出全屏(不知道的就郁闷了);
6、-r** disk:share_name=/local-disk** 将本地磁盘映射到远程电脑,其中share_name为显示名称,可自定义,local-disk表示本地linux的一个目录,比如 /data。
7、-r clipboard:PRIMARYCLIPBOARD 允许在远程主机和本机之间共享剪切板,就是可以复制粘贴。
(更多参数详见命令行help结果……)
五、预览
然后就可以正常操作window远程桌面了。
(注:-f
参数默认全屏打开,使用Ctrl + Alt + Enter
可以退出全屏模式)