我有一个脚本,每次启动笔记本电脑时都会运行它(以重置屏幕亮度)。我希望能够使用启动器执行此命令:
echo 1500 > /sys/class/backlight/intel_backlight/brightness
不幸的是,为了执行此命令(编辑文件),我需要成为 SU 并输入我的用户名和密码。我知道 UNIX shell 脚本的设计不允许你输入这样的交互式变量,但我希望 Launcher 能有更多功能。
是否可以在启动器中输入超级用户名和密码等交互式参数?如果可以,该怎么做?
答案1
您可以使用 执行此操作gksu
。具体来说,让启动器运行以下命令:
gksu "bash -c 'echo 1500 > /sys/class/backlight/intel_backlight/brightness'"
这将使脚本提示您输入密码,然后改变亮度。
另一个更好的解决方案是使用 gnome-settings 守护进程来更改亮度,但这可能有效也可能无效,具体取决于您的硬件。这将允许您更改亮度而无需输入密码。
这样做的命令是:
gdbus call --session --dest org.gnome.SettingsDaemon --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Screen.SetPercentage 100
您可以100
用 0-100 之间的任意百分比亮度替换末尾的。
正如我所说的,这可能并不在所有情况下都有效,并且只能在您登录时使用。
为了使这些程序可以从启动器运行,您需要创建所谓的桌面文件。为此,您应该创建一个名为的新文件,~/.local/share/applications/fullbright.desktop
并将以下内容复制粘贴到其中。
[Desktop Entry]
Name=Full Brightness
GenericName=Brightness
Comment=Set Full Brightness
Exec=gdbus call --session --dest org.gnome.SettingsDaemon --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Screen.SetPercentage 100
Terminal=false
Type=Application
Icon=checkbox
Categories=Utility;
如果 gdbus 命令在您的系统上不起作用,请将其替换为 gksu 命令。
现在您应该能够从启动器使用该名称调用此命令,Full Brightness
并将其固定到您的 Dock 上,就像任何其他程序一样。