在我的操作系统上,无法手动设置亮度,因此我编写了一个小 shell 脚本来执行此操作:
#!/bin/sh
echo -n "Set Brightness To (from 0 to 100):"
read answer
echo $((answer * 8 + 50))>/sys/class/backlight/intel_backlight/brightness
但问题是,直接从 GUI 运行脚本不会提示用户在终端上输入(答案 = 0),并且右键单击在终端中运行是脚本提示用户输入所必需的。
如何在执行该脚本时直接显示终端?
答案1
提示输入
方法#1
使用xterm
您可以简单地运行您的应用程序作为您正在使用的任何终端模拟器的参数。我在这里使用xterm
:
$ xterm "./bright.bash"
这将导致您的应用程序在xterm
终端内运行:
与 相同的方法gnome-terminal
。
$ gnome-terminal -e ./bright.bash
方法#2 - 禅定
您可以使用 GUI 工具包zenity
打开一个对话框,要求输入响应,然后获取输入的内容并使用脚本的其余部分来设置它。
例子
$ cat brightness.bash
#!/bin/bash
answer="$(zenity --entry --title='Brightness setting' \
--text='Set Brightness To (from 0 to 100):')"
echo $((answer * 8 + 50))>/sys/class/backlight/intel_backlight/brightness
如果我们运行它,但只是回显最后一行而不是运行它,我们可以看到它会做什么:
$ ./brightness.bash
echo 450 > /sys/class/backlight/intel_backlight/brightness
用户界面如下所示:
答案2
另一种方法是调用终端程序并告诉它运行命令。大多数终端都可以选择执行此操作;对于 xterm (这是相当老派的),你可以这样做
xterm -e PROGRAMNAME
(用命令替换程序名)