如何在 Ubuntu 22.04.02 上通过 xrdp 获取 Cinnamon 桌面

如何在 Ubuntu 22.04.02 上通过 xrdp 获取 Cinnamon 桌面

我的 xrdp 在 Ubuntu Gnome 桌面上运行良好。但我宁愿用肉桂。我遵循各种咒语尝试让 xrdp 加载 Cinnamon 而不是 Ubuntu Gnome,但没有成功。 22.04 有什么变化吗?

当我在会话管理器窗口中选择 Cinnamon 后直接登录计算机时,Cinnamon 工作正常;但是当我通过 xrdp 登录时,我得到的是旧的、损坏的、未打 Ubuntu 补丁的 Gnome 桌面。我尝试复制直接运行 Cinnamon 时设置的所有 XDG_* 环境变量,但这似乎没有帮助。

这是我的 /etc/xrdp/startwm.sh 脚本。当我通过 xrdp 连接时,我得到的是不稳定的非 Ubuntu 版本的 Gnome。

#!/bin/sh
# xrdp X session start script (c) 2015, 2017, 2021 mirabilos
# published under The MirOS Licence

#Improved Look n Feel Method
cat <<EOF > ~/.xsessionrc

export XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg
export XDG_CURRENT_DESKTOP=X-Cinnamon
export XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon2d:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop

EOF


# Rely on /etc/pam.d/xrdp-sesman using pam_env to load both
# /etc/environment and /etc/default/locale to initialise the
# locale and the user environment properly.

# (saved GNOME config)
#export GNOME_SHELL_SESSION_MODE=ubuntu
#export XDG_CURRENT_DESKTOP=ubuntu:GNOME 
#export XDG_DATA_DIRS=/usr/share/gnome:/usr/share/cinnamon2d:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop

if test -r /etc/profile; then
    . /etc/profile
fi

test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession

在本地 Cinnamon 桌面中运行时,设置以下环境变量:

XDG_CONFIG_DIRS=/etc/xdg/xdg-cinnamon:/etc/xdg
XDG_CURRENT_DESKTOP=X-Cinnamon
XDG_DATA_DIRS=/usr/share/gnome:/usr/share/gnome:/usr/share/cinnamon2d:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
XDG_MENU_PREFIX=gnome-
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=cinnamon
XDG_SESSION_ID=8
XDG_SESSION_TYPE=x11

我尝试了该集的各种排列,包括添加 XDG_SESSION_DESKTOP 和 XDG_MENU_PREFIX,但没有成功。始终是非 Ubuntu Gnome 桌面。

相关内容