You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.10下添加到启动应用的gamma.sh脚本无法开机自动执行的问题求助

Ubuntu 22.10下添加到启动应用的gamma.sh脚本无法开机自动执行的问题求助

Hey,我来帮你解决这个开机脚本不运行的问题~你的情况我大概清楚了:脚本在终端里能正常跑,但加到Startup Applications里就失效,主要有几个常见原因,咱们一步步来排查解决:

  • 绝对路径问题:你在Startup Applications里填的./gamma.sh是相对路径,系统开机启动这个任务时,工作目录并不是你脚本所在的文件夹,自然找不到脚本。解决方法很简单:先找到脚本的绝对路径——打开终端,cd到脚本所在的目录,输入pwd得到当前路径,比如输出是/home/rob/scripts,那脚本的绝对路径就是/home/rob/scripts/gamma.sh。然后把Startup Applications里的命令改成这个绝对路径,而不是./gamma.sh。

  • X环境加载时机问题:xgamma是依赖X11图形环境的命令,有时候Startup Applications里的程序会在图形界面完全加载好之前就运行,这时候xgamma找不到X服务器,自然执行失败。可以给命令加个延迟,比如改成sleep 5 && /你的脚本绝对路径/gamma.sh,让它等5秒再执行,确保X环境就绪。时间可以根据你的系统启动速度调整,3-10秒都可以试试。

  • 更可靠的方式:使用~/.xprofile文件:Ubuntu的X会话启动时会自动执行~/.xprofile里的命令,你可以直接把xgamma -gamma 0.6加到这个文件里(如果文件不存在就新建一个),这样不用单独写脚本也能实现开机设置gamma,而且时机更准确,不会有路径或加载顺序的问题。操作步骤:

    1. 打开终端,输入nano ~/.xprofile
    2. 在文件里添加一行xgamma -gamma 0.6
    3. 按Ctrl+O保存,Ctrl+X退出
    4. 重启后就能生效了
  • 进阶方案:systemd用户服务:如果上面的方法都不行,可以试试用systemd用户服务来管理,它的执行时机控制更精准:

    1. 新建一个服务文件:nano ~/.config/systemd/user/gamma.service
    2. 粘贴以下内容:
      [Unit]
      Description=Set display gamma value
      
      [Service]
      Type=oneshot
      ExecStart=/usr/bin/xgamma -gamma 0.6
      Environment=DISPLAY=:0
      
      [Install]
      WantedBy=graphical-session.target
      
    3. 保存退出后,执行systemctl --user enable gamma.service来启用服务
    4. 重启后就能自动执行了

备注:内容来源于stack exchange,提问作者rob grune

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 14:29:10