如何在登录时自动启动应用程序?

我如何在登录后自动启动应用程序?

14.04及更高版本

  • 打开Dash并搜索“启动应用程序”

    在此处输入图像描述

  • 现在单击Add并输入命令以运行该应用程序。 如果已安装(见下文)或如此问题所示,可以在主菜单中找到。

    在此处输入图像描述


使用主菜单( alacarte 安装alacarte

  • 首先打开程序“主菜单”(在短划线中键入Menu

    在此处输入图像描述

  • 现在选择要添加到启动的程序,然后单击属性。

    在此处输入图像描述

  • 现在请注意该程序的命令。

    在此处输入图像描述


非GUI方法

高级用户可能希望在用户登录后将.desktop文件放在~/.config/autostart以运行应用程序。 这可能包含以下内容:

 [Desktop Entry] Type=Application Name= Exec= Icon= Comment= X-GNOME-Autostart-enabled=true 

对于11.04及更新版本,请参阅此处: 如何在登录时自动启动应用程序?

对于旧版本:如果要在启动时运行的程序位于“ 应用程序”菜单中,则可以将其拖放到“ 启动应用程序”窗口中以将其添加到列表中。

在此处输入图像描述

Unity和Xfce4都有GUI程序,允许您控制启动应用程序。

对于Unity:

在此处输入图像描述

在此处输入图像描述

对于Xfce4启动工具,可在设置>会话和启动中使用

在此处输入图像描述 图片由Xubuntu Geek xubuntugeek提供

如果GUI不是您想要的,并且您想要更高级的控制,那么您可以将.desktop文件放在~/.config/autostart/目录中用于Xfce4,并将.desktop文件放在~/.config/autostart中Unity用户登录后运行应用程序。

检查此问题以获得有关创建.desktop文件的更多帮助:

  • 如何手动编辑/创建Unity中的新启动器项目?

另请注意,如果您希望启动应用程序仅在XFCE中启动,而不是在Unity中启动,则必须将行OnlyShowIn=XFCE放在.desktop文件中。 对于仅Unity应用程序,它是OnlyShowIn=Unity

从Dash启动启动应用程序

在此处输入图像描述

单击“启动应用程序”

在此处输入图像描述

然后单击添加

在此处输入图像描述

键入程序的名称,浏览到该命令,然后单击“添加”。

另外 :这是我用来自动启动Guake的示例 – Yakuake的Gnome版本:

把它放在’命令’框中。

 sh -c "sleep 120s; guake" 

这会自动启动,但在此之前等待2分钟。 您可以将120更改为您想要的任何内容。

编辑:

对于14.04和16.04:

在Dash中键入Startup,然后在那里运行Startup Application表单

在此处输入图像描述

然后按照其余步骤进行操作。

(请注意,如果您使用其他语言的ubuntu,“startup”可能找不到正确的程序。请尝试使用您的语言的其他搜索)

您可能希望通过以下方式从CLI启动它:

 $ gnome-session-properties 

(以防万一你没有运行GNOME;))

您可以使用GNOME启动应用程序。 在此处输入图像描述

单击“添加”按钮,然后添加完整命令以打开所需的应用程序。 如果您不知道命令的路径,则可以执行此操作

name_of_commmand

看看$ XDG_CONFIG_DIRS / autostart目录:

 $ echo $XDG_CONFIG_DIRS/autostart /etc/xdg/xdg-kde-plasma:/usr/share/upstart/xdg:/etc/xdg/autostart 

其中说这个例子中有3个目录。 我想修剪nautilus条目

 sudo rm /etc/xdg/autostart/nautilus-autostart.desktop 

否则,如果您可以添加它,请创建一个桌面条目文件: sudo touch /etc/xdg/autostart/my-shell-autostart.desktop添加以下内容:

 [Desktop Entry] Name=foo Terminal=false Exec=/path/shell.sh Type=Application Icon=/path/icon.png Categories=Utility; 

对于Ubuntu 12.04,

  1. 从右上角的菜单启动启动应用程序

    在此处输入图像描述

  2. 在不单击Add的情况下,打开Dash并键入要在启动时运行的应用程序,例如Skype

    在此处输入图像描述

  3. 将应用程序拖到“启动”应用程序窗口中。 如果Dash窗口太大而无法将应用程序拖到外面,请使用左上角的还原窗口按钮(如上图所示)。 最终列表如下所示:

    http://imgur.com/G60wbOJ

还要将BATCH FILE放入启动应用程序以在用户登录后运行….在字段中启动应用程序的命令行键入命令:

 gnome-terminal -e "/batch-path/batch-name.sh" 
  • gnome-terminal :用户登录后以当前用户权限打开终端
  • -e :设置终端以执行批处理文件
  • /batch-path/batch-name.sh :是批处理完整路径和全名

请记住,比文件批处理权限设置标志允许将文件作为程序执行为 ON

Ubuntu 13.10带有UNITY指令

要使用需要sudo的命令来执行此操作有点棘手。

在我的情况下,我想使用命令sudo rmmod psmouse禁用PSMOUSE驱动程序,以防止随机显示自身的鼠标点击问题。 有关此问题的详细信息,请参阅Linux中处理鼠标和触摸板冻结 。 我厌倦了每次开机都输入它。

在我的安装中, ~/.config文件夹没有自动启动子文件夹,所以我创建了一个。 这样可以保存我的启动应用程序首选项设置。

要切换隐藏启动应用程序的可见性,可以使用以下命令。

向他们展示:

 sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop 

要隐藏它们:

 sudo sed -i 's/NoDisplay=false/NoDisplay=true/g' /etc/xdg/autostart/*.desktop 

按照“ 启动应用程序权限”窗口中的上述post配置命令。

 Name: Fix Mouse Command: sudo rmmod psmouse Comment: Fix Mouse 

然后你必须使用sudo visudo编辑/ etc / sudoers文件。 添加包含以下信息的行:

 username ALL=(ALL) NOPASSWD: /sbin/rmmod 

您必须在以%admin开头的行下方输入此行。 我将我的行添加到文件的末尾。 使用sudo visudo编辑此文件非常重要 ,因为犯错将导致您无法执行任何sudo命令。 如果发生这种情况,请在恢复模式下启动并撤消编辑,然后尝试使用sudo visudo

注意
最初我尝试使用bash脚本间接运行我的命令,但这不起作用。 我不得不将sudo rmmod psmouse直接放在Edit Startup Program窗口中。

您可以使用该function在系统/首选项/启动应用程序首选项窗口中记住当前正在运行的应用 程序 。 哪个(启用时)将“记住”您正在使用的所有程序,并在重新启动后或在一天内第一次启动系统时重新打开它们。

如果您没有足够的时间记录上次执行的操作,并且希望应用程序在上次运行时打开,那么这非常有用。

如果您希望从此function中删除应用程序,只需将其关闭并转到此function并按“记住当前正在运行的应用程序”,以刷新下次将打开的程序列表。

在此处输入图像描述

要以简单,便携的方式执行此操作,您可以使用Cron。 运行crontab -e编辑用户的crontab; 添加@reboot command以在每次启动时运行command

在Unity Dash中键入“启动应用程序”,它会列出您可以单击打开的应用程序。 打开它之后,您可以在那里添加您的应用程序。

Alt + F2 ,然后是gnome-help ghelp:user-guide?gosstartsession-2

单击“运行” ,等待一秒钟,然后按照说明进行操作。