{"id":51087,"date":"2026-04-29T11:59:16","date_gmt":"2026-04-29T11:59:16","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=51087"},"modified":"2026-04-29T11:59:16","modified_gmt":"2026-04-29T11:59:16","slug":"how-to-add-custom-startup-program-in-ubuntu-26-04","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2026\/04\/how-to-add-custom-startup-program-in-ubuntu-26-04\/","title":{"rendered":"How to Add Custom Startup Program in Ubuntu 26.04"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-49763\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/startupapps-icon-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/startupapps-icon-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/startupapps-icon-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/startupapps-icon-700x700.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/startupapps-icon-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/startupapps-icon.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>Ubuntu 26.04 does no longer have the &#8220;Startup Applications&#8221; utility! Here are alternative ways to add startup programs, scripts, or commands that run automatically at login.<\/p>\n<p>As you may know, the default Gnome Desktop (since v49) added the feature to enable auto-start applications by using toggle options in <i>Settings -&gt; Apps<\/i>.<\/p>\n<p><!--more--><\/p>\n<p><b>It&#8217;s great for beginners, but, what if you want to auto-start app with custom options, or auto-run custom commands\/scripts at login?<\/b><\/p>\n<div id=\"attachment_49771\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/g49-autostartup.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-49771\" class=\"size-large wp-image-49771\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/g49-autostartup-700x407.webp\" alt=\"\" width=\"610\" height=\"355\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/g49-autostartup-700x407.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/g49-autostartup-300x174.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/g49-autostartup-768x446.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/g49-autostartup-1536x893.webp 1536w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/g49-autostartup-1320x767.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/g49-autostartup.webp 1715w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><p id=\"caption-attachment-49771\" class=\"wp-caption-text\">Autostart apps via Ubuntu Settings<\/p><\/div>\n<p>Here I&#8217;m going to show you 2 alternatives to do the job in Ubuntu 26.04:<\/p>\n<ul>\n<li>Add startup app manually using <code>.desktop<\/code> configuration file.<\/li>\n<li>Use a third-party graphical configuration tool.<\/li>\n<\/ul>\n<h3>Option 1: Use .desktop configuration file<\/h3>\n<p>As you may know, all the app icons you see in Gnome app grid, dock, or other app launchers in most popular Linux distributions are handled by <code>.desktop<\/code> files under <code>\/usr\/share\/applications<\/code>, <code>.local\/share\/applications<\/code>, etc directories.<\/p>\n<p>Similarly, auto-start apps are handled by the <code>.desktop<\/code> files under either <code>\/etc\/xdg\/autostart<\/code> or <code>.config\/autostart<\/code> directories.<\/p>\n<p>And, when you turn on &#8220;Autostart&#8221; toggle switch for an application in Settings (Gnome Control Center), it will automatically create a file under <code>.config\/autostart<\/code> linked to the <code>.desktop<\/code> file for that app icon.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51089\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/local-autostartdir-700x416.webp\" alt=\"\" width=\"610\" height=\"363\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/local-autostartdir-700x416.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/local-autostartdir-300x178.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/local-autostartdir-768x456.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/local-autostartdir.webp 909w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>If you want to auto-run custom commands, scripts, or apps with custom options at login, then just create <code>.desktop<\/code> files in that directory with following steps.<\/p>\n<p><b>1. Create the directory.<\/b> The <code>~\/.config\/autostart<\/code> directory does not exist out-of-the-box. You may either open &#8220;Files&#8221; and press Ctrl+H to view hidden files\/folders, then navigate to <code>.config<\/code> and create <b>autostart<\/b> subfolder, or open terminal (<b>Ctrl+Alt+T<\/b>) and run command below to create:<\/p>\n<pre>mkdir -p ~\/.config\/autostart<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51090\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartfolder-700x396.webp\" alt=\"\" width=\"610\" height=\"345\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartfolder-700x396.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartfolder-300x170.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartfolder-768x434.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartfolder.webp 909w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p><b>2. Create &amp; edit custom <code>.desktop<\/code> file.<\/b> Next, go to that &#8220;autostart&#8221; folder and create a document then rename to <code>xxx.desktop<\/code> , &#8220;firefox-private.desktop&#8221; for example, and click edit via\u00a0text editor:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51091\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartdesktop-700x397.webp\" alt=\"\" width=\"610\" height=\"346\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartdesktop-700x397.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartdesktop-300x170.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartdesktop-768x435.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/create-autostartdesktop.webp 949w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p><b>Tips:<\/b> Ubuntu (Gnome indeed) does not have &#8220;New Document&#8221; context menu option, see <a href=\"https:\/\/ubuntuhandbook.org\/index.php\/2026\/04\/top-things-to-do-after-installed-ubuntu-26-04-lts\/\" target=\"_blank\" rel=\"noopener\">this tutorial<\/a> to enable it.<\/p>\n<p>When file opens, write following content and edit accordingly:<\/p>\n<pre>[Desktop Entry]\r\nType=Application\r\nExec=sh -c \"sleep 30; firefox --private-window https:\/\/www.google.com\"\r\nHidden=false\r\nName=Firefox Private Mode\r\nComment=Open google.com automatically in Firefox private window.<\/pre>\n<p>In the case, it will auto-launch Firefox in private mode and open Google.com automatically, with 30 seconds delay after login.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51092\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/autostart-firefoxexample-700x554.webp\" alt=\"\" width=\"610\" height=\"483\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/autostart-firefoxexample-700x554.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/autostart-firefoxexample-300x237.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/autostart-firefoxexample-768x608.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/autostart-firefoxexample.webp 815w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>According what you want to run, you need to replace the command for &#8220;<b>Exec<\/b>&#8220;, and edit the &#8216;Name&#8217; and &#8216;Comment&#8217; as you want. For example, use:<\/p>\n<ul>\n<li><code>Exec=\/home\/ji\/Documents\/myscript<\/code> to run my script under user <i>Documents<\/i> directory.<\/li>\n<li><code>Exec=sh -c \"$HOME\/Documents\/myscript\"<\/code> to run the same script, but here &#8220;sh -c&#8221; command interpreter is required so it knows what is <code>$HOME<\/code>.<\/li>\n<li><code>Exec=update-manager --install-all<\/code> to auto-launch Software Updater and install all available updates.<\/li>\n<\/ul>\n<p><b>Tips:<\/b><\/p>\n<ul>\n<li>It&#8217;s better to first run the custom command or script in terminal to make sure it works.<\/li>\n<li>The X-GNOME-Autostart-Delay parameter does not work in Wayland, use <code>sleep<\/code> in command to add time delay in seconds.<\/li>\n<li>You may change <b>Hidden=false<\/b> to <b>Hidden=true<\/b> to disable that <code>.desktop<\/code> file, just like it&#8217;s deleted.<\/li>\n<li>Add <code>Terminal=true<\/code> if the command need to run in a terminal.<\/li>\n<li>For more about the desktop entry keys, see the doc in <a href=\"https:\/\/specifications.freedesktop.org\/desktop-entry-spec\/latest\/recognized-keys.html\" target=\"_blank\" rel=\"noopener\">freedesktop.org<\/a>.<\/li>\n<\/ul>\n<p>After created and edited the file, just save it,\u00a0and verify if it works by logging out and back in.<\/p>\n<h3>Option 2: Use a third-party graphical application<\/h3>\n<p>To make things simple, there are few third-party graphical tools can do the job managing startup apps and scripts.<\/p>\n<p>As far as I know, the free open-source <a href=\"https:\/\/github.com\/flattool\/ignition\/\" target=\"_blank\" rel=\"noopener\">Ignition<\/a> tool is a good choice which provides a simple and modern user interface to add, remove, and modify startup entries.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/ignition.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49806\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/ignition-700x332.webp\" alt=\"\" width=\"610\" height=\"289\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/ignition-700x332.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/ignition-300x142.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/ignition-768x364.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/ignition-1536x728.webp 1536w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/ignition-1320x626.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/ignition.webp 1827w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>As you see in the screenshot, it provides a GTK4 and LibAdwaita interface, with ability to manage system startup entries (usually the <code>.desktop<\/code> files in <code>\/etc\/xdg\/autostart<\/code>) that works for all users.<\/p>\n<p>As well, it allows to add any installed apps (with custom options and time delay), custom command or script as auto-start items, by automatically creating <code>.desktop<\/code> files in user&#8217;s <code>.config\/autostart<\/code> directory. Meaning they work for current user only.<\/p>\n<h4>Install Ignition<\/h4>\n<p>Besides building from the source, the app is available to install in most Linux through <a href=\"https:\/\/flathub.org\/en\/apps\/io.github.flattool.Ignition\" target=\"_blank\" rel=\"noopener\">Flatpak package<\/a>, which runs in sandbox environment.<\/p>\n<p>For Debian, Ubuntu, and their based systems, run 2 commands below one by one to install the package:<\/p>\n<ul>\n<li>First, open terminal (Ctrl+Alt+T) and enable Flatpak support by installing the daemon package:\n<pre>sudo apt install flatpak<\/pre>\n<\/li>\n<li>Next, install the app package by running command:\n<pre>flatpak install https:\/\/dl.flathub.org\/repo\/appstream\/io.github.flattool.Ignition.flatpakref<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-51088\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/flatpak-ignition2604-700x363.webp\" alt=\"\" width=\"610\" height=\"316\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/flatpak-ignition2604-700x363.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/flatpak-ignition2604-300x156.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/flatpak-ignition2604-768x399.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/04\/flatpak-ignition2604.webp 1002w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/li>\n<\/ul>\n<p>After installed the package, either search for and launch it from Gnome Overview (log out and back in if app icon is not visible), or run command below to start from terminal:<\/p>\n<pre>flatpak run io.github.flattool.Ignition<\/pre>\n<h4>Uninstall Ignition<\/h4>\n<p>If the app does not work good for you, run the command below to uninstall it:<\/p>\n<pre>flatpak uninstall --delete-data io.github.flattool.Ignition<\/pre>\n<p>Also run <code>flatpak uninstall --unused<\/code> to remove useless runtime libraries.<\/p>\n<p>NOTE that uninstall the app won&#8217;t delete the auto-start entries created by it.<\/p>","protected":false},"excerpt":{"rendered":"<p>Ubuntu 26.04 does no longer have the &#8220;Startup Applications&#8221; utility! Here are alternative ways to add startup programs, scripts, or commands that run automatically at login. As you may know, the default Gnome Desktop (since v49) added the feature to enable auto-start applications by using toggle options in Settings -&gt; Apps.<\/p>\n","protected":false},"author":1,"featured_media":49763,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[770],"class_list":["post-51087","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","tag-startup-applications"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51087","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=51087"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/51087\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/49763"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=51087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=51087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=51087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}