我有类似的设置,如果我能正确理解你的话,我会得到你想要的一切。
如果您设置正确,那么您的登录管理器应始终显示在启动时处于活动状态的监视器上,您可以使用简单的键绑定切换监视器和接收器。
首先,您可以向 lightdm 添加一个脚本来配置您的显示器,以便正确显示所有内容。但请注意,损坏的脚本可能会导致您的登录管理器无法正确加载(blackscrren)。
在/etc/lightdm/lightdm.conf
你可以定义一个脚本在#greeter-setup-script=
. 只需取消注释该行并将路径添加到您的脚本。
以您想要的方式配置显示器的一种简单方法是使用 arandr。只需按照您想要的方式配置您的显示器并保存设置。您将保存一个常用的 xrandr 命令,该命令可在您的脚本中使用。
这是我的脚本。这是非常基本的,实际上只检查我办公桌的监视器是否处于活动状态。如果是这样,它会初始化我办公桌上的显示器。如果没有,它会初始化我的电视。它还设置了我与这些监视器一起使用的音频输出。
要获取所有活动监视器的列表,请使用以下命令:
xrandr --listactivemonitors | awk '!/Monitors/ {print $4}'
要获取所有接收器(音频输出)的列表,请使用以下命令:
pacmd list-sinks | grep -e 'name:' -e 'index:' | awk '{print $2}'| awk '{print substr($0, 2, length($0) - 2)}'
现在您可以根据需要更改我的命令(接收器和监视器名称)。您可以在终端中执行脚本,以便获得所选接收器和监视器的反馈(用于测试)。不要忘记使您的脚本可执行,否则它将无法工作。
我有一个类似的脚本可以在我的电视和我的办公桌之间手动切换(镜像屏幕、复制、仅限电视等)它也会根据所选监视器更改接收器。当您也在使用 polybar 时,您可能会注意到我使用sh /home/lluks/.config/polybar/launch.sh
This is the script重新启动了 polybar 。它确保我的小程序显示在主监视器上,因为 poylbar 只能在一个监视器上显示它们。这是通过对 poylbar 使用 2 个不同的条来实现的。要使此脚本正常工作,您需要 dmenu 和 rofi。如果我没记错的话,您还需要 Font Awesome 图标。