![如何在 CentOS linux 中自动“在终端中运行”脚本](https://linux22.com/image/79603/%E5%A6%82%E4%BD%95%E5%9C%A8%20CentOS%20linux%20%E4%B8%AD%E8%87%AA%E5%8A%A8%E2%80%9C%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%BF%90%E8%A1%8C%E2%80%9D%E8%84%9A%E6%9C%AC.png)
我有一个简单的脚本,基本上执行“tail -1000f /public/XERlog”
我在桌面上创建了一个名为 log.desktop 的文件,其中包含:
Exec= tail -1000f /public/XERlog
Name= XERlog
Path=/tmp/
StartupNotify=true
Terminal=true
Type=Application
该文件位于桌面上,当您双击它时,它会打开一个对话框,其中有一些选项,例如“在终端中运行”、“运行”和“查看”等。我希望它自动在终端中运行,有没有办法强制它不每次都给出对话框?
答案1
您可以运行终端模拟器而不是尾部。每个终端仿真器都接受要作为参数执行的命令。
要运行 a,gnome-terminal
您可以Exec
按如下方式更改该行:
Exec=gnome-terminal --window --command "tail -f /var/log/messages"
确切的行根据您选择的终端模拟器而变化。
请注意,您应该将该Terminal
行更改为false
答案2
您的文件缺少标题行:
[Desktop Entry]
Exec=tail -f /var/log/messages
Name=XERlog
Path=/tmp/
StartupNotify=true
Type=Application
Terminal=true
答案3
您可以直接从终端运行它。只需打开终端,找到该文件并将其重命名为“somename.sh”,然后:
mv log.desktop somename.sh
chmod +x somename.sh
./somename.sh
并且您的脚本正在运行。