Могу ли я обнаружить наличие второго дисплея в скрипте оболочки или конфиге?

1772
Amanda

Я хочу изменить свое удобное расположение в зависимости от того, работаю ли я с ноутбуком на коленях (один экран) или у меня на столе, к большему монитору (двойной дисплей).

Проблема в том, что я хочу, чтобы он отображался в левом нижнем углу экрана моего ноутбука, несмотря ни на что. Но с моей двойной настройкой дисплея «левый нижний» находится на моем внешнем мониторе.

Кажется, что есть два решения:

  • Добавьте оператор if / else в скрипт, который я использую для запуска conky (conky.sh), который запускает другой файл конфигурации в зависимости от моего расположения отображения.

  • Добавьте оператор if / else в мою конфигурацию conky, которая устанавливает либо выравнивание, либо значение отступа в зависимости от расположения дисплея.

(И да, я понимаю, что по крайней мере версия оболочки работает только в том случае, если при запуске conky у меня есть что-то подключенное / отключенное. Я могу с этим смириться.

Но ... я даже не знаю, как обнаружить двойной дисплей или второй монитор в bash или conky.

3
Вы когда-нибудь работали? Если да, можете ли вы поделиться своим conky config? crypdick 6 лет назад 0

2 ответа на вопрос

3
Benc Marek

Приведенное выше предложение Натана даст тот же результат при любых обстоятельствах, что и xrandrкоманда дает информацию обо всех выходах дисплея ( подключенных / отключенных ).

Этот код будет работать:

$ xrandr | grep -sw 'connected' | wc -l 

Примечание: не моя идея. Я просто слил предложение Натана и это .

В этом случае вам не нужен флаг `-s` (или одинарные кавычки). Anthony Geoghegan 7 лет назад 0
1
Nathan Lippi

You can use xrandr and grep to detect the connected monitors. Then use wc -l to count the number of lines returned.

Try this in the terminal:

xrandr | grep connected | wc -l 

Похожие вопросы