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

#1 楼

## 20.04及更高版本

如果尚未默认安装,请安装gnome-startup-applications

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



单击“添加”以输入命令,其中包括应用程序的选项,就像您从终端运行它一样(如果从非标准位置运行,则可能必须提供完整路径)。



这将在您的〜/ .config / autostart中添加一个.desktop文件



您可能需要授予此桌面文件权限

## 14.04及更高版本

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




现在单击添加并输入命令以运行该应用程序。如果已安装,则可以在主菜单中找到它(请参见下文)


##使用主菜单(阿拉卡特)来找到运行给定程序的终端命令:

首先打开程序“主菜单”(在Dash中键入Menu)。



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



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



##非GUI方法
高级用户可能需要在用户登录后手动将.desktop文件放入~/.config/autostart中以运行应用程序。其中可能包含以下内容:
[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

您可能必须授予该文件执行权限。

评论


“非GUI方法”部分很有用,我正在搜索该文件夹!

–斯特凡诺
2013年1月7日17:50

如果您在菜单中(例如在Gnome Shell中)找不到``启动应用程序首选项''对话框,则可以从ALT + F2 gnome-session-properties中启动

–mtdevans
13年1月28日在22:59

在用户登录之前,有什么方法可以运行应用程序吗?

– SuB
2014年10月4日15:07

@ abhishah901:感谢您的通知,更新了答案。

–塔卡特语
15年12月24日在9:22

请注意,如果采用非GUI方法,则该文件必须以.desktop结尾,否则它将被忽略。

–躁狂症
16-09-30在12:38



#2 楼

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

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



#3 楼

从Dash启动启动应用程序



单击启动应用程序



,然后单击添加



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

添加:这是我使用的示例自动启动Guake-Yakuake的Gnome版本:

将其放在“命令”框中。这样做之前2分钟。您可以将120更改为任意值。

编辑:

对于14.04和16.04:

在Dash中键入Startup,然后运行Startup Application在此处形成



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

(请注意,如果您正在使用另一种语言的ubuntu, ,“启动”可能找不到正确的程序。请尝试使用您所用语言进行的另一次搜索)

评论


在Ubuntu 14.04中,我在右上角的系统菜单中看不到那些选项。

–user29020
2014-09-25 7:39

在14.04中,在破折号中键入Startup,然后可以从那里运行它。查看答案中的其他内容。谢谢

– Mitch♦
2014-09-25 13:02



#4 楼

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

对于Unity:





对于Xfce4启动工具在设置>会话和启动


图像由Xubuntu Geek xubuntugeek提供

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

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


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

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

评论


从您的答案中我得到的是,您都将.desktop文件放在〜/ .config / autostart /中。

–爱德华(Eduard Florinescu)
2012年8月30日7:37

请如果您内心知道该GUI程序是什么,对于Unity,它是Startup Applications(易于搜索),对于xfce?

–爱德华(Eduard Florinescu)
2012年8月30日7:38



#5 楼

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

$ gnome-session-properties


(以防万一您不运行GNOME;))

评论


我没有其他方法可以找到$#@!窗口。我的机器上没有以上菜单项,但是此命令将其正确启动。

– Reb.Cabin
17年1月30日,下午3:28

#6 楼

看一下$ 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;


评论


$ XDG_CONFIG_DIRS / autostart在冒号分隔的目录的最后一个目录中添加“ autostart”。在由冒号分隔的其他目录下也可能有自动启动目录。实际上,目录是按优先顺序排序的。此外,如果$ XDG_CONFIG_DIRS为空或未设置,则配置文件的基本目录为/ etc / xdg。见参考

– jarno
19年8月18日在23:40

并且用户特定的自动启动文件应放在$ XDG_CONFIG_HOME / autostart下,默认为$ HOME / .config / autostart

– jarno
19年8月18日在23:53

这样解决了我的问题,谢谢!

– s
20年7月3日,9:21

#7 楼

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

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


其中name_of_commmand


#8 楼

对于Ubuntu 12.04,



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




不带单击添加,打开Dash并键入要在启动时运行的应用程序,例如Skype




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





评论


好吧,第1步不适用于Ubuntu 16.10。但是将应用程序拖放到自动启动窗口的可能性确实很大。

– eDeviser
16年11月4日在8:17

#9 楼

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

gnome-terminal  -e  "/batch-path/batch-name.sh" 




gnome-terminal:使用当前用户权限在用户登录后打开终端

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

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

要记住文件批处理权限,以将标志“允许将文件作为程序执行”设置为ON。

#10 楼

带有UNITY说明的Ubuntu 13.10

使用需要sudo的命令来执行此操作有些棘手。以防止随机出现的鼠标单击问题。有关此问题的更多信息,请参见处理Linux中的鼠标和触摸板冻结。我已经厌倦了在每次引导时都输入它。

在安装时,sudo rmmod psmouse文件夹没有自动启动子文件夹,因此创建了一个子文件夹。这样可以保存我的“启动应用程序首选项”设置。

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

显示它们:
/>
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


根据“启动应用程序参考”窗口中的以上文章配置命令。

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


然后,您必须使用~/.config编辑/ etc / sudoers文件。
添加包含以下信息的行:

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


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

注意:
最初,我尝试使用bash脚本间接运行命令,但这没有工作。我不得不将sudo visudo直接放在“编辑启动程序”窗口中。

#11 楼

对于执行此操作的简单,可移植的方法,可以使用Cron。运行crontab -e编辑用户的crontab;添加@reboot command以在每次启动时运行command

#12 楼

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

您没有足够的时间记录上次执行的操作,并且希望上次运行时打开应用程序。

如果要从此功能中删除应用程序,只需将其关闭并转到该功能,然后按“记住当前正在运行的应用程序”,以刷新将在下一个打开的程序列表时间。



评论


我对此不满意的唯一一件事是,当您的/我的无线设备处于活动状态时,其加载速度比我的浏览器慢。无线上网后,每个标签都需要重新加载。

–灵风
2011年5月8日在17:17

好点子。这就是为什么在打开浏览器时不保存该首选项的原因:) Docky拥有带有图标的浏览器控件。但是您的好点!谢谢。

–Geppettvs D'Constanzo
2011年5月9日20:50

#13 楼

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

#14 楼

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

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

评论


很酷,我知道要添加的部分,但不知道命令...所以我要用谷歌搜索吗?还是我应该按alt + f2然后输入程序名称...如果找到它,我会说在终端运行...以显示命令?

–user11383
2011-2-24在4:43

@Bob,您要在启动时运行哪个应用程序?

– Oxwivi
2011-2-24在5:35

在Ubuntu Studio 18.04中不起作用

– R B
20年7月17日在17:34

#15 楼

这是“启动应用程序”的陷阱。我需要在启动时运行以下命令,以激活我定义的自定义键重新映射:

xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY


我将其放入“启动应用程序”,如上面的其他答案所示,但它不起作用。

解决方案:通过以下方式将其放入“启动应用程序”中:

bash -c "xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY"

不知道为什么。我是通过反复试验解决的。)