如何在Ubuntu 17.10中配置gdm3登录屏幕适配垂直中间显示器
解决Ubuntu 17.10 Wayland+Gnome登录屏幕显示器旋转问题
我之前也碰到过一模一样的情况——桌面里三台显示器的布局完美,中间垂直屏用着特顺手,但一到登录屏幕就全乱套。这是因为GDM(GNOME Display Manager)会单独维护一套自己的显示配置,不会自动同步你桌面会话里的设置。下面是亲测有效的解决步骤:
1. 先摸清你的显示器信息
打开终端,运行这条命令获取所有显示器的详细参数:
xrandr
在输出里找到你中间的垂直显示器,记下两个关键信息:
- 显示器名称(比如
DP-1、HDMI-2这类标识) - 它垂直方向对应的分辨率(比如原本是1920x1080,垂直后就变成1080x1920)
2. 写一个GDM启动时的显示配置脚本
我们要做一个脚本,让GDM在加载登录屏幕前自动帮我们设置好显示器布局。
- 用文本编辑器创建脚本文件:
sudo nano /usr/local/bin/gdm-display-setup.sh
- 把下面内容粘贴进去,替换掉
YOUR_MONITOR_NAME、RESOLUTION为你刚才记下的信息,另外两台显示器的位置也可以根据实际情况调整:
#!/bin/bash # 设置中间显示器为垂直(left是向左转90度,右转就用right) xrandr --output YOUR_MONITOR_NAME --rotate left --primary --mode RESOLUTION # 配置左侧显示器(示例:放在中间屏左边) xrandr --output LEFT_MONITOR_NAME --left-of YOUR_MONITOR_NAME --mode 1920x1080 # 配置右侧显示器(示例:放在中间屏右边) xrandr --output RIGHT_MONITOR_NAME --right-of YOUR_MONITOR_NAME --mode 1920x1080
- 保存退出编辑器(按
Ctrl+O回车,再Ctrl+X),给脚本加执行权限:
sudo chmod +x /usr/local/bin/gdm-display-setup.sh
3. 让GDM启动时自动运行这个脚本
GDM用systemd管理服务,我们需要创建一个自定义服务来触发这个脚本:
- 创建服务文件:
sudo nano /etc/systemd/system/gdm-display-setup.service
- 粘贴以下内容:
[Unit] Description=Set up display layout for GDM Before=gdm.service [Service] ExecStart=/usr/local/bin/gdm-display-setup.sh Type=oneshot [Install] WantedBy=graphical.target
- 保存退出后,启用并启动这个服务:
sudo systemctl enable gdm-display-setup.service sudo systemctl start gdm-display-setup.service
4. 验证效果
重启电脑后,登录屏幕应该就会自动按照你设置的布局显示,中间垂直屏作为主屏幕,和桌面环境的配置完全一致了。
如果遇到问题,可以先手动在终端运行一遍脚本里的xrandr命令,确认显示器能正常调整,再检查服务配置是否正确。
内容的提问来源于stack exchange,提问作者Alejandro Vera
相关产品推荐
相关产品推荐

