每次打开笔记本电脑并通过 HDMI 插入外接显示器时,我都需要转到显示设置来调整默认设置。启动时,我得到的是重复的屏幕,而不是我想要的扩展屏幕。我还会将外接显示器放在右侧,而我总是将其放在左侧。我怎样才能让它默认停留扩展并在左侧?是的,我总是把“应用”和“保留此配置”,但它似乎在启动时重置。
xrandr
按照我想要的方式设置监视器的输出:
Screen 0: minimum 8 x 8, current 3520 x 1080, maximum 32767 x 32767
LVDS1 connected primary 1600x900+1920+180 (normal left inverted right x axis y axis) 382mm x 215mm
1600x900 60.01*+ 40.03
1440x900 59.89
1368x768 60.00
1360x768 59.80 59.96
1152x864 60.00
1280x720 60.00
1024x768 60.00
1024x576 60.00
960x540 60.00
800x600 60.32 56.25
864x486 60.00
800x450 60.00
640x480 59.94
720x405 60.00
640x360 60.00
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
DP-1-4 disconnected
HDMI-1-4 disconnected
HDMI-1-5 connected 1920x1080+0+0 510mm x 287mm
1920x1080 60.00*+ 50.00 59.94
1920x1080i 60.00 50.00 59.94
1280x1024 75.02 60.02
1280x960 60.00
1280x800 59.91
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.08 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
720x576 50.00
720x480 60.00 59.94
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
1024x768 (0x55) 65.000MHz -HSync -VSync
h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.36KHz
v: height 768 start 771 end 777 total 806 clock 60.00Hz
800x600 (0x59) 40.000MHz +HSync +VSync
h: width 800 start 840 end 968 total 1056 skew 0 clock 37.88KHz
v: height 600 start 601 end 605 total 628 clock 60.32Hz
800x600 (0x5a) 36.000MHz +HSync +VSync
h: width 800 start 824 end 896 total 1024 skew 0 clock 35.16KHz
v: height 600 start 601 end 603 total 625 clock 56.25Hz
640x480 (0x62) 25.175MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.47KHz
v: height 480 start 490 end 492 total 525 clock 59.94Hz
答案1
解决方法
当图形驱动程序和屏幕无法以充分的方式进行通信时,通常就会发生屏幕布局不协调的情况。然而,这并不意味着没有解决方案。
按照您需要的方式进行设置的命令是(如果我没有犯错或打字错误的话):
xrandr --output HDMI-1-5 --pos 0x0 --output LVDS1 --pos 1920x180
为什么这是这样做的命令,解释如下这里。
如何使用
您可以通过两种方式使用此命令:
1. 手动版本(快捷方式)
将其添加到第二个屏幕连接后要按下的快捷键:选择:系统设置>“键盘”>“快捷键”>“自定义快捷键”。单击“+”并添加命令:
xrandr --output HDMI-1-5 --pos 0x0 --output LVDS1 --pos 1920x180
2. 自动版本
运行此命令自动地如果连接了第二个屏幕:
将以下脚本复制到一个空文件中,并将其另存为
set_screen.py
#!/usr/bin/env python3 import subprocess import time def numscreens(): scrdata = subprocess.check_output("xrandr").decode("utf-8").splitlines() return len([l for l in scrdata if " connected" in l]) nscr1 = None while True: time.sleep(5) nscr2 = numscreens() if nscr2 != nscr1: if nscr2 == 2: subprocess.Popen(["xrandr", "--output", "HDMI-1-5", "--pos", "0x0", "--output", "LVDS1", "--pos", "1920x180"]) nscr1 = nscr2
通过从终端运行脚本来测试运行:
python3 /path/to/set_screen.py
如果一切正常,请将其添加到启动应用程序:Dash > 启动应用程序 > 添加。添加命令:
/bin/bash -c "sleep 30 && python3 /path/to/set_screen.py"