如何在 CentOS linux 中自动“在终端中运行”脚本

如何在 CentOS linux 中自动“在终端中运行”脚本

我有一个简单的脚本,基本上执行“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

并且您的脚本正在运行。

相关内容