如何在启动用户会话时调用命令?

如何在启动用户会话时调用命令?

操作系统:Ubuntu 22.10
显卡:英伟达
监视器:飞利浦

问题:如何在 X11 启动后更改默认伽玛。

我希望调用的 gamma 命令是:

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. 在 user/share/X11/xorg.conf.d 中创建 .conf 文件同样失败。这导致我的电脑无法启动,需要以 root 身份进行恢复会话,以删除 .conf 文件。
  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以下是来自... 的命令的日志内容xgamma

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

相关内容