Debian Stretch系统如何设置启动时默认屏幕方向?
解决Debian Stretch默认屏幕方向问题
我来帮你搞定这个屏幕方向的永久设置问题——之前用rc.local无效确实是因为X会话还没启动,得从X桌面环境和登录管理器的配置入手,下面是几个靠谱的方法,你可以按需选择:
方法1:配置LightDM(修复登录界面+全局会话方向)
Debian Stretch默认用LightDM作为登录管理器,直接给它加个启动脚本就能让登录界面和后续所有会话都用正确的方向:
- 先创建一个屏幕旋转的脚本,比如
/usr/local/bin/rotate-screen.sh,内容如下:
#!/bin/bash # 这里的-o 0对应正常方向,按需替换:left=90度,right=270度,inverted=180度 xrandr -o 0
- 给脚本加上执行权限:
sudo chmod +x /usr/local/bin/rotate-screen.sh
- 编辑LightDM的配置文件,建议新建自定义配置避免修改默认文件:
sudo nano /etc/lightdm/lightdm.conf.d/50-screen-rotate.conf
- 在文件里添加以下内容:
[Seat:*] display-setup-script=/usr/local/bin/rotate-screen.sh
- 重启LightDM或者系统生效:
sudo systemctl restart lightdm
方法2:用户级自动启动(针对单个/所有用户)
如果上面的方法没覆盖到某些场景,还可以给用户会话加自动启动项:
- 单个用户:在用户目录下创建自动启动文件
~/.config/autostart/rotate-screen.desktop,内容:
[Desktop Entry] Type=Application Name=Fix Screen Orientation Exec=xrandr -o 0 Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true
- 所有用户:把上面的
.desktop文件复制到/etc/xdg/autostart/目录下,这样所有用户登录后都会自动执行。
方法3:修改Xorg底层配置(最彻底的永久生效)
如果前两种方法都不合适,可以直接配置Xorg,让X服务器启动时就应用正确的屏幕方向:
- 先查看你的显示器标识符,执行
xrandr命令,找到类似HDMI-1 connected primary ...的行,这里的HDMI-1就是你的显示器名称(可能是DP-1、VGA-1等)。 - 创建Xorg配置文件:
sudo nano /etc/X11/xorg.conf.d/90-monitor.conf
- 写入以下内容(注意替换
HDMI-1为你实际的显示器名称):
Identifier "HDMI-1" # normal对应正常方向,可选值:left/right/inverted Option "Rotate" "normal" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "HDMI-1" EndSection
- 重启系统后,X启动时就会自动应用这个配置,包括登录界面和所有用户会话。
内容的提问来源于stack exchange,提问作者BarryG
相关产品推荐
相关产品推荐

