Linux下通过rdesktop连接Windows远程桌面

2026-01-17 02:27:40

最近在公司要求做学习汇报,同事在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系统中。

主页:http://www.rdesktop.org/ Github仓库:https://github.com/rdesktop/rdesktop 二、安装

命令行安装,操作很简单。

Debian(Ubuntu)系统下执行:代码语言:javascript复制$ sudo apt-get install rdesktop

Centos/RedHat可以通过yum命令在线安装:代码语言:javascript复制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远程桌面

打开命令行,仅需要一条命令:

代码语言:javascript复制$ rdesktop -f 192.168.1.112 (这里的ip对应自己windows的ip地址)

就ok了。

-f参数默认全屏打开,使用Ctrl + Alt + Enter可以退出全屏模式。如果不想每次都敲命令的,可以简单的写个shell脚本,每次点击就可以连接。

rdesktop使用拓展

Linux下help一下可以看到完整用法:

代码语言:javascript复制➜ ~ ➤ 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=': 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)

➜ ~ ➤

比如如下命令:

代码语言:javascript复制$ rdesktop -f -a 16 -u username -p password IP -r sound:on/off -g 1024*768

说明:

1、username和password分别是目标电脑的帐号和密码,-a 16表示位色,最高就是16位; 2、IP为目标电脑的IP地址(可能需要先连接V**); 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可以退出全屏模式)

    爱问医生
    卧龙武器套装来袭,副武器近战抢先看

    Copyright © 2022 摩洛哥世界杯_直播世界杯决赛 - dgaida.com All Rights Reserved.