Hyper-V中Ubuntu 22.04虚拟机xrdp登录界面消失,求助恢复分辨率调整功能并兼顾桌面环境选择
Hyper-V中Ubuntu 22.04虚拟机xrdp登录界面消失,求助恢复分辨率调整功能并兼顾桌面环境选择
看起来你遇到的问题挺闹心的:原本熟悉的xrdp设置界面突然不见了,直接跳去Ubuntu原生登录页——虽说意外解锁了XFCE的选择权限,但牺牲了更重要的分辨率、共享驱动器调整功能。别担心,我们可以一步步把两者都找回来,先优先搞定xrdp的设置界面,再添加桌面环境选择的选项。
一、先恢复xrdp的登录设置界面(优先需求)
你需要先通过Hyper-V控制台登录到Ubuntu虚拟机里操作:
- 先停止当前运行的xrdp服务:
sudo systemctl stop xrdp - 编辑xrdp的核心配置文件,确保它会弹出自己的登录界面:
找到sudo nano /etc/xrdp/xrdp.ini[Xorg]段落,确认配置和下面一致(有差异的话直接修改):
这里的[Xorg] name=Xorg lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 code=20username=ask和password=ask是关键,它会强制xrdp弹出自己的设置登录窗口,而不是直接跳转到系统原生登录页。 - 检查会话启动脚本,确保它正确指向桌面环境:
拉到文件末尾,确认最后一行是启动桌面环境的命令(比如默认GNOME是sudo nano /etc/xrdp/startwm.shexec gnome-session,XFCE是exec startxfce4)。如果最后一行有调用gdm3之类的系统登录管理器命令,直接注释或替换掉。 - 重启xrdp服务:
现在重新用xrdp连接虚拟机,应该就能看到熟悉的设置界面,调整分辨率、共享驱动器这些功能都回来了。sudo systemctl restart xrdp
二、添加桌面环境选择功能(兼顾需求)
恢复xrdp界面后,我们可以给它加上桌面环境选择的下拉框,这样你既能调整xrdp设置,又能自由切换GNOME或XFCE:
- 先确认Ubuntu里已有桌面环境的会话文件:
/usr/share/xsessions/目录下应该有xfce.desktop和gnome.desktop(毕竟你之前安装过XFCE)。 - 创建xrdp的会话配置目录(如果不存在的话):
sudo mkdir -p /etc/xrdp/sessions - 给XFCE创建会话配置文件:
写入以下内容:sudo nano /etc/xrdp/sessions/xfce.desktop[Desktop Entry] Name=XFCE Exec=startxfce4 Type=Application - 再给GNOME创建会话配置文件:
写入以下内容:sudo nano /etc/xrdp/sessions/gnome.desktop[Desktop Entry] Name=GNOME Exec=gnome-session Type=Application - 回到xrdp核心配置文件,添加会话目录的设置:
在sudo nano /etc/xrdp/xrdp.ini[Globals]段落里新增一行:SessionDir=/etc/xrdp/sessions - 再次重启xrdp服务:
现在再用xrdp连接,你会看到登录界面多了一个「Session」下拉框,里面可以选择GNOME或XFCE,同时分辨率、共享驱动器的设置选项也都保留着。sudo systemctl restart xrdp
三、如果上述方法无效,试试重置xrdp配置
有时候系统更新或意外修改会导致配置文件混乱,可以尝试重新安装xrdp组件来重置:
sudo apt purge xrdp xorgxrdp sudo apt install xrdp xorgxrdp
之后再按照上面的步骤重新配置一遍,基本就能解决问题。
备注:内容来源于stack exchange,提问作者ojunk
相关产品推荐
相关产品推荐

