78

I frequently need to start several programs that I use every time I start my computer. How can I make it so that whenever I login the program is automatically launched?

karel
  • 114,770
Marco Ceppi
  • 48,101

8 Answers8

56

To make a program start with Ubuntu:

  • If you're using Unity, search for the program Startup Applications.

  • If you're using Ubuntu Classic, it's under Start Menu > Preferences > Startup Applications.


To make Ubuntu remember your running applications on shutdown:

  1. Open a terminal, and run gconf-editor.

  2. Navigate to /apps/gnome-session/options.enter image description here

  3. Enable the option: auto_save_session.

(NOTE: this may slow system boot, and has not been throughly tested.)

Alan
  • 2,770
  • i did that but like i remember in 10.10 it has a button that said click here to remember all applications open to be start up automatically (or something like that) – pinpin890 Apr 30 '11 at 19:00
  • Please see my edited post. – Alan Apr 30 '11 at 19:09
  • okay..so its being fixed right? or being "discussed" – pinpin890 Apr 30 '11 at 19:26
  • That post is from February when Natty was being tested. There is no other information that goes along with it, but I would assume they are still trying to fix it. – Alan Apr 30 '11 at 19:32
  • okay ...thank you for informing this information – pinpin890 Apr 30 '11 at 20:05
  • Kevin, please see my updated answer. – Alan May 01 '11 at 23:10
  • Duplicate of http://askubuntu.com/questions/38988/is-there-a-way-for-saving-a-session-in-11-04. – Alan May 01 '11 at 23:12
  • No joy for me. I set the flag, but the various terminal windows (with multiple tabs) that I created in the various workspaces before I logged off were not restored when I logged back in. – RWShore May 07 '11 at 11:29
  • Yes. The reason this option was removed from its normal spot in Startup Applications, is because it has become "broken" in a way. Although some users still report that it works fine, in your case, it may be the other way around. – Alan May 07 '11 at 17:12
  • is there something similar for oposite solution when user log-out from unity – Ib33X Nov 29 '11 at 14:43
  • That's not work on Ubuntu 12.04 - there is only splash_image item in the options. I've also tried to add auto-save-session=true option manually but it didn't help, running applications don't restore after restart... – yetanothercoder Aug 10 '12 at 09:24
29

User defined sessions for applications to start after login

An alternative way to automatically start applications after login is to define a user defined session. This has the advantage to use different sessions for different task, each with different applications loaded.

For this purpose we create a custom.desktop file as root in /usr/share/xsessions with the following content (for GNOME/GDM):

[Desktop Entry]
Name=Marco's Crowded Session
Comment=Custom ~/.xsession script
Exec=/home/username/.xsession
X-Ubuntu-Gettext-Domain=gdm

Use any fancy name for your session and replace username by your name of course.

This will run the script .xsession in the HOME directory at login where we can put in any appplications we need to start after login.

The script needs to be named as defined in the .desktop file, that is ~/.xsession in the example given, needs to be made executable and may have a content similar to this:

#! /bin/bash

my-important-app [options] & second-app [options] & [...] # add other applications gnome-session [options]

Options for gnome-session may be omitted to load the default session. Give e.g. --session=classic-gnome as option to run Classic GNOME Desktop in 11.04.

Next time we login we will have the choice to start a "Marco's Crowded Session" with all applications from the script running in addition to applications from the gnome-session (or any other desktop manager you chose to start here).

Starting other desktop managers

To start another installed desktop manager replace the last line from the ~/.xsession script with the following:

  • gnome-session --session=ubuntu for standard desktop (with Unity in 11.04).
  • gnome-session --session=classic-gnome for classic GNOME desktop.
  • startkde for KDE desktop manager.
  • startxfce4 for XFCE, or when running Xubuntu.
Takkat
  • 142,284
16

12.04 (Unity)

We can add applications to the "Startup Applications" by opening the menu entry on the top panel right side:

enter image description here

14.04 (Unity) and later

We can search the Dash for "startup applications"

enter image description here

or we can run the startup preferences from a terminal with

gnome-session-properties

This will open a window where we can see all installed applications that will run on startup. Tick or untick the applications there or choose "Add" to add a new application:

enter image description here

If we know the command to run the application just enter it here in the "Command" line. We may also add an optional "Comment" here.

If we do not know the command we can choose to "Browse..." our file system for installed applications. Many default applications are found e.g. in /usr/share/application:

enter image description here

Select an application to add to autostart.

Command line or programmatical approach

Similar to what the GUI solution above does we can manually add a .desktop file to ~/.config/autostart. The content of this file may be as follows:

[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>

Note that in a vanilla installation the directory ~/.config/autostart may not yet exist. We need to create it before we can access it programmatically.

Takkat
  • 142,284
  • Thanks for the programmatic approach, that's exactly what I was looking for. – Jacobo de Vera Aug 27 '13 at 11:37
  • Is this working with Unity desktop or i need Gnome desktop? Cause with Unity in 15.04 its not working. –  May 24 '15 at 21:41
  • @YumYumYum thank you for the notice - updated answer :) – Takkat May 25 '15 at 05:21
  • Is the ~/.config/autostart portable? The other two look to be supported by the GNOME desktop environment and Unity. – Ashhar Hasan Apr 01 '16 at 14:30
  • 1
    It is available on all X-systems where we had ot specified a different directory spec. See https://specifications.freedesktop.org/autostart-spec/0.5/ar01s02.html – Takkat Apr 01 '16 at 14:43
14

If you are using the GNOME Desktop Environment, then this is rather simple to accomplish.

  • Go to System>Preferences>Startup Applications,

menu screenshot

  • Now you can either add an application by clicking add,

enter image description here

  • And adding the application/script you want to run on startup,

enter image description here

  • Or you can add an application by dragging the launcher you wish to add from the Application menu to the Startup Applications screen.
RolandiXor
  • 51,541
4

Another, possibly simpler, option would be to go to menu System/Preferences/Startup applications, then choose the "Options" tab and tick "Automatically remember running applications when logging out"

Startup Applications Preferences

This will start up any applications you have running when you log out.

Scaine
  • 11,139
  • +1 but this needs to be handled with care. If one of the apps just running is buggy or crashes the X-Server you may end up with a bad to handle no-fun system (I had that once). – Takkat Mar 19 '11 at 19:08
  • Yeah, I admit - that's why I stopped using it too. There is always "gnome-failsafe" session, I suppose, but I couldn't figure out how to recover my crashed session. That was years ago though. Hard to believe it would happen these days. – Scaine Mar 19 '11 at 19:45
  • How to get this Options tab in Ubuntu 12.04? there is only one Startup Programs one – yetanothercoder Aug 10 '12 at 09:26
  • 12.04 has removed the "automatically remember" option I show above. You have to search Dash for "Startup Applications" then manually add the entries you want. – Scaine Aug 12 '12 at 22:45
3

None of the answers (until now) gives a user-independent solution.

The correct way (according to this thread) to add some autorunning program (named a Desktop Entry) for the whole Operating System is adding it as a .desktop file here:

/etc/xdg/autostart

Example of .desktop file:

[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

No need to chmod it to executable permission, it seems. The Exec will run for any logging user, including root, ubuntu or xubuntu (for custom Live distribution desktops)

Sopalajo de Arrierez
  • 961
  • 3
  • 12
  • 22
1

In 11.04, you press the powerbutton (rightmost on the upper panel) and select System settings. You'll find Startup Applications under Personal preferences. It's the same dialog that we had in earlier versions of Ubuntu.

0

i guess that you can add the command in System --> Preferences --> app Start

then click add, put a name somthing like "Firefox start" the command name part click

"examine" and look for executable file of the program that you need start at login...restart

hope this help you!!!

regards!!!

Turk182
  • 34