You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

求助:Ubuntu 20.04 Desktop无显卡环境下实现开机自动登录并运行程序的配置方法

求助:Ubuntu 20.04 Desktop无显卡环境下实现开机自动登录并运行程序的配置方法

兄弟我太懂你这种记不清旧配置的头疼了!之前在老版本Ubuntu(16.04/18.04)上成功实现过无显卡开机自动登录跑程序,现在20.04带显卡一切正常,拔了显卡就卡壳,对吧?结合你的情况,给你梳理几个关键配置步骤,应该能解决问题:

一、先确认BIOS配置(你已经做过,但再核对下)

确保BIOS里的「Ignore No VGA」(或者类似名称,比如Headless Mode、Force Boot Without Display)选项已经开启,这是基础,避免主板因为检测不到显卡卡启动。

二、配置Xorg以支持无显卡启动

Ubuntu 20.04的桌面默认用GDM,而Xorg在无物理显卡时可能无法正常初始化,导致自动登录流程卡住。这里有两种方案:

方案1:使用帧缓冲驱动(fbdev)

创建Xorg的配置文件:

sudo nano /etc/X11/xorg.conf.d/20-headless.conf

写入以下内容:

Section "Device"
    Identifier "HeadlessDevice"
    Driver "fbdev"
EndSection

Section "Screen"
    Identifier "HeadlessScreen"
    Device "HeadlessDevice"
EndSection

保存退出后,重启系统试试。fbdev是系统自带的帧缓冲驱动,不需要额外安装,能让Xorg在无显卡环境下启动。

方案2:安装虚拟显卡驱动(dummy)

如果fbdev方案无效,可以安装虚拟显卡驱动来模拟一个显示器:

sudo apt update && sudo apt install xserver-xorg-video-dummy

然后创建对应的Xorg配置文件:

sudo nano /etc/X11/xorg.conf.d/20-dummy.conf

写入以下内容:

Section "Device"
    Identifier "DummyDevice"
    Driver "dummy"
    VideoRam 256000  # 分配256MB显存
EndSection

Section "Screen"
    Identifier "DummyScreen"
    Device "DummyDevice"
    Monitor "DummyMonitor"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "1920x1080"  # 设置一个虚拟分辨率
    EndSubSection
EndSection

Section "Monitor"
    Identifier "DummyMonitor"
    HorizSync 30-70
    VertRefresh 60-75
    ModeLine "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118
EndSection

保存退出后重启系统。

三、确保GDM自动登录配置正确

打开GDM的自定义配置文件:

sudo nano /etc/gdm3/custom.conf

找到并取消注释以下两行,把your_username替换成你的实际用户名:

AutomaticLoginEnable = true
AutomaticLogin = your_username

另外,20.04的GDM默认可能用Wayland,而Wayland对无显卡环境支持较差,所以强制切换到Xorg:
打开GDM的守护进程配置:

sudo nano /etc/gdm3/daemon.conf

找到WaylandEnable=false这一行(如果被注释就取消注释),确保内容如下:

[daemon]
WaylandEnable=false

保存退出后重启GDM或者系统。

四、验证自动启动程序的配置

你之前设置的自动启动程序,一般在~/.config/autostart/目录下的.desktop文件,确保这个文件的权限正确,并且配置没有问题:
比如你的程序的.desktop文件内容应该类似:

[Desktop Entry]
Type=Application
Name=My Auto-Start Program
Exec=/full/path/to/your/program
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

如果权限不对,执行:

chmod 644 ~/.config/autostart/your-program.desktop

做完这些步骤后,拔掉显卡重启系统,应该就能自动登录并运行你的程序了!

备注:内容来源于stack exchange,提问作者user1758662

火山引擎 最新活动