Как вызвать команду при запуске сеанса пользователя?
ОС: 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
Я хочу установить гамму по умолчанию, как указано выше, когда начинается мой сеанс пользователя.
Я пытался:
- Чтобы вызвать файл .sh при запуске, добавьте запись в «Автозапуск приложений». Это не удалось: .sh не будет вызываться. Добавление 10-секундной задержки ничего не дает.
- Редактирование файла xinitrc для добавления команд xgamma или xrandr. Тоже безуспешно.
- Создание файла .conf в user/share/X11/xorg.conf.d Также не удалось. Это привело к тому, что мой компьютер не загружался, и для удаления файла .conf потребовался сеанс восстановления с правами root.
- Создание файла .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
.