From ArchWiki
Jump to: navigation, search

This article links to various methods to launch scripts or applications automatically when some particular event is taking place, like system startup or shutdown, shell login or logout and so on.


You can start your scripts or applications as daemons, see Daemon.


systemd is the default init framework, replacing initscripts. The services which are started by systemd can be found in the subfolders of /etc/systemd/system/. Services can be enabled using the systemctl command. For more information about systemd and how to write autostart scripts for it, see at systemd. To autostart scripts for specific users, see systemd/User.


Cron can be used to autostart non-GUI system setup tasks.

File-system changes

inotify-tools can be used to execute commands or scripts on inotify events, triggered by file-system changes. See some examples.

Other tools that use the same underlying functionality are incron and fswatchAUR.


To autostart programs in console or upon login, you can use shell startup files/directories. Read the documentation for your shell, or its ArchWiki article, e.g. Bash#Configuration files or Zsh#Startup/Shutdown files.

See also Wikipedia:Unix shell#Configuration files for shells.


Upon login, all Bourne-compatible shells source /etc/profile, which in turn sources any readable *.sh files in /etc/profile.d/: these scripts do not require an interpreter directive, nor do they need to be executable. They are used to set up an environment and define application-specific settings.


You can autostart programs automatically when you login into your Window manager or Desktop environment.

X session startup

See xinitrc and xprofile.

Desktop entries

See Desktop entries#Autostart.


See GNOME#Startup applications.

KDE Plasma

See KDE#Autostarting applications.


See Xfce#Startup applications.


See LXDE#Autostart.


See LXQt#Autostarting applications.


See Fluxbox#Autostart programs.


See Openbox#autostart.


See Awesome#Autorun programs.