Gnome 登录后的 Linux 启动脚本

Gnome 登录后的 Linux 启动脚本

我有一台 Fedora 服务器,我想在用户登录后生成一个交互式 Python 脚本。此脚本将要求用户提供各种类型的信息以配置系统,或者它将搜索以前的配置文件并向他们显示预定义信息。最初我打算将其放在 rc.local 中或使其与 init.d 一起运行,但由于脚本的生成方式,这会搞乱启动。所以我希望这个脚本在用户登录 Gnome 后立即运行。我搜索了好一会儿,发现答案似乎正是我想要的,但它并没有按照我想要的方式工作。以下是我的输入。

[Desktop Entry]
Name=MyScript
GenericName=Script for initial configuration
Comment=I really want this to work
Exec=/usr/local/bin/myscript.sh
Terminal=true
Type=Application
X-GNOME-Autostart-enabled=true

每当我登录时,什么都没有发生。因此,我进行了测试,修改了“myscript.sh”,只将一些文本回显到文件中,并且它工作正常。因此,似乎不起作用的部分是脚本弹出一个终端并等待用户输入。我需要添加任何其他选项才能使其工作吗?我可以确认,当我从 CLI 运行 /usr/local/bin/myscript.sh 时,它工作正常。我还尝试添加“StartupNotify=true”,但仍然没有成功。

编辑@John - 我尝试将我的 Exec= 移动到 /usr/local/bin/myscript-test,这就是 myscript-test 包含的内容。

#!/bin/bash 
xterm -e /usr/local/bin/myscript.sh

再次,当我运行 myscript-test 时,它运行正常。但是当我将其放入自动启动中时,什么也没有发生。

编辑 2 - 我又做了一些测试,它确实开始工作了,但我必须先删除 Terminal=True,xterm 才会弹出。谢谢你的帮助。

答案1

这只是猜测,但看起来原始的“myscript.sh”只是启动了 Python 脚本。您没有终端,所以它不知道要打开终端。如果是这种情况,您需要在 myscript.sh 中明确启动一个终端,并在该终端内启动 Python 脚本。类似于“xterm -e”的命令应该可以做到这一点(这是我的糟糕记忆,我没有 xterm 的手册页,所以请不要逐字逐句地尝试)。

相关内容