如何控制Ubuntu 22.04.4中gdm3登录屏幕显示在指定显示器上?
如何控制Ubuntu 22.04.4中gdm3登录屏幕显示在指定显示器上?
根据你的描述,你已经尝试了常规的monitors.xml复制方法但没效果,结合你的双显卡(Intel+NVIDIA)和多显示器布局,咱们可以从几个方向入手解决:
一、先调整BIOS的显示优先级
因为你提到开机时BIOS信息都显示在显示器1(NVIDIA的HDMI口),这说明BIOS默认优先把NVIDIA显卡作为主输出设备。你可以进入BIOS界面(通常开机按Del/F2/F10,具体看主板提示),找到类似Primary Display或者Default Graphics Adapter的选项,把它改成Intel集成显卡。这样开机时的启动信息会转到Intel连接的显示器2,同时也能让gdm初始识别时优先选择Intel的显示器。
二、用NVIDIA设置配置全局主显示器
如果你安装了NVIDIA官方驱动,打开nvidia-settings图形工具:
- 切换到「X Server Display Configuration」页面
- 选中显示器2,勾选「Primary Display」选项
- 点击「Save to X Configuration File」,将配置保存到
/etc/X11/xorg.conf - 重启电脑后,系统级的Xorg配置会强制把显示器2设为主屏幕,gdm应该会遵循这个设置。
三、手动为gdm用户设置主显示器
有时候复制monitors.xml可能没生效,咱们可以直接给gdm用户设置:
- 按下
Ctrl+Alt+F3切换到tty终端,登录你的账号 - 先停止gdm服务:
sudo systemctl stop gdm3 - 提前在正常登录状态下用
xrandr命令查看显示器2的设备名(比如Intel的HDMI口可能叫HDMI-1,记下来) - 以gdm用户身份执行xrandr设置:
sudo -u gdm xrandr --output HDMI-1 --primary(把HDMI-1换成你实际的显示器2设备名) - 重新启动gdm服务:
sudo systemctl start gdm3
四、尝试切换到Xorg会话(禁用Wayland)
Wayland在多显卡、多显示器场景下偶尔会有识别问题,你可以试试禁用Wayland:
- 编辑gdm的配置文件:
sudo nano /etc/gdm3/custom.conf - 找到
WaylandEnable=false这一行,去掉前面的注释(#),如果没有就手动添加 - 保存文件(按
Ctrl+O回车,再按Ctrl+X退出) - 重启gdm服务:
sudo systemctl restart gdm3
之后再重新设置主显示器,应该能解决问题。
备注:内容来源于stack exchange,提问作者dln949




