我经常需要在每次启动计算机时启动几个程序。如何才能使每次登录时都自动启动这些程序?
答案1
要使程序从 Ubuntu 启动:
如果你使用统一,搜索该程序
Startup Applications
。如果你使用Ubuntu 经典版,它位于开始菜单 > 首选项 > 启动应用程序。
要让 Ubuntu 在关机时记住您正在运行的应用程序:
打开终端并运行
gconf-editor
。导航 /应用程序/gnome-session/选项。
启用选项: 自动保存会话。
(注意:这可能会减慢系统启动速度,并且尚未经过彻底测试。)
答案2
应用程序登录后启动的用户定义会话
登录后自动启动应用程序的另一种方法是定义用户定义会话。这样做的好处是可以使用不同的会话执行不同的任务,每个会话都加载不同的应用程序。
为此,我们创建一个custom.desktop
文件以 root 身份添加/usr/share/xsessions
以下内容(适用于 GNOME/GDM):
[Desktop Entry]
Name=Marco's Crowded Session
Comment=Custom ~/.xsession script
Exec=/home/username/.xsession
X-Ubuntu-Gettext-Domain=gdm
为您的会话使用任何奇特的名称,username
当然,用您的名字替换。
这将在登录时运行 HOME 目录中的脚本.xsession
,我们可以在其中放入登录后需要启动的任何应用程序。
该脚本需要按照 .desktop 文件中的定义命名,即~/.xsession
在给出的示例中,需要使其可执行可能有类似这样的内容:
#! /bin/bash
my-important-app [options] &
second-app [options] &
[...] # add other applications
gnome-session [options]
gnome-session 选项可以省略以加载默认会话。例如,--session=classic-gnome
在 11.04 中提供运行经典 GNOME 桌面的选项。
下次登录时,我们将可以选择开始“Marco 的拥挤会议”除了 gnome-session(或您选择在此处启动的任何其他桌面管理器)中的应用程序外,脚本中的所有应用程序都在运行。
启动其他桌面管理器
开始另一个已安装~/.xsession
桌面管理器用以下内容替换脚本的最后一行:
gnome-session --session=ubuntu
适用于标准桌面(使用 Unity 11.04)。gnome-session --session=classic-gnome
适用于经典 GNOME 桌面。startkde
用于 KDE 桌面管理器。startxfce4
对于 XFCE,或者运行 Xubuntu 时。
答案3
12.04(Unity)
我们可以将应用程序添加到“启动应用程序”通过打开顶部面板右侧的菜单项:
14.04 (Unity) 及更高版本
我们可以在 Dash 中搜索“启动应用程序”
或者我们可以从终端运行启动首选项
gnome-session-properties
这将打开一个窗口,我们可以在其中看到所有已安装的、将在启动时运行的应用程序。勾选或取消勾选那里的应用程序,或者选择“添加”添加新应用程序:
如果我们知道运行该应用程序的命令,只需在此处输入即可“命令”行。我们还可以添加可选的“评论”这里。
如果我们不知道命令,我们可以选择“浏览...”我们的文件系统用于安装应用程序。许多默认应用程序位于以下位置/usr/share/application
:
选择要添加到自动启动的应用程序。
命令行或编程方法
与上面的 GUI 解决方案类似,我们可以手动将.desktop
文件添加到~/.config/autostart
。该文件的内容可能如下:
[Desktop Entry]
Type=Application
Exec=</path/to/binary or command to execute>
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=<Name_to_be_displayed>
Comment=<optional comment>
请注意,在原始安装中,该目录~/.config/autostart
可能尚不存在。我们需要先创建它,然后才能通过编程访问它。
答案4
另一个可能更简单的选项是进入菜单系统/首选项/启动应用程序,然后选择“选项”选项卡并勾选“注销时自动记住正在运行的应用程序”
这将启动您注销时正在运行的所有应用程序。