Linux 远程桌面 Windows

上一章我们尝试了 windows 远程连接 Linux 的机器,只需要在 Linux 客户端上安装 xrdp 工具并开启服务即可,这次我们尝试 Linux 连接 Windows,还有 Linux 连接 Linux . . . 

Linux 远程连接 Windows 有两种方法,rdesktop 和 freerdp;

Ubuntu 安装这两种包很方便,只需 apt install rdesktop 或 apt install freerdp 即可,因为 Ubuntu 是基于 Debain 架构的;

CentOS 系列安装则费劲很多,因为需要额外安装其它的依赖包

安装 rdesktop

rdesktop 是一个用于连接到 Windows 远程桌面服务的开源 UNIX 客户端,能够原生使用远程桌面协议 (RDP) 来呈现用户的 Windows 桌面。

rdesktop 已知可与 Windows 服务器版本(从 NT 4 终端服务器到 Windows Server 2016)一起工作。

本次客户端安装的版本是 CentOS Stream 9

准备工作

  1. 配置网络,能联通外网
  1. 从 github 上下载 rdesktop 的压缩包,链接 https://github.com/rdesktop/rdesktop
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[root@localhost ~]# wget https://github.com/rdesktop/rdesktop/releases/download/v1.9.0/rdesktop-1.9.0.tar.gz

[root@localhost ~]# tar xf rdesktop-1.9.0.tar.gz
[root@localhost ~]# cd rdesktop-1.9.0/

- 编译过程中会出现各种报错,是由于依赖的安装包未安装的原因,安装对应的依赖包即可
- 安装缺少的依赖包
[root@localhost rdesktop-1.9.0]# dnf -y install python3-pip
[root@localhost rdesktop-1.9.0]# dnf -y install python-devel
[root@localhost rdesktop-1.9.0]# dnf -y install libX11-devel
[root@localhost rdesktop-1.9.0]# dnf -y install gcc g++
[root@localhost rdesktop-1.9.0]# dnf -y install krb5-devel
[root@localhost rdesktop-1.9.0]# dnf -y install libtasn1-devel
[root@localhost rdesktop-1.9.0]# dnf -y install libXcursor-devel
[root@localhost rdesktop-1.9.0]# dnf -y install gnutls-devel
[root@localhost rdesktop-1.9.0]# python3 -m pip install gssapi
[root@localhost rdesktop-1.9.0]# dnf -y install pcsc-lite
...
Installed:
pcsc-lite-1.9.4-1.el9.x86_64 pcsc-lite-ccid-1.4.36-1.el9.x86_64 pcsc-lite-libs-1.9.4-1.el9.x86_64

- 根据版本号需要安装对应的 pcsc-lite-devel 安装包
- 在此链接 http://www.rpmfind.net/linux/rpm2html/search.php?query=pcsc-lite-devel
- 安装包选择: pcsc-lite-devel System: centos Arch: x86_64
> 因为我们安装pcsc的版本是1.9.4,所以选择'pcsc-lite-devel-1.9.4-1.el9.x86_64.rpm'版本,
[root@localhost rdesktop-1.9.0]# wget http://www.rpmfind.net/linux/centos-stream/9-stream/CRB/x86_64/os/Packages/pcsc-lite-devel-1.9.4-1.el9.x86_64.rpm

[root@localhost rdesktop-1.9.0]# rpm -i pcsc-lite-devel-1.9.4-1.el9.x86_64.rpm
# 如果选择的版本不是一样的话,是无法安装成功的
  • 编译,安装
1
2
3
4
5
6
7
8
9
- okay,安装完依赖包后,再使用./configure进行编译安装
[root@localhost rdesktop-1.9.0]# ./configure
...
configure: creating ./config.status
config.status: creating Makefile 👈 看到这则说明编译成功了

- 最后输入下面命令,完成安装
[root@localhost rdesktop-1.9.0]# make
[root@localhost rdesktop-1.9.0]# make install
  • 连接 Windows
1
2
3
4
- 使用 rdesktop 远程连接
[root@localhost rdesktop-1.9.0]# rdesktop 192.168.0.193 #客户端IP,默认是3389端口
...
Do you trust this certificate (yes/no)? 【yes
image-20221011221251445
  • 连接 Linux 服务端
1
2
3
4
5
- 当然,Linux之间也可以通过 rdesktop 实现	# 前提是服务端的Linux配置好了xrdp等服务并启动
-g 指定屏幕分辨率
-u 指定用户名
-p 指定密码
[root@localhost ~]# rdesktop -g 90% -u root 10.10.10.10 # 默认是3389端口
xrdp

安装 freerdp

FreeRDP 是一个 Remote Desktop Protocol(协议)的一个实现,遵循Apache开源协议,支持3D功能,并有较高刷新率,也支持RemoteFX,H264编解码,用户管理,音频以及外设重定向等功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
- 安装freerdp软件包
[root@localhost ~]# dnf -y install freerdp

- 然后就可以直接使用了,freerdp 在 centos 和 ubuntu 都可以直接安装
> 非交互式
[root@localhost ~]# xfreerdp -u user -p passwd -v 192.168.0.193

> 交互式
[root@localhost ~]# xfreerdp -u user -v 192.168.0.193
Password:【密码】

-u 指定用户名
-p 指定密码
-w wide 宽
-h high 高
-f full,屏幕全屏,但是这样不好退出哈哈,屏占比拉满😂
- [root@localhost ~]# xfreerdp -u root -p redhat -w 1920 -h 1080 -v 10.10.10.10
freerdp