W Linuksie możesz dodać aplikacje do autostartu na kilka sposobów – graficznie, przez pliki .desktop, a także z użyciem systemd lub cron. Poniżej znajdziesz przejrzysty poradnik z najwygodniejszymi metodami krok po kroku.
1. Jak działa autostart w Linuksie – krótko teoretycznie
Autostart sesji użytkownika (po zalogowaniu do środowiska graficznego) to mechanizm uruchamiający programy po starcie GNOME, KDE, Xfce itp. Najczęściej korzysta z katalogu ~/.config/autostart.
Najważniejsze fakty o autostarcie sesji użytkownika:
- standardowo oparty o katalog
~/.config/autostart, - działa na podstawie plików
.desktopopisujących, co uruchomić po starcie sesji, - jest zarządzany przez narzędzia środowiska, np. „Aplikacje startowe”, „Sesja i uruchamianie”, „Autostart”.
Autostart systemowy (przy starcie systemu, przed zalogowaniem) realizuje dziś głównie systemd (jednostki usług). To tryb typowy dla serwerów i demonów, rzadziej dla aplikacji desktopowych.
W poradniku skupiamy się przede wszystkim na autostarcie po zalogowaniu użytkownika (komunikatory, notatniki, klient poczty, Dropbox), ale pokazujemy też opcje systemowe.
2. Autostart w popularnych środowiskach graficznych
2.1. GNOME / Ubuntu (GNOME Shell, „Aplikacje startowe”, „Tweaks”)
2.1.1. Metoda przez „Aplikacje startowe” / „Startup Applications”
Aby dodać program przez wbudowane narzędzie, wykonaj następujące kroki:
- Uruchom „Aplikacje startowe” – naciśnij Super (Win), wpisz „Aplikacje startowe” lub „Startup Applications” i uruchom narzędzie.
- Kliknij przycisk Dodaj.
- Uzupełnij pola zgodnie z opisem poniżej:
- Nazwa – krótka etykieta, np. „Thunderbird”;
- Polecenie – komenda uruchamiająca program, np.
thunderbird(możesz też wskazać plik wykonywalny w/usr/binlub/usr/sbin); - Opis – opcjonalny komentarz, np. „Klient poczty”.
- Zatwierdź przyciskiem OK/Dodaj.
- Zarządzaj istniejącymi wpisami według potrzeb:
- odznacz pozycje, których nie chcesz uruchamiać,
- edytuj wpisy (zmień komendę, opis),
- usuwaj niepotrzebne pozycje.
Przy następnym logowaniu do sesji GNOME wybrane aplikacje uruchomią się automatycznie.
2.1.2. Metoda przez GNOME Tweaks (Tweak Tool)
W nowszych GNOME znajdziesz sekcję „Aplikacje startowe” w GNOME Tweaks (Dostrajanie). Postępuj tak:
- Uruchom GNOME Tweaks – naciśnij Super (Win), wyszukaj „Tweaks” lub „Dostrajanie” i otwórz aplikację.
- Wybierz sekcję Aplikacje startowe.
- Dodaj aplikację do autostartu wykonując kolejno:
- kliknij przycisk +,
- wskaż aplikację z listy (często na górze są te aktualnie uruchomione),
- kliknij Dodaj.
- Powtórz dla kolejnych programów, które mają startować automatycznie.
2.2. KDE Plasma
W KDE Plasma zarządzanie autostartem znajdziesz w ustawieniach systemowych. Wykonaj kroki:
- Otwórz Ustawienia systemowe.
- Przejdź do Uruchamianie i zamykanie → Autostart.
- Dodaj pozycję: wybierz Dodaj program (aplikacja z listy) lub Dodaj skrypt (własny skrypt w katalogu użytkownika).
Interfejs tworzy odpowiednie wpisy .desktop w tle.
2.3. Xfce (Xubuntu i inne lekkie dystrybucje)
W Xfce skorzystasz z modułu „Sesja i uruchamianie”. Postępuj tak:
- Otwórz Ustawienia środowiska Xfce.
- Wejdź do Sesja i uruchamianie → Autouruchamianie aplikacji.
- Dodając program, uzupełnij trzy pola:
- Nazwa – dowolna etykieta;
- Opis – opcjonalny komentarz;
- Polecenie – komenda uruchamiająca (binaria zwykle w
/usr/binlub/usr/sbin).
- Włączaj/wyłączaj wpisy, zaznaczając lub odznaczając je na liście.
2.4. Inne środowiska (MATE, Cinnamon, LXDE/LXQt)
Większość środowisk korzysta ze standardu ~/.config/autostart i oferuje własny panel konfiguracyjny:
- MATE – „Sesje” / „Start aplikacji”,
- Cinnamon – „Startup Applications”,
- LXDE/LXQt – panel konfiguracji sesji.
Idea jest podobna: otwierasz narzędzie autostartu, dodajesz wpis z nazwą i poleceniem programu.
3. Katalog ~/.config/autostart i pliki .desktop – uniwersalna metoda
Najbardziej uniwersalnym sposobem dodawania programów do autostartu sesji graficznej jest utworzenie pliku .desktop w katalogu użytkownika. Ścieżka katalogu autostartu to:
~/.config/autostart
Ta metoda daje pełną kontrolę i działa niezależnie od środowiska.
3.1. Gotowe pliki .desktop – najprostsza droga
Wiele aplikacji dostarcza własny plik .desktop w systemowym katalogu. Lokalizacja domyślna to:
/usr/share/applications
Aby dodać taką aplikację do autostartu, wykonaj:
- Wyszukaj nazwę pliku
.desktopaplikacji, np. Pidgin:
ls /usr/share/applications | grep pidgin
- Utwórz katalog autostartu (jeśli go nie ma) i dowiązanie symboliczne do pliku
.desktop:
mkdir -p ~/.config/autostart
ln -s /usr/share/applications/pidgin.desktop ~/.config/autostart
Od następnego logowania Pidgin uruchomi się automatycznie.
3.2. Własny plik .desktop dla aplikacji lub skryptu
Jeśli program nie ma własnego pliku lub chcesz uruchomić skrypt (np. z opóźnieniem), stwórz plik samodzielnie:
- Utwórz plik w katalogu autostartu:
mkdir -p ~/.config/autostart
nano ~/.config/autostart/moj_program.desktop
- Wklej szablon do pliku:
[Desktop Entry]
Type=Application
Name=Mój program
Comment=Opis mojego programu
Exec=/home/uzytkownik/bin/moj_program.sh
X-GNOME-Autostart-enabled=true
Najważniejsze pola w pliku .desktop to:
Type=Application– określa typ wpisu;Name– nazwa wyświetlana w narzędziach autostartu;Comment– opcjonalny opis;Exec– pełna komenda do uruchomienia (program lub skrypt);X-GNOME-Autostart-enabled=true– w GNOME oznacza, że wpis jest włączony.
- Nadaj uprawnienia do wykonania (jeśli wskazujesz skrypt):
chmod +x /home/uzytkownik/bin/moj_program.sh
Po ponownym zalogowaniu wpis zostanie odczytany i program się uruchomi.
3.3. Przykład – skrypt z opóźnieniem startu
Gdy chcesz uruchomić aplikację kilka sekund po zalogowaniu, zastosuj prosty skrypt z sleep:
- Utwórz skrypt:
nano ~/bin/start_kadu_za_10s.sh
Wklej treść:
#!/bin/sh
sleep 10 && kadu
- Nadaj prawa wykonywania:
chmod +x ~/bin/start_kadu_za_10s.sh
- Utwórz wpis autostartu
.desktopwskazujący na skrypt:
nano ~/.config/autostart/kadu_delay.desktop
Wklej treść:
[Desktop Entry]
Type=Application
Name=Kadu (opóźniony start)
Exec=/home/uzytkownik/bin/start_kadu_za_10s.sh
X-GNOME-Autostart-enabled=true
Po zalogowaniu środowisko wywoła skrypt, a Kadu wystartuje po 10 sekundach.
4. Autostart przez starsze mechanizmy (Debian, rc.local, init.d)
W starszych poradnikach lub systemach bez systemd spotkasz autostart przez skrypty w /etc/init.d i plik /etc/rc.local. To dziś metoda historyczna, ale nadal bywa używana.
4.1. Skrypt w /etc/init.d + update-rc.d
Przykładowy schemat dla Debiana:
- Utwórz skrypt inicjalizacyjny:
sudo nano /etc/init.d/twoj_skrypt
- Nadaj uprawnienia do wykonania:
sudo chmod +x /etc/init.d/twoj_skrypt
- Dodaj do sekwencji startowej:
sudo update-rc.d twoj_skrypt defaults 90
Pamiętaj: taki skrypt zwykle działa jako root i startuje przed sesją graficzną, więc nie nadaje się do typowych aplikacji desktopowych.
4.2. rc.local
Jeśli system obsługuje /etc/rc.local, polecenia z tego pliku wykonają się na końcu sekwencji startowej. Przykład uruchomienia komendy jako zwykły użytkownik:
su user -c "command -param1 --longparam"
To rozwiązanie ma charakter administracyjny (skrypty systemowe), a nie typowy autostart aplikacji GUI.
5. Autostart z systemd – nowoczesny poziom systemowy
W dystrybucjach takich jak Ubuntu, Debian, Fedora, Arch, systemd zastąpił klasyczne init.d. Możesz utworzyć jednostki usług uruchamiane przy starcie systemu – także w kontekście użytkownika.
5.1. Jednostka użytkownika (systemd --user)
Dla programów działających w tle (bez GUI) utwórz usługę użytkownika i włącz ją do automatycznego startu:
- Stwórz katalog na jednostki użytkownika:
mkdir -p ~/.config/systemd/user
- Dodaj plik usługi:
nano ~/.config/systemd/user/moj_daemon.service
Wklej treść:
[Unit]
Description=Mój program użytkownika
[Service]
ExecStart=/home/uzytkownik/bin/moj_daemon
Restart=on-failure
[Install]
WantedBy=default.target
- Włącz i uruchom usługę:
systemctl --user enable moj_daemon.service
systemctl --user start moj_daemon.service
Usługa wystartuje wraz z sesją systemd --user; nie jest to jednak typowy mechanizm „po zalogowaniu do GUI”.
6. Autostart przez cron z użyciem @reboot
cron to narzędzie do zadań cyklicznych, które posiada słowo kluczowe @reboot – komenda zostanie uruchomiona po starcie systemu.
- Otwórz edycję crontaba:
crontab -e
- Dodaj linię uruchamiającą skrypt po restarcie:
@reboot /home/uzytkownik/bin/moj_program.sh
Rozwiązanie to działa niezależnie od środowiska graficznego, ale aplikacje GUI mogą wymagać odpowiednich zmiennych środowiskowych (np. DISPLAY), dlatego lepiej uruchamiać programy graficzne przez autostart sesji.
7. Jak znaleźć komendę uruchamiającą program?
Gdy nie pamiętasz dokładnej komendy startowej, skorzystaj z menu aplikacji:
- Kliknij prawym przyciskiem na ikonę aplikacji w menu.
- Wybierz Właściwości.
- Otwórz zakładkę Aktywator (Launcher).
- Odczytaj pole Polecenie – to komenda, której użyjesz w autostarcie.
8. Najczęstsze problemy i szybkie rozwiązania
Poniżej znajdziesz skrót najczęstszych kłopotów oraz sposobów ich wyeliminowania:
- Program nie startuje z autostartu, ale działa z terminala – sprawdź ścieżkę w polu
Execlub obecność programu wPATH, upewnij się, że skrypty mają nadanechmod +x; - Program wymaga uprawnień root – nie uruchamiaj go z autostartu GUI jako root; rozważ
systemdw trybie systemowym lub odpowiednią konfiguracjęsudo; - Aplikacja GUI nie startuje z
cron/rc.local– najpewniej brakuje ustawień środowiska (DISPLAY, Wayland/X11); do aplikacji graficznych używaj autostartu sesji (~/.config/autostart); - Za dużo programów w autostarcie spowalnia start – wyłącz zbędne pozycje w narzędziach środowiska i rozważ skrypty z
sleepdla opóźnionego uruchamiania.
9. Szybkie podsumowanie praktyczne
Wybierz metodę najlepiej dopasowaną do potrzeb:
- Najprościej dla użytkownika domowego – użyj panelu środowiska: GNOME (Aplikacje startowe / GNOME Tweaks → Aplikacje startowe), Xfce (Sesja i uruchamianie → Autouruchamianie aplikacji), KDE (Ustawienia systemowe → Uruchamianie i zamykanie → Autostart);
- Uniwersalnie i niezależnie od środowiska – utwórz plik
.desktopw~/.config/autostartz komendą programu lub skryptu; - Dla usług systemowych i demonów – skonfiguruj jednostkę
systemd(lub na starszych systemach skrypt w/etc/init.dzupdate-rc.d).
Tymi metodami dodasz praktycznie każdą aplikację lub skrypt do autostartu w Linuksie.











