如何在无头 Fedora 13 服务器上启动 X11 会话?

如何在无头 Fedora 13 服务器上启动 X11 会话?

我有一个小型家庭服务器,使用 Fedora 13 作为操作系统。

自从升级到 Fedora 13 后,我无法启动 X11 服务器。(我需要它来使用 vnc)

当我尝试启动服务器时,并且原始 NVIDIA 驱动程序声称没有连接物理显示器(这是事实),并且 X 服务器无法启动,因为无法探测初始显示模式。

我尝试手动添加显示模式xorg.conf但它们似乎被忽略了。

一些论坛建议在这种情况下简单地使用 VESA 驱动程序,但由于我无法运行它(不同的、更模糊的消息)因此原则上我想让它与 nouveau 驱动程序一起工作。

临时连接显示器对我来说意味着很多工作(超过 1 小时,目前我家的温度接近 35°C/95°F)我想尝试这样做,但前提是这样做确实可以解决问题,并且如果我再次移除显示器,这种情况仍然会持续)

如何在没有连接物理显示器的情况下使驱动程序工作?

感谢您的时间和帮助!

答案1

一种选择是通过 ssh 设置 X 转发,并在本地机器上运行 X 服务器,并在服务器上运行应用程序。

在服务器上启用 X 转发 ( /etc/ssh/sshd_config):

X11Forwarding yes
AllowAgentForwarding yes

在客户端上启用 X 转发(/etc/ssh/ssh_config):

ForwardAgent yes
ForwardX11 yes

答案2

另一个选项是通过 VNC 运行 GDM,这将为您提供通过 VNC 的 GDM 登录窗口。请参阅Vnc 和 Gdm

答案3

找到了这里,感谢 Ata Roboubi 的贡献。

使用官方 nvidia 驱动程序,并使用如下所示的“ConnectedMonitor”和“UseEDID”=False 选项,驱动程序将被强制使用 CRT-0 输出而不检查任何 EDID 数据。

即使你将配置的模式字符串放入文件中,它也会恢复到 1024x768。

/etc/X11/xorg.conf:

Section "Device"
        Identifier     "Configured Video Device"
        Driver         "nvidia"
        Option         "ConnectedMonitor" "CRT-0"
        Option         "UseEDID"     "FALSE"
EndSection

生成的 Xorg.0.log:

(**) Aug 12 19:35:46 NVIDIA(0): ConnectedMonitor string: "CRT-0"
(**) Aug 12 19:35:46 NVIDIA(0): Ignoring EDIDs
(II) Aug 12 19:35:47 NVIDIA(GPU-0): Not probing EDID on CRT-0.
(II) Aug 12 19:35:47 NVIDIA(0): NVIDIA GPU GeForce GTS 450 (GF116) at PCI:3:0:0 (GPU-0)
(--) Aug 12 19:35:47 NVIDIA(0): Memory: 1048576 kBytes
(--) Aug 12 19:35:47 NVIDIA(0): VideoBIOS: 70.26.26.00.01
(II) Aug 12 19:35:47 NVIDIA(0): Detected PCI Express Link width: 16X
(--) Aug 12 19:35:47 NVIDIA(0): Interlaced video modes are supported on this GPU
(--) Aug 12 19:35:47 NVIDIA(0): Connected display device(s) on GeForce GTS 450 at PCI:3:0:0
(--) Aug 12 19:35:47 NVIDIA(0):     CRT-0
(--) Aug 12 19:35:47 NVIDIA(0): CRT-0: 400.0 MHz maximum pixel clock
(II) Aug 12 19:35:47 NVIDIA(0): Display Device found referenced in MetaMode: CRT-0
(II) Aug 12 19:35:47 NVIDIA(0): Assigned Display Device: CRT-0
(WW) Aug 12 19:35:47 NVIDIA(0): No valid modes for "CRT-0:1280x1024"; removing.
(WW) Aug 12 19:35:47 NVIDIA(0):
(WW) Aug 12 19:35:47 NVIDIA(0): Unable to validate any modes; falling back to the default mode
(WW) Aug 12 19:35:47 NVIDIA(0):     "nvidia-auto-select".
(WW) Aug 12 19:35:47 NVIDIA(0):
(II) Aug 12 19:35:47 NVIDIA(0): Validated modes:
(II) Aug 12 19:35:47 NVIDIA(0):     "nvidia-auto-select"
(II) Aug 12 19:35:47 NVIDIA(0): Virtual screen size determined to be 1024 x 768
(WW) Aug 12 19:35:47 NVIDIA(0): Unable to get display device CRT-0's EDID; cannot compute DPI
(WW) Aug 12 19:35:47 NVIDIA(0):     from CRT-0's EDID.

答案4

如果你想要一个即使没有通过 SSH 连接也能保持的持久会话,你可以使用西普拉

您还可以使用虚拟主机,它将为您提供类似的东西,但可能更简单一些,带有常见的“虚拟桌面”。

您还可以使用贰伍。这比 Xvnc 更通用一些,因为您可以自己决定如何连接(Xvnc 意味着使用 VNC)。

相关内容