2011-11-23 166 views
29

我有一个脚本,需要在用户通过nx客户端登录后启动。据我所知,Gnome在用户登录后启动(如果我在这里错了,请纠正我)。我会在哪里放置脚本,以便在用户登录后启动?Gnome启动时启动脚本

相关信息: 我正在一个RedHat机器上,并假设我有回家目录(〜目录),而不是/目录(谁能告诉我这是什么目录被称为内只能访问文件?唯一的那个)。是否有任何文件可以修改/添加到主目录中,以帮助我启动脚本?如果我想从/目录启动脚本,那该怎么办?

只是澄清,因为它可能不清楚。 〜/ home目录意味着主目录中的所有文件包括子目录中的文件;与/目录相同。

+0

'/'目录通常被称为'root'目录,它通常可能与'/ root'或'/ home/root'(根用户的文件和配置所在的目录)混淆。 – dragon788

回答

69

没有用于此目的的规范,并将其与支持规范的任何桌面环境工程(例如KDE,GNOME2,GNOME3,...)。

你应该把一个Desktop Entry文件(的.desktop扩展)的~/.config/autostart内(对于用户)或/etc/xdg/autostart(对整个系统)。在该文件中,您将脚本设置为运行(请参阅选项Exec)。有关更多信息,请检查Desktop Application Autostart Specification

例如,你可以把一个文件,内容如下:

[Desktop Entry] 
Name=MyScript 
GenericName=A descriptive name 
Comment=Some description about your script 
Exec=/path/to/my/script.sh 
Terminal=false 
Type=Application 
X-GNOME-Autostart-enabled=true 

您还可以使用图形用户界面来创建一个条目,在GNOME 2 System/Preferences/Startup Applications。在那里你可以添加一个新的条目。

+0

如果您需要将“工作目录”(cd/pwd)设置为特定位置,则可以使用Path键指定该目录。例如,'Path =/opt/CoolBeans /' https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html#exec-variables –

+0

并且['OnlyShowIn''或' NotShowIn' keys](https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html),您可以将启动脚本定位到特定的X桌面。 – palswim

+0

包含桌面条目的文件的文件名应该有一个扩展名“.desktop” – JSixface

6

在GNOME3,你必须创建一个文件夹〜/的.config /自动启动,把剧本中有

15

在GNOME3,如果你喜欢一个基于GUI的方法,你可以运行命令:ALT + F2,然后键入在弹出窗口的窗口:

gnome-session-properties 
+8

现在不推荐使用gnome-session-properties ... – nus

+0

Gnome-session-properties将条目添加到〜/ .config/autostart中,所以我不用不相信它已被弃用。 – dragon788

3

有没有方便的工具来做到这一点在GNOME 3 ,因此您可以手动创建.desktop文件或使用this app