我在 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
答案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 运行得更稳定一些。我安装了虚拟GL和TurboVNC
确保将 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
答案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,如以下答案所示: