How to Manage Startup Applications in Ubuntu

On a freshly installed Ubuntu system, a number of applications are configured to launch automatically every time you log in. Some of these are essential system services. Others — like cloud sync clients, chat applications, or software update tools — are simply applications that have added themselves to the startup list. If your Ubuntu desktop takes a long time to become usable after login, or you notice high CPU and RAM usage immediately after booting, managing startup applications is one of the most effective performance improvements you can make.

This guide covers how to view, disable, and add startup applications using both the graphical interface and the command line.

Method 1: Using the Startup Applications Preferences Tool (GUI)

Ubuntu includes a graphical tool specifically for managing startup applications, though it is not immediately obvious where to find it.

  1. Press the Super key (Windows key) to open the Activities overview.
  2. Type Startup Applications in the search bar.
  3. Click the Startup Applications Preferences result to open it.

The window lists every application currently configured to launch at login. Each entry has a toggle switch and a brief description.

  • To disable an application from starting automatically, untick its checkbox.
  • To remove an entry completely, select it and click Remove.
  • To add a new startup application, click Add and provide a name, the command to run, and an optional comment.

Disabling an entry does not uninstall the application — it simply prevents it from launching at login. You can re-enable it at any time.

Showing Hidden Startup Entries

The Startup Applications Preferences tool hides many system-level entries by default to prevent users from accidentally disabling critical services. To see all hidden entries, run the following command in a terminal before opening the tool:

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

After running this, open Startup Applications Preferences again. You will see significantly more entries, including system services. Be careful when disabling anything you do not recognise — some entries are required for the desktop environment to function correctly.

Method 2: Managing Startup Applications via the Terminal

Startup applications in Ubuntu are controlled by .desktop files stored in two locations:

  • System-wide startup entries: /etc/xdg/autostart/
  • User-specific startup entries: ~/.config/autostart/

User-specific entries in ~/.config/autostart/ take priority over system-wide entries. This is where applications typically place their startup files when configured by a regular user.

List All User Startup Applications

ls ~/.config/autostart/

View the Contents of a Startup Entry

cat ~/.config/autostart/appname.desktop

Inside you will find lines such as Exec=appname (the command that runs) and Hidden=false (whether the entry is active).

Disable a Startup Application Without Deleting Its File

Rather than deleting a startup file outright, you can disable it by adding a Hidden=true line. This is safer as you can easily re-enable it later:

echo "Hidden=true" >> ~/.config/autostart/appname.desktop

Replace appname.desktop with the actual filename of the entry you want to disable.

Add a New Startup Application via Terminal

To add an application to startup manually, create a new .desktop file in ~/.config/autostart/:

nano ~/.config/autostart/myapp.desktop

Add the following content, replacing the values to match your application:

[Desktop Entry]
Type=Application
Name=My Application
Exec=/usr/bin/myapp
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

Save the file with Ctrl + O and exit with Ctrl + X. The application will now launch automatically on your next login.

Method 3: Managing Services with systemd

Some startup items in Ubuntu are not desktop applications but background system services managed by systemd. These are separate from the Startup Applications Preferences tool.

List All Enabled Services

systemctl list-unit-files --state=enabled

Disable a System Service from Starting Automatically

sudo systemctl disable servicename

Enable a Service to Start Automatically

sudo systemctl enable servicename

Check Whether a Service is Enabled

systemctl is-enabled servicename

Disabling a service with systemctl disable stops it from starting automatically but does not stop it immediately. To stop it right now as well, use:

sudo systemctl disable --now servicename

Practical Tips for Improving Ubuntu Boot Time

  • Audit regularly: Applications frequently add themselves to startup without asking. Check your startup list after installing new software.
  • Defer rather than disable: Some applications support a startup delay option. A 30-second delay for a non-critical application can make the login experience feel significantly faster even if the application still launches.
  • Check system services carefully: Disabling the wrong systemd service can break desktop features, networking, or printing. Only disable services you can specifically identify.
  • Use systemd-analyze to diagnose slow boot: Run systemd-analyze blame in a terminal to see a ranked list of services and how long each one took to start. This quickly identifies the biggest bottlenecks.

Managing startup applications is one of the lowest-risk, highest-impact ways to improve Ubuntu’s responsiveness. A system with only the necessary services running at login is noticeably faster and more reliable.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.

Receive our best articles and tips delivered straight to your inbox.