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

如何在Night Light触发时运行自定义脚本

如何在Night Light触发时运行自定义脚本

嘿,这个需求我刚好折腾过,给你分享个靠谱的方案!核心思路是监听Night Light的状态变化,一旦它激活或停用,就自动触发对应的脚本命令。

步骤1:编写监听脚本

先创建一个bash脚本,用来监听Night Light的状态并执行你的自定义操作。比如你想要切换深色/浅色主题,脚本可以这么写:

#!/bin/bash

# 持续监听Night Light的启用状态变化
gsettings monitor org.gnome.settings-daemon.plugins.color night-light-enabled | while read -r line; do
    # 提取当前状态(true表示激活,false表示停用)
    current_status=$(echo "$line" | awk '{print $NF}')
    
    if [ "$current_status" = "true" ]; then
        # Night Light激活时执行的操作
        gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
        echo "Night Light已激活,切换到深色主题"
    elif [ "$current_status" = "false" ]; then
        # Night Light停用时执行的操作
        gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
        echo "Night Light已停用,切换到浅色主题"
    fi
done

步骤2:配置脚本权限

把脚本保存为night-light-trigger.sh(名字随便取就行),然后给它加上执行权限:

chmod +x night-light-trigger.sh

步骤3:测试脚本

直接运行脚本测试效果:

./night-light-trigger.sh

然后手动去系统设置里开关Night Light,看看主题是不是自动切换了,终端也会输出对应的提示信息。

步骤4:设置开机自动运行

要让这个监听脚本在你登录系统后自动后台运行,用GNOME的启动应用程序功能就行:

  • 打开「启动应用程序」(可以在应用列表里搜索这个名称)
  • 点击「添加」,填写名称(比如“Night Light 主题切换”),命令选择你刚才保存的脚本路径(比如/home/你的用户名/night-light-trigger.sh)
  • 点击「保存」,下次登录系统时脚本就会自动启动了

额外说明

  • 这个脚本会一直后台运行,但占用的系统资源非常少,完全不用担心性能问题
  • 只有当Night Light的状态实际发生变化时才会触发命令,而且如果Night Light本身是禁用的,状态不会变化,也就不会触发脚本,完全符合你的需求
  • 你可以把脚本里的gsettings命令换成任何你需要的自定义操作,比如调用其他脚本、启动某个程序等等

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 12:19:32