Как вызвать команду при запуске сеанса пользователя?

ОС: Ubuntu 22.10,
графическая карта : nvidia,
монитор : philips

Проблема : как изменить гамму по умолчанию после запуска X11.

Гамма-команда, которую я хочу вызвать:

      xgamma -rgamma 0.6 -ggamma 0.5 -bgamma 0.5

или

      xrandr --output DP-0 --gamma 0.6:0.5:0.5

Я хочу установить гамму по умолчанию, как указано выше, когда начинается мой сеанс пользователя.

Я пытался:

  1. Чтобы вызвать файл .sh при запуске, добавьте запись в «Автозапуск приложений». Это не удалось: .sh не будет вызываться. Добавление 10-секундной задержки ничего не дает.
  2. Редактирование файла xinitrc для добавления команд xgamma или xrandr. Тоже безуспешно.
  3. Создание файла .conf в user/share/X11/xorg.conf.d Также не удалось. Это привело к тому, что мой компьютер не загружался, и для удаления файла .conf потребовался сеанс восстановления с правами root.
  4. Создание файла .sh на рабочем столе и вызов после начала сеанса пользователя. Удачно, отчасти. Но это не значение по умолчанию, и система переопределит команду .sh при переходе в спящий режим и вызове других приложений. Не то решение, которого я надеюсь достичь.

Любая помощь искренне приветствуется. Спасибо.

Обновление №1 :

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

      sh -c '{ echo "started"; xgamma -rgamma 0.6 -ggamma 0.5 -bgamma 0.5; echo "$?"; echo "ended"; } > /home/user/startupapp.log 2>&1'

Вот содержимое логов изcat ~/startupapp.log... для команды:

      started
-> Red 1.000, Green 1.000, Blue 1.000 
<- Red 0.600, Green 0.500, Blue 0.500 
0 
ended

И дляxrandrкоманда:

      started
0
ended

После вызоваxgammaкоманда, хотя журнал показывает изменение гаммы, монитор остается на значениях гаммы1.00.

0 ответов

Другие вопросы по тегам