如何默认使 VGA 输出显示在主屏幕上方?

如何默认使 VGA 输出显示在主屏幕上方?

我的 VGA 输出(VGA-1配置为正确的我的主屏幕(LVDS-1)。

如何配置我的系统,使我的 VGA 输出多于默认为我的主屏幕?


附言:

为了将我的 VGA 放在上面,我使用

xrandr --output VGA-1 --auto --above LVDS-1

答案1

然而,屏幕布局不固定的问题很可能是由小错误造成的:

你有两个选择

1. 运行后台脚本,在第二个屏幕连接后自动运行您的命令:

#!/usr/bin/env python3
import subprocess
import time

#--- set both commands (connect / disconnect) below
connect_command = "gedit"
disconnect_command = ""
#---

# function to get the output of xrandr
def get(cmd): return subprocess.check_output(cmd).decode("utf-8")
# - to count the occurrenc of " connected "
def count_screens(xr): return xr.count(" connected ")
# - to run the connect / disconnect command(s)
def run_command(cmd): subprocess.Popen(cmd)

# first count
xr1 = count_screens(get(["xrandr"]))

while True:
    time.sleep(5)
    # second count
    xr2 = count_screens(get(["xrandr"]))
    # check if there is a change in the screen state
    if xr2 != xr1:
        if xr2 == 2:
            # command to run if connected (two screens)
            run_command(["xrandr", "--output", "VGA-1", "--auto", "--above", "LVDS-1"])
        elif xr2 == 1:
            # command to run if disconnected (one screen)
            # uncomment run_command(disconnect_command) to enable, then also comment out pass
            pass
            # run_command(disconnect_command)
    # set the second count as initial state for the next loop
    xr1 = xr2

剧本是这个

使用它

  • 将脚本复制到一个空文件中,另存为setup_scr.py
  • 通过命令测试运行:

    python3 /path/to/setup_scr.py
    
  • 如果一切正常,请添加到启动应用程序:Dash > 启动应用程序 > 添加。添加命令:

    /bin/bash -c "sleep 15 && python3 /path/to/setup_scr.py"
    

2. 只需将命令添加到快捷方式,连接第二个屏幕后按下它:

添加快捷键:选择:系统设置 > “键盘” > “快捷键” > “自定义快捷键”,点击“+”,添加命令:

python3 /path/to/setup_scr.py

笔记

  • 该脚本涵盖了在连接和断开屏幕上运行的命令,我将其保持原样,因此您有额外的选择。
  • 我无法测试,因为我目前没有连接第二个屏幕。它应该可以正常工作,但我对盲点和打字错误很敏感……
  • 该脚本假设不会发生任何错误,这意味着定义的屏幕应该是您使用的唯一(外部)屏幕。如果不是这种情况,我们应该构建一个条件或 try/except。如果是这样,请提及。

    如果有错误,请告诉我。

相关内容