如何让Xubuntu/Xfce忽略显示器开关操作,维持原有窗口与面板布局?
如何让Xubuntu/Xfce忽略显示器开关操作,维持原有窗口与面板布局?
嘿,我完全懂你的困扰——多显示器下物理关屏后系统乱调布局,恢复还搞成镜像,重启才能救,太闹心了!结合你用的是NVIDIA GTX1070 Ti和Xubuntu 22.04,给你几个靠谱的解决办法,从简单到进阶:
方法一:用xrandr固定布局+开机自启(快速尝试)
先把当前正常的显示布局用xrandr记录下来,让系统每次登录都强制应用这个布局,避免自动调整:
- 打开终端,运行
xrandr,找到你的显示器名称(比如主显示器是DP-0,右侧TV是HDMI-0),以及各自的分辨率、位置参数。 - 复制类似这样的命令(根据你的实际参数修改):
这个命令是强制把主显示器放在左边,TV放在右边,维持扩展模式。xrandr --output DP-0 --mode 1920x1080 --pos 0x0 --primary --output HDMI-0 --mode 3840x2160 --pos 1920x0 - 把命令保存成脚本:比如创建
~/.fix_display.sh,内容就是上面的命令,然后给脚本加执行权限:chmod +x ~/.fix_display.sh - 添加到Xfce自启动:打开「设置」→「会话和启动」→「应用程序自启动」,点击「添加」,名称填“固定显示布局”,命令选刚才的脚本路径,保存即可。
这个方法能保证开机时布局正确,若中途关屏仍有问题,再试试下面的进阶方案。
方法二:用NVIDIA设置生成固定配置文件(最适合NVIDIA用户)
因为你用的是官方NVIDIA驱动,直接用NVIDIA的工具锁定显示配置是最稳妥的:
- 终端运行
nvidia-settings打开NVIDIA X Server Settings。 - 切换到「X Server Display Configuration」,先调整好你想要的扩展布局(主显示器+TV的位置、分辨率),确保一切正常。
- 点击窗口底部的「Save to X Configuration File」,在弹出的对话框里选择
/etc/X11/xorg.conf(需要输入sudo密码),保存即可。 - 重启系统,之后不管你物理开关哪个显示器,Xorg都会按照这个配置文件里的固定布局来运行,不会自动调整窗口和面板了——相当于把显示器“虚拟”成一直在线的状态。
⚠️ 注意:以后如果要调整显示器布局,需要重新打开nvidia-settings修改后再保存到xorg.conf,或者手动编辑这个文件。
方法三:禁用Xorg的显示器热插拔检测(终极方案)
如果上面的方法还不行,直接让Xorg忽略显示器的连接状态变化:
- 创建Xorg配置文件:
sudo nano /etc/X11/xorg.conf.d/99-disable-hotplug.conf - 粘贴以下内容(记得把
DP-0和HDMI-0换成你实际的显示器名称,从xrandr输出里找):Section "ServerFlags" Option "AutoAddDevices" "false" Option "AutoEnableDevices" "false" Option "DisableRandR" "false" # 保留RandR以便手动调整,若不需要也可以设为true EndSection Section "Monitor" Identifier "DP-0" Option "DPMS" "false" # 禁用电源管理检测,让系统认为显示器一直开启 EndSection Section "Monitor" Identifier "HDMI-0" Option "DPMS" "false" EndSection - 按
Ctrl+O保存,Ctrl+X退出,重启系统即可。
这个配置会让Xorg不再自动检测显示器的插拔/开关状态,完全按照你预设的布局运行,彻底解决窗口和面板乱跑的问题。
备注:内容来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

