无头 Ubuntu 服务器,带有桌面 GUI 和可用的 GPU

无头 Ubuntu 服务器,带有桌面 GUI 和可用的 GPU

我在 ikoula(异地数据中心)订购了一台带有 nvidia GeForce GT 710B GPU 的专用(无头)服务器。现在,我正尝试让一个功能齐全的桌面 GUI 在其上运行,以便我能够真正运行我想要在其上运行的内容(使用 OBS 流式传输 AI 学习任务)。我有一个带有 TightVNC 的桌面,但它无法使用该方法访问 GPU,因此 OBS 无法启动。xrdb
安装后,我可以看到登录窗口,但当我登录时,只会看到默认的蓝屏。(见图)

我使用以下命令创建了一个虚拟监视器:

sudo nvidia-xconfig -a --allow-empty-initial-configuration \
--use-display-device="DFP-0" --connected-monitor="DFP-0" \
--custom-edid="DFP-0:/home/$USER/edid.txt"

我可以运行startx没有问题,我只是似乎无法登录到桌面。

我当前的 /etc/X11/xorg.conf 文件是由上述代码生成的:http://paste.ubuntu.com/p/HdWpJfzPvx/

我尝试以 root 身份登录,然后获得了一个桌面。因此,在我的配置中,我获得了 root 的桌面,但没有获得其他用户的桌面...

附言:监视器仿真器插件“在我的价格范围内买不起”

编辑:它有时会运行,但非常随机。有人知道使用 xrdp 在远程 ubuntu 服务器上启动 mate 或 xfce4 的正确方法吗???对我来说似乎不起作用……

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

编辑:我真的需要这帮家伙的帮助......我打算删除所有内容并保留它。我昨天让它工作了,但它似乎真的非常不一致。我让它在显示器:11.0 上工作,但现在我甚至无法让它打开显示器......

如果有人能让这个工作完成,我将永远感激。

/var/log/Xorg.0.log
/var/log/Xorg.1.log
/var/log/xrdp.log
/var/log/xrdp-sesman.log
/etc/X11/xorg.conf
/etc/xrdp/startwm.sh

当我连接到 xrdp 并登录时,它目前会挂起 20 秒,然后我回到登录屏幕。如果您需要更多数据,请告诉我。 在此处输入图片描述

编辑:按照建议尝试了 x2go,但出现此错误:在此处输入图片描述

答案1

我修好了它。

我提供了一个 EDID 文件https://github.com/linuxhw/EDID/tree/master/Digital/Nvidia 我使用这个 nvidia-xconfig 行配置了 Xorg:

sudo nvidia-xconfig -a --allow-empty-initial-configuration --use-display-device=None \
--virtual=1920x1200 --busid {busid} --use-display-device="DFP-0" \ 
--connected-monitor="DFP-0" --custom-edid="DFP-0:/etc/X11/edid.txt"

其中 busid = gpu 总线 id

之后只需启动 xsudo startx 并登录。

后来我发现 TurboVNC 运行得更稳定一些。我安装了虚拟GLTurboVNC

确保将 gpu 转发到 VNC 会话并运行以下命令:

sudo dpkg -i virtualgl_*.deb
sudo -i
/opt/VirtualGL/bin/vglserver_config

rmmod nvidia-nomode
rmmod nvidia-nvm
rmmod nvidia
reboot
xauth merge /etc/opt/VirtualGL/vgl_xauth_key
sudo dpkg -i turbovnc_*.deb
/opt/TurboVNC/bin/vncserver -geometry 1920x1080

最终的 xorg.conf

答案2

我以前也遇到过类似的问题。我不知道你具体问题的具体解决方案,但这些可能对你有帮助。

  • 安装 Linux 桌面版。您可以随时更改 systemd 默认启动目标以阻止主机服务器上的 GUI。您不需要在主机服务器上运行图形 GUI 即可使用 XRDP。
  • 在通过 XRDP 连接之前,请务必确保已完全注销,或许可以考虑为 XRDP 创建一个额外的用户。它不像 Windows,你可以窃取会话。
  • 您可能需要在用户主目录中创建一个 .Xauthority 文件(我不确定这个)
  • 如果您有板载显卡,请先使用这些显卡配置 XRDP,当它稳定后。您可以切换到其他 GPU。据我所知,您现在遇到的问题与 GPU 无关。
  • 在您的日志文件中。我经常看到以下消息 Cannot read private key file /etc/xrdp/key.pem: Permission denied您应该检查该 key.pem 文件的权限。我查看了我的系统,这个权限应该有效。

     User@UbuntuUEFI:~$ ls -la /etc/xrdp/key*
     lrwxrwxrwx 1 root root 38 Feb 24 18:47 /etc/xrdp/key.pem -> /etc/ssl/private/ssl-cert-snakeoil.key
     User@UbuntuUEFI:~$ ls -la  /etc/ssl/certs/ssl-cert*
     -rw-r--r-- 1 root root 1070 Feb 11 11:35 /etc/ssl/certs/ssl-cert-snakeoil.pem
     User@UbuntuUEFI:~$
    
  • 在某些情况下,在使用远程硬件之前先在本地虚拟机上尝试一下会有所帮助。这可以帮助您找到问题。

答案3

尝试通过 ssh 进行 x 转发。

ssh -X user@host gnome-session
or
ssh -Y user@host gnome-session

如果远程服务器上仍然出现空白背景,请 ssh 并安装sudo apt-get install gnome-desktop或其他首选桌面。

答案4

Xrdp 将默认为基本 xwindows 会话,该会话将不同于您已安装的 xwindows shell,并且大多数情况下将在不同的 x 显示中运行,例如 X1 而不是 X0。通过登录到 xrdp,您可以启动适当的窗口管理器,例如 gnome-session 或 openbox,但它会限制您可以执行的许多 xwindows 操作。您还可以修复 .xinitrc 脚本以启动终端或启动会话管理器,例如 gnome-session。对我来说,如果您还没有安装组桌面环境,最好安装它,然后安装 vnc 根控制台工具以连接到系统上的 X:0(x 控制台)。这会将您连接到 ubuntu 的默认图形界面,并且总体上将获得更好的支持。或者,您必须调整 xrdp 以连接 vino ubuntu 的默认 vnc,如以下答案所示:

使用 xrdp 连接到桌面会话

相关内容