0%

Windows远程桌面控制ubuntu

1 Ubuntu设置与软件安装

首先打开Ubuntu设置,将Sharing-Remote Desktop打开,如下图所示:

ubuntu-setting

然后安装xrdp:

1
sudo apt-get install xrdp

接下来的步骤网上有很多不同的做法,其中这篇文章提到需要修改startwm.sh文件:

1
sudo vi /etc/xrdp/startwm.sh

startwm.sh

将最后两行注释掉,即:

1
2
3
## 注释掉这两行
# test -x /etc/X11/Xsession && exec /etc/X11/Xsession
# exec /bin/sh /etc/X11/Xsession

然后即可通过win10自带的远程桌面(或在Microsoft Store安装的远程桌面)进行连接:

remote

远程桌面

到目前为止,本人可以在Windows中正常远程控制Ubuntu,且可实现Ubuntu显示和远程控制同时在线,即通过远程控制操作Ubuntu,同时另一个屏幕可正常显示Ubuntu界面,且实时显示远程控制的操作。

2 黑屏问题

但是,在这之后我重新安装了NVIDIA显卡驱动、CUDA、cuDNN,然后就发现远程控制无法进入Ubuntu系统了,点击“连接”后出现一段时间的黑屏后会自动退出。在网上查询了很多案例,有各种五花八门的解决方案,如换一个桌面程序、使用dconf-editor更改配置文件、远程控制与Ubuntu本地无法同时登陆(必须有一方log out)等等,以下是个人尝试的结果:

  • 换桌面程序:由于本人安装的是桌面版Ubuntu,故系统自带桌面程序gnome,之前配置远程控制时就受到网上各种五花八门意见的影响,使用了xfce4桌面程序,后来发现完全没必要,而且就在不久前还可以正常远程连接,说明应该不是桌面程序的原因,因此就没有尝试更换桌面程序;
  • 使用dconf-editor更改配置文件:在文章中提到,进入dconf-editor后,依次进入“org->gnome->desktop->remote-access”,将 requre-encryption 设为 False,这也是本人在上个系统(Ubuntu20.04)中的操作,但是在本系统(Ubuntu22.04)中没有发现有“remote-access”,故该方法也没有成功;
  • 本地端与远程端无法共存:这个比较简单,本人试着将Ubuntu本地端账户log out,或者使用不同账户进行远程控制,发现仍然失败;但需要注意的是,在本人解决远程黑屏问题之后,发现该问题确实是存在的,若本地端或远程端没有log out,那么另一端就无法正常登陆显示界面,这边记录一下;
1
2
3
4
## 修改startwm.sh文件,添加下面几行,仍旧没有解决问题
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
. $HOME/.profile

最后,不知道怎么想起来,尝试把startwm.sh文件中注释掉的两行取消注释,峰回路转、柳暗花明,竟然成了!!!于是,本人最终的startwm.sh文件内容如下所示:

startwm

3 后记

虽然不知道原因是什么,只知道目前这样子是可行的,但同时也发现无法像安装显卡驱动前那样本地端和远程端同时登陆了,必须要有一端log out,另一端才可正常工作,现做以下记录:

  • 使用远程连接桌面后,不能简单地关掉远程桌面:若只是简单地关掉远程桌面后,在本地端可以正常进入账号选择、密码输入界面,输完密码后会显示黑屏;此时,只有重新进入远程桌面,选择log out,本地端方可正常登录。
  • 对于本地端Todesk等远程控制软件:经过本人测试,Todesk 软件若想正常工作需要本地端正常登录,即要求远程端log out,然后本地端log in;那么也就意味着本地端电脑需要连接显示器。