Как я могу контролировать конфигурацию монитора KDE из скрипта?

Каждое утро я прихожу на работу, подключаю свой спящий ноутбук к большому монитору на моем столе и затем играю с этим диалоговым окном:

screenshot of KDE "display settings" dialog

Я представляю что результат этой неуклюжести заключается в том, что приложение «Настройки дисплея» записывает новую конфигурацию монитора в некоторый файл, а затем отправляет некоторый сигнал диспетчеру окон, чтобы заметить, что настройки изменились. Я хотел бы сделать это сам и контролировать это непосредственно, для этой цели, а также для других.

Если бы я мог узнать название процесса, который вызывает диалоговое окно «Настройки дисплея», я мог бы запустить его с помощью strace и посмотреть, что он делает, но я также не смог это выяснить.

Мои вопросы:

К какой программе относится этот диалог? Что бы я искал в выходных данных ps, чтобы определить это? И что он на самом деле делает, когда меняет конфигурацию монитора?

Я использую KDE 4.8.5.

2
задан 15.05.2020, 14:02

1 ответ

xrandr утилитой можно управлять из сценария. Конфигурация, показанная в снимке экрана, может быть получена путем выполнения команды:

xrandr \
 --output LVDS-1 --mode 1680x1050 --pos 1080x1120 --rotate normal \ 
 --output DVI-D-1 --off --output VGA-1 --mode 1920x1080 --pos 0x0 --rotate left          

К [1 113] генерируют эта командная строка, я использовал arandr. Это представляет диалоговое окно что-то как то в исходном вопросе, но более простой, и затем имеет опцию "сохранения", которая сохраняет корректное xrandr вызов в файл.

После использования arandr диалоговое окно для конфигурирования мониторов путем я хочу их, я сохраняю конфигурацию в файл, говорю ~/.screenlayout/office.sh. При выполнении этого файла, поскольку сценарий оболочки восстанавливает сохраненную конфигурацию. Я записал тривиальный сценарий оболочки, disp, который выполняется $HOME/.screenlayout/$1.sh, поэтому когда я получаю в офис меня просто, тип disp office на командной строке для восстановления офиса контролирует конфигурацию. Когда я иду домой я тип disp 1, который работает ~/.screenlayout/1.sh, где я сохранил конфигурацию с одним монитором по умолчанию.

Все еще никакие ответы на другие вопросы в моем сообщении, хотя , вероятно диалоговое окно в исходном вопросе работает xrandr самом для изменения экранной конфигурации.

5
ответ дан 15.05.2020, 14:02
  • 1
    @Sparhawk нет, потому что вопросы в исходном сообщении остаются оставшимися без ответа. – Beetle 15.05.2020, 14:03
  • 2
    О, хорошо. Я думал, что этот ответ по существу сделал Ваши другие конкретные вопросы спорными. Программу называют " systemsettings". ps aux|grep [s]ystemsettings определяет его для меня. И да, я полагаю, что xrandr является бэкендом. Я имел ситуация где я didn' t имеют эту панель, и я установил kde-workspace-randr, который зафиксировал ее. Я предполагаю с имени, что xrandr является бэкендом. – Cat Plus Plus 15.05.2020, 14:03
  • 3
    Спасибо очень! Я буду зондировать systemsettings и видеть, могу ли я подтвердить, что это использует xrandr для установки дисплея. – wim 15.05.2020, 14:04
  • 4
    Нет проблем. Один усложняющий фактор - то, что я могу также получить доступ к установке аналогичной системы (" Дисплей configuration" вместо " Размер & Orientation") с krandrtray, затем нажимая значок панелей. Таким образом, я подозреваю, что существует несколько способов запустить настройки. (Кроме того, для получения названий процесса окон в целом можно использовать " Покажите систему activities"; ярлык по умолчанию является Ctrl+Esc.) – Sven Marnach 15.05.2020, 14:04
  • 5
    Спасибо за сообщение с решением. Примите свой собственный ответ как решение.:) – Edward Newell 15.05.2020, 14:04