如何根据笔记本电脑上可用的显示器数量保存显示器配置?
我有一台笔记本电脑,我经常在有外接显示器和没有外接显示器的情况下使用它。当我连接显示器时,Gnome-Shell 会自动重新配置以使用第二个显示器,但它总是将笔记本电脑的屏幕放在左侧。我的屏幕实际位于右侧,因此我使用“显示”对话框来移动它。但是,每次我拔下显示器或暂停和恢复笔记本电脑时,此功能都会丢失。
这类似于这个问题但我不想硬编码我的 Xorg/Xrandr 设置来强制双显示,因为我经常使用没有显示器的笔记本电脑。我只希望它在我插入外接显示器时自动将笔记本电脑的屏幕放在右侧。
xrandr
编辑:使用外部监视器设置的输出。
Screen 0: minimum 8 x 8, current 3200 x 1080, maximum 8192 x 8192
LVDS-0 connected primary 1280x800+1920+0 (normal left inverted right x axis y axis) 286mm x 179mm
1280x800 60.2*+
DP-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
1920x1080 60.0*+
1680x1050 60.0
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.0
1024x768 75.0 60.0
800x600 75.0 60.3 56.2
640x480 75.0 59.9
DP-1 disconnected (normal left inverted right x axis y axis)
答案1
解决方案由两部分组成:
1. 创建一个小脚本来安排屏幕
您应该将组合屏幕视为一个组合虚拟屏幕,如下所述这里。
要将两个屏幕排列到组合虚拟屏幕中,您需要从左到右排列它们。对于您的情况:
将左侧屏幕放在0,0
:
xrandr --output DP-0 --pos 0x0
放置正确的屏幕(您的内置屏幕):
xrandr --output LVDS-0 --pos 1920x0
当我们将这两个命令放入脚本中时:
#/bin/bash
xrandr --output DP-0 --pos 0x0
xrandr --output LVDS-0 --pos 1920x0
- 将脚本复制到一个空文件中,另存为
set_screen.sh
要使用它(第二个屏幕连接后),运行以下命令:
/bin/bash /path/to/set_screen.sh
或者,如果你使它可执行:
/path/to/set_screen.sh
现在您有两个选择,您可以:
- 将脚本添加到快捷键:选择:系统设置 > “键盘” > “快捷键” > “自定义快捷键”。单击“+”并添加运行脚本的命令,
或者:
2.在后台运行脚本来调用命令
正如文章中所述:连接监视器时运行脚本.
替换以下部分:
#--- set both commands (connect / disconnect) below
connect_command = "gedit"
"gedit"
通过命令运行您在步骤 1 中创建的脚本:
"/bin/bash /path/to/set_screen.sh"
如果您将链接帖子中的脚本添加到启动应用程序中,则在连接第二台显示器时,您将拥有完全自动排列屏幕的设置。