当前位置: 首页>>技术问答>>正文


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

,

问题描述

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

最佳解决方法

14.04和更高版本


使用主菜单(alacarte)

  • 首先打开程序’Main Menu'(在Dash中输入Menu)

    autostart,ubuntu

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

    autostart,ubuntu

  • 现在记下该程序的命令。

    autostart,ubuntu


非GUI方法

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

[Desktop Entry]
Type=Application
Name=<Name of application as displayed>
Exec=<command to execute>
Icon=<full path to icon>
Comment=<optinal comments>
X-GNOME-Autostart-enabled=true

次佳解决方法

对于11.04和更新版本请参阅:How do I start applications automatically on login?

对于旧版本:如果您希望在启动时运行的程序位于“应用程序”菜单中,则可以将drag-and-drop加载到“启动应用程序”窗口中以将其添加到列表中。

autostart,ubuntu

第三种解决方法

从Dash启动启动应用程序

autostart,ubuntu

点击启动应用程序

autostart,ubuntu

然后点击添加

autostart,ubuntu

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

补充:下面是我用来自动启动Guake的示例 – Yakuake的Gnome版本:

把它放在’command’框中。

sh -c "sleep 120s; guake"

这会自动启动guake,但在此之前等待2分钟。你可以改变你想要的120。

编辑:

14.04和16.04:

在Dash中键入Startup,然后在那里运行启动应用程序窗体

autostart,ubuntu

然后按照其余的步骤。

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

第四种方法

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

对于Unity:

autostart,ubuntu

autostart,ubuntu

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

图片由Xubuntu Geek xubuntugeek提供

autostart,ubuntu

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

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

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

第五种方法

您可能需要通过以下命令从CLI启动它:

$ gnome-session-properties

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

第六种方法

您可以使用GNOME启动应用程序。

autostart,ubuntu

点击添加按钮,然后添加完整的命令来打开你想要的应用程序。如果你不知道你可以做的命令的路径

which name_of_commmand

第七种方法

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

gnome-terminal  -e  "/batch-path/batch-name.sh" 
  • gnome-terminal:用户以当前用户权限登录后打开终端

  • -e:设置终端执行批处理文件

  • /batch-path/batch-name.sh:是批处理完整路径和全名

记住比文件批处理权限设置标志允​​许执行文件作为程序打开。

第八种方法

看看$ 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

否则如果你可以添加它,创建一个Desktop entry文件: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;

第九种方法

带有UNITY指令的Ubuntu 13.10

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

在我的情况下,我想使用sudo rmmod psmouse命令禁用PSMOUSE驱动程序,以防止随机出现的鼠标点击问题。有关此问题的更多信息,请参阅Dealing with Mouse and Touchpad Freezes in Linux。我厌倦了在每次启动时输入它。

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

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

向他们展示:

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

在Startup Applications Perferences窗口中根据上述帖子配置您的命令。

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直接放入编辑启动程序窗口。

第十种方法

对于Ubuntu 12.04,

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

    autostart,ubuntu

  2. 在没有点击添加的情况下,打开Dash并键入您想要在启动时运行的应用程序,例如Skype的

    autostart,ubuntu

  3. 将应用程序拖到启动应用程序窗口。如果Dash窗口太大以至于无法将应用拖到外面,请使用左上角的恢复窗口按钮(如上图所示)。最终名单如下所示:

    autostart,ubuntu

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/90.html,未经允许,请勿转载。