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

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

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

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

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

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

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

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

2 ответа

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

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

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

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

Вы можете использовать xrandr и grep для обнаружения подключенных мониторов. Тогда используйте wc -l посчитать количество возвращаемых строк.

Попробуйте это в терминале:

xrandr | grep connected | wc -l
Другие вопросы по тегам