求助: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




