Ubuntu 22.04远程桌面无头?

goo*_*rma 23 remote-desktop 22.04

我刚刚安装了 Ubuntu 22.04 LTS,很高兴看到内置了远程桌面服务器,并且除了 VNC 之外还支持 MS RDP。它有一些与密码相关的怪癖,我在这篇文章中发现了这一点: 22.04 - 远程桌面共享身份验证密码每次重新启动都会更改

我希望在启动时可以使用远程桌面,无需登录,或者如果它使用自动登录,它会保留密码,以便我可以无头运行系统并通过 RDP/VNC 进入其中。看起来 gnome-remote-desktop 作为用户服务运行,而不是系统服务,因此除非用户登录,否则它不会激活。并且它在密钥环解锁之前启动,因此每次启动时都会创建一个新密码。似乎有很多方法可以解决这些问题,但我不确定什么是最好的路线,或者即使其中任何/所有这些都是可能的:

  1. 继续使用自动登录,以便远程桌面可以作为用户服务运行,但以某种方式修复它,以便它保持相同的密码(理想情况下不完全禁用密钥环)。

  2. 禁用内置的远程桌面功能并安装其他一些 RDP/VNC 服务器并手动配置它,但这会与内置的冲突吗?没有把握。

  3. 是否可以将 gnome-remote-desktop 用户服务转换为系统服务?如果是这样,如果不在用户密钥环中,它将在哪里存储密码?这甚至是一个选择吗?

  4. 还有别的事吗?

会喜欢任何建议。谢谢。

use*_*186 18

我在虚拟机中尝试过这个解决方案

  1. 禁用内置的远程桌面功能并安装其他一些 RDP/VNC 服务器并手动配置它,但这会与内置的冲突吗?没有把握。

我在这里建议的解决方案是不使用本机桌面共享并使用xrdp服务器。

禁用本机桌面共享(或不禁用)

我发现在下一步安装后禁用远程桌面没有任何效果。xrdp重新启动后,远程桌面设置将恢复为如下所示:

在此输入图像描述

确保未选中“启用旧版 VNC 协议”

注意:此设置页面显示随机生成的密码。忽略它。当您在 Ubuntu 中使用xrdpRemmina 等客户端或 Window 的默认 RDP 应用程序时,请使用您的登录密码

安装xrdp

上面的设置在我全新安装的 Ubuntu 22.04 中不起作用,直到我安装了xrdp. 您必须物理访问无头计算机或用于ssh此步骤。

通过++Ctrl打开终端并输入:AltT

sudo apt install xrdp
Run Code Online (Sandbox Code Playgroud)

系统将提示您输入密码。当您输入密码时,光标不会移动。这个是正常的。

如果您ufw启用了(简单防火墙),则必须使用以下命令打开端口 3389:

须藤 ufw 允许 3389。

使用以下命令验证xrdp服务器是否已启动并正在运行:

sudo systemctl status xrdp
Run Code Online (Sandbox Code Playgroud)

记得退出

注销(本地)是最重要的部分。如果您通过物理方式登录计算机并连接键盘、鼠标、显示器等,则xrdp在您注销之前将无法工作。

xrdp关于本地和远程登录的注意事项

不要使用计算机启动时自动登录桌面!

与 Windows 中的 RDP 不同,仅当您未在本地登录远程计算机xrdp时才有效。这意味着您物理地转到远程计算机并登录它,然后离开计算机而不注销,这是行不通的。xrdp

同样,通过远程登录时,xrdp您可以在不注销的情况下断开连接,并且会话将继续。但是,在这种情况下,您将无法本地登录,除非您远程注销。

对于无头计算机来说这不是问题,因为您从不本地登录。

XRDP/RDP 客户端的两点

1. 会话、用户和密码

当您尝试使用 (X)/RDP 访问远程计算机时,您可能会在 RDP/XRDP 客户端上看到此对话框:

在此输入图像描述

  1. 将会话设置为 XOrg(默认值)。
  2. 使用远程 Ubuntu 计算机的用户名
  3. 使用远程 Ubuntu 计算机用户的登录密码。设置 (x)RDP 客户端时,请勿使用随机生成的密码。

如果您使用 Remmina 并选择通过连接配置存储您的用户名和密码,您将不会看到此对话框。

2.桌面可能看起来不同

当我使用Remmina xrdp进入VM中的Ubuntu22.04时,我没有获得默认的Ubuntu桌面。相反,我得到了如下所示的 Gnome 42 桌面:

在此输入图像描述

可能有某种方法可以将其改回 Ubuntu 桌面,但我没有探索。

/home/$USER/.xsessionrc要将桌面的外观从默认的 gnome 更改为 Ubuntu,请创建包含以下内容的隐藏文件:

export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
Run Code Online (Sandbox Code Playgroud)

来源:如何使用 xRDP 登录远程服务器上的 Ubuntu(而非 GNOME)会话?

感谢TorresAgentRev让我注意到这个解决方案。

希望这可以帮助

  • 这解决了 Gnome/Ubuntu 桌面:https://askubuntu.com/questions/1442514/how-to-login-to-the-ubuntu-not-gnome-session-on-a-remote-server-using-xrdp (2认同)