WINDOWS mstsc 使用VNC和xorg-xrdp两种Session方式 远程桌面连接 Ubuntu 18.04

本文介绍通过VNC及xrdp两种方式实现Windows系统远程连接Ubuntu18.04桌面的方法,并推荐使用SSH进行命令行操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于ubuntu18.04使用的是Gnome作为默认桌面,目前我探索出了两种方式来从Windows系统使用自带的mstsc远程桌面连接 Ubuntu18:

1、使用VNC的方式来连接:

可以参考网址:https://websiteforstudents.com/access-ubuntu-18-04-lts-beta-desktop-via-vnc-from-windows-machines/

https://www.linuxidc.com/Linux/2017-09/147112.htm

https://www.cnblogs.com/xuliangxing/p/7642650.html

这三个网址的内容,关键操作就是:

sudo apt-get install xrdp vnc4server xbase-clients dconf-editor

ubuntu sharing screen

#安装vnc4server 
sudo apt-get install vnc4server tightvncserver

就可以使用Windows的远程桌面连接中的 Session: vnc-any 来连接Ubuntu了:

2、使用xrdp服务和 Session: xorg 来连接Ubuntu:
参考文章:https://websiteforstudents.com/connect-to-ubuntu-16-04-17-10-18-04-desktop-via-remote-desktop-connection-rdp-with-xrdp/

https://www.linuxidc.com/Linux/2015-05/117835.htm

关键步骤:

sudo apt install xrdp
sudo systemctl enable xrdp
   #安装xubuntu-desktop 
   sudo apt-get install xubuntu-desktop 
其中当有gdm和lightm的选项时,默认选择gdm3即可

   #向xsession中写入xfce4-session 
   echo “xfce4-session” >~/.xsession 


再设置配置文件

sudo gedit /etc/xrdp/startwm.sh

在. /etc/X11/Xsession 前一行插入
xfce4-session
或者将/etc/xrdp/startwm.sh 之中的unity全部更换为 xfce4-session

重启xrdp
sudo service xrdp restart

最后就可以使用Windows的mstsc远程桌面连接中的 Session: xorg Session 来连接Ubuntu了:

这样两个界面都可以远程了:

其中xubuntu的命令行需要在桌面上点击右键打开 Run Programma 来输入 xfce4-terminal 才能打开终端:

 

但是上面两种方法在性能速度上面还是有些慢,最好的方法是尽量使用SSH来输入命令行,不得已的时候再用上面的方法:

sudo apt-get install openssh-server

打开"终端窗口",输入"sudo ps -e |grep ssh"-->回车-->有sshd,说明ssh服务已经启动,如果没有启动,输入"sudo service ssh start"-->回车-->ssh服务就会启动。

<think>我们正在讨论Ubuntu上的远程桌面解决方案。用户引用了四段文字,其中提到了使用VNC实现Windows远程访问Ubuntu,并且提到了使用原生桌面(而不是第三方桌面如xfce)的方法。还提到了xrdpUbuntu13.10之后与gnome/unity的兼容性问题,导致登录后只有背景没有图标,解决办法是使用xrdp登录xfce或Mate桌面。 但是,用户最新的问题是在询问“Ubuntu推荐的远程桌面工具或服务”。结合用户引用的内容,用户似乎更倾向于使用原生桌面(即Ubuntu自带的GNOME桌面)进行远程访问,而不希望安装第三方桌面环境。 然而,根据引用[3][4]的信息,xrdp在较新的Ubuntu版本(使用GNOME或Unity)上存在兼容性问题,导致无法正常显示原生桌面。因此,我们需要提供既能使用原生桌面又能解决兼容性问题的方案,或者推荐其他工具。 目前Ubuntu主流的桌面环境是GNOME(18.04及以上版本默认),所以我们需要考虑支持GNOME的远程桌面方案。 常见的远程桌面解决方案有: 1. VNC(Virtual Network Computing):通过VNC协议远程访问桌面。Ubuntu自带了一个名为“vino”的VNC服务器(仅支持GNOME),但配置较为复杂且安全性较低(建议通过SSH隧道加密)。 2. xrdp使用RDP协议(Windows远程桌面协议)的服务器,Windows用户可以直接使用自带的远程桌面连接mstsc.exe)连接。但是,xrdpUbuntu上默认使用Xorg作为后端,对于GNOME桌面存在兼容性问题,通常需要配合xfce等轻量级桌面使用。不过,有方法可以配置xrdp使用GNOME,但可能需要额外步骤。 3. 第三方工具:如TeamViewer、AnyDesk等,它们跨平台,配置简单,但需要安装专有软件。 考虑到用户希望使用原生桌面,我们可以尝试以下方案: 方案一:使用Ubuntu自带的屏幕共享(基于VNC) 这是最接近原生的方式,因为Ubuntu的GNOME桌面内置了VNC服务器(vino)。但是,默认情况下可能没有安装或启用。 方案二:使用xrdp配合GNOME 虽然引用[3]提到xrdpUbuntu13.10以后与gnome/unity有兼容性问题,但我们可以尝试一种新的方法:使用xrdp配合gnome-session。在Ubuntu18.04及更高版本中,有用户通过配置xrdp使用gnome-session成功。 方案三:使用第三方工具(如TeamViewer、AnyDesk) 这些工具安装简单,支持原生桌面,但需要下载安装,且可能受限于网络速度。 根据用户引用[2]中提到的“国外一家公司便专门维护着这样一款远程桌面连接软件,只允许一个人用,多人用要收费”,这很可能是指TeamViewer(因为AnyDesk也是类似的,但TeamViewer更知名)。所以我们可以推荐TeamViewer作为备选。 下面,我将分别介绍这三种方案: ### 方案一:使用Ubuntu自带的屏幕共享(Vino/VNC) 1. **安装启用屏幕共享** -Ubuntu上,打开“设置”->“共享”->“屏幕共享”。 - 开启共享,并设置安全选项(如设置密码、允许网络连接等)。 - 注意:默认情况下,VNC服务器(vino)可能已经安装。如果没有,可以通过以下命令安装: ```bash sudo apt update sudo apt install vino ``` - 启用加密:建议通过SSH隧道连接,因为VNC协议本身不安全。 2. **配置防火墙** ```bash sudo ufw allow from 192.168.1.0/24 to any port 5900 # 允许局域网访问VNC端口(5900) ``` 3. **连接方式Windows客户端)** - 使用VNC客户端(如TightVNC、RealVNC连接Ubuntu的IP地址端口(默认5900)。 - 或者通过SSH隧道(更安全): ```bash # 在Windows的PowerShell中执行 ssh -L 5901:localhost:5900 username@ubuntu_ip ``` 然后VNC客户端连接`localhost:5901`。 ### 方案二:使用xrdp配合GNOME桌面(解决兼容性问题) 虽然默认情况下xrdp配合GNOME会有问题,但我们可以通过以下步骤尝试解决: 1. **安装xrdp** ```bash sudo apt update sudo apt install xrdp ``` 2. **配置xrdp使用GNOME** - 创建或编辑`~/.xsession`文件,指定使用GNOME: ```bash echo "gnome-session" > ~/.xsession ``` - 或者,编辑xrdp的启动配置文件: ```bash sudo nano /etc/xrdp/startwm.sh ``` 在`test -x /etc/X11/Xsession`这一行之前添加: ```bash gnome-session ``` 这样就会启动GNOME会话。 3. **重启xrdp服务** ```bash sudo systemctl restart xrdp ``` 4. **防火墙允许RDP端口(默认3389)** ```bash sudo ufw allow 3389 ``` 5. **Windows客户端使用远程桌面连接mstsc.exe)连接Ubuntu的IP地址** 注意:这种方法可能在某些Ubuntu版本上仍然存在问题,如果遇到黑屏,可以尝试安装`gnome-tweaks`并禁用“Wayland”(使用Xorg): -Ubuntu的登录界面,点击用户名旁边的设置图标,选择“Ubuntu on Xorg”登录。 - 然后重试远程连接。 ### 方案三:使用TeamViewer(推荐给个人用户) 1. **下载并安装TeamViewer** - 前往[TeamViewer官网](https://www.teamviewer.com/)下载Ubuntu版本的安装包(.deb)。 - 安装: ```bash sudo apt install ./teamviewer_*.deb ``` 2. **启动TeamViewer** -Ubuntu上搜索并打开TeamViewer,记录下ID密码。 -Windows上安装TeamViewer客户端,输入Ubuntu的ID密码即可连接。 3. **优点** - 配置简单,穿透内网,适合个人使用- 支持文件传输、语音通话等。 ### 总结推荐 1. **如果追求原生体验且在内网环境**:推荐使用方案一(VNC+SSH隧道),因为它是Ubuntu原生支持,但需要一定的配置。 2. **如果希望使用Windows远程桌面协议(RDP)**:尝试方案二(xrdp+GNOME),但要注意可能存在的兼容性问题,需要调整。 3. **如果希望简单快捷,且不介意使用第三方工具**:推荐方案三(TeamViewer或AnyDesk),尤其适合个人用户。 注意:无论使用哪种方案,都要注意网络安全,特别是开放端口时。 --- ### 相关问题 1. 如何在Ubuntu上配置VNC通过SSH隧道安全访问? 2. xrdp连接Ubuntu后出现黑屏如何解决? 3. TeamViewer在Ubuntu上的替代品有哪些?</think>### Ubuntu 推荐的远程桌面解决方案 根据您的需求引用内容,以下是三种推荐方案,优先支持原生桌面体验: --- #### 方案一:原生 GNOME 桌面共享(推荐) **适用场景**:追求原生桌面体验,无需额外桌面环境 ```bash # 1. 启用屏幕共享 sudo apt update sudo apt install -y vino gsettings set org.gnome.Vino require-encryption false # 2. 设置访问密码 gsettings set org.gnome.Vino authentication-methods "['vnc']" gsettings set org.gnome.Vino vnc-password $(echo -n '您的密码' | base64) # 3. 创建自动启动项 echo "[Desktop Entry] Type=Application Name=Vino Exec=/usr/lib/vino/vino-server --sm-disable " > ~/.config/autostart/vino.desktop ``` **连接方式**: - Windows 使用 TigerVNC/VcXsrv 连接 `ubuntu_ip:5900` - 需在 Ubuntu 设置中开启共享权限: `设置` → `共享` → `屏幕共享`[^4] **优势**: - 100% 原生 GNOME 桌面 - 无需安装第三方桌面环境 - 内存占用优化(相比 Xfce 更流畅)[^1][^2] --- #### 方案二:xrdp + Xorg 后端 **适用场景**:需使用 Windows 远程桌面协议 (RDP) ```bash # 1. 安装 xrdp Xorg 后端 sudo apt install -y xrdp xorgxrdp # 2. 配置使用 GNOME 原生桌面 echo "gnome-session" > ~/.xsession # 3. 修复黑屏问题(关键步骤) sudo sed -i 's/use_vsock=true/use_vsock=false/g' /etc/xrdp/xrdp.ini sudo systemctl restart xrdp ``` **连接方式**: Windows 直接运行 `mstsc` 输入 Ubuntu IP **注意**: - 需在登录界面选择 `Ubuntu on Xorg` 会话(非 Wayland)[^3] - 端口 `3389` 需开放防火墙 --- #### 方案三:第三方工具(企业级方案) **推荐工具**: 1. **NoMachine**(免费高性能) ```bash wget https://download.nomachine.com/download/8.9/Linux/nomachine_8.9.1_1_amd64.deb sudo apt install ./nomachine_*.deb ``` - 支持 4K/60fps 远程桌面 - 自动穿透 NAT 2. **Remmina**(内置远程客户端) ```bash sudo apt install -y remmina remmina-plugin-rdp ``` - 支持 RDP/VNC/SSH 协议 - 可管理多台服务器 --- ### 方案对比表 | 特性 | 原生 GNOME 共享 | xrdp + Xorg | NoMachine | |----------------------|----------------|-------------|------------| | 桌面环境 | 原生 Unity/GNOME | 原生 GNOME | 原生 GNOME | | 协议 | VNC | RDP | NX | | Windows 兼容性 | 需客户端 | 原生支持 | 需客户端 | | 4K 支持 | 有限 | 中等 | 优秀 | | 安装复杂度 | ★☆☆☆☆ | ★★★☆☆ | ★★☆☆☆ | --- ### 关键注意事项 1. **Wayland 兼容性问题**: Ubuntu 18.04+ 默认使用 Wayland,需切换至 Xorg: ```bash sudo nano /etc/gdm3/custom.conf # 取消注释: WaylandEnable=false ``` [^3][^4] 2. **安全加固建议**: ```bash # 限制访问 IP 范围 sudo ufw allow from 192.168.1.0/24 to any port 3389,5900 ``` 3. **性能优化命令**: ```bash # 提升远程图形性能 gsettings set org.gnome.desktop.interface enable-animations false ``` --- ### 首次配置检查清单 1. [ ] 已在 Ubuntu 启用 `屏幕共享` 2. [ ] 已禁用 Wayland(如需 xrdp) 3. [ ] 防火墙开放对应端口 4. [ ] 测试本地连接 `vncviewer localhost:5900` 5. [ ] Windows 客户端安装 TigerVNC/MobaXterm > 优先推荐**方案一**,完美平衡原生体验与易用性。企业场景可选 NoMachine 实现 4K 级远程协作[^2][^4]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值