Ubuntu & Mint

So beherrschen Sie den Linux-Autostart

Linux hält eine Reihe von Startrampen parat, um Programme bei der Anmeldung oder zu einem bestimmten Zeitpunkt automatisch auszuführen. Ihre Kenntnis hilft für geplante Tasks und für bessere Systemkontrolle.

Automatisch gestartete Programme gibt es seit jeher und bei jedem Betriebssystem. Da neu hinzukommende Autostart-Konzepte die bereits bestehenden nicht ablösen, sondern erweitern, ist der Überblick bei heutigen Systemen nicht mehr ganz einfach. Hier erklären wir alle wesentlichen Programmstarter, wobei wir uns mit Ubuntu und Linux Mint auf die verbreitetsten Linux-Systeme beschränken. Die meisten Punkte, insbesondere die zum Terminal und zu Cron, gelten auch für andere Linux-Distributionen. Ganz so leicht wie Windows-User haben es Linux-Anwender nicht. Aber dafür bekommen sie mächtige Instrumente an die Hand.

Startprogramme unter Ubuntu und Mint aufspüren

Flexible Autostarts: Das Tool „Startprogramme“ ermöglicht direkt und ohne vermittelnde Zwischen-Scripts Programmaufrufe, Scripts, Dokumentenstarts und sogar Wartefristen.
Flexible Autostarts: Das Tool „Startprogramme“ ermöglicht direkt und ohne vermittelnde Zwischen-Scripts Programmaufrufe, Scripts, Dokumentenstarts und sogar Wartefristen.

Die meisten Distributionen bieten ein grafisches Tool, um die automatischen Starts bequem zu verwalten – typischerweise mit dem Namensbestandteil „session“ (oder „Sitzung“ auf deutschem System). Unter Ubuntu und Mint heißt das Tool gnome-sessionproperties und ist auch über den lokalisierten Namen „Startprogramme“ im Hauptmenü erreichbar. Durch Deaktivieren des Häkchens schalten Sie dort ein Programm einfach ab, über die Schaltfläche „Entfernen“ verschwindet es komplett aus dem Verwaltungs-Tool (der Starter bleibt aber auf Dateiebene erhalten). Mit „Hinzufügen“ definieren Sie eigene neue Autostarts, wobei lediglich ein beliebiger Name und neben „Befehl“ der exakte Programmname einschließlich eventueller Parameter notwendig ist. Hier ist im Prinzip alles möglich: einfache Programmaufrufe, Aufrufe mit Schalter (etwa: „nautilus smb://server/transfer“), Starten von Shell-Scripts (mit komplettem Pfad, das sh-Script muss außerdem als „ausführbar“ markiert sein) oder auch der Start von Benutzerdateien:

soffice -calc smb://server/transfer/essentials.xls

Sie können Ihre Autostarts sogar mit Wartezeiten (Sleep-Kommandos) zeitlich staffeln:

sh –c "sleep 10;soffice -calc smb://server/transfer/essentials.xls"

Alle so definierten Autostarts gelten für den aktuellen Benutzer und werden in Form von .desktop-Dateien in dessen Home-Verzeichnis unter „~/.config/autostart“ gespeichert. Daher genügen für den Einsatz des Tools „Startprogramme“ normale Benutzerrechte. Die vom System benötigten Autostarts liegen ebenfalls in Form von .desktop-Dateien unter „/etc/xdg/autostart/“. Dazu gehören etwa der Schlüsselbunddienst oder das Soundsystem. Soll ein Programm unabhängig von der Benutzeranmeldung Benutzer gestartet werden, so hilft nur das manuelle Bearbeiten oder Erstellen eines Starters unter „/etc/xdg/autostart/“ mit root-Recht. Der Dateiname des Starters spielt keine Rolle, die Extension muss aber „.desktop“ lauten.

Als Modell können die bereits vorhandenen Klartextdateien dienen. Mindestens die folgenden vier Zeilen sind zwingend notwendig:

[Desktop Entry] Type=Application Name=[beliebig] Exec=[Programmbefehl]

Für „Exec“ gelten hier dieselben großzügigen Regeln wie beim Eintrag des „Befehls“ im grafischen Tool „Startprogramme“.

Tipp: Damit Ungeübte nicht versehentlich wichtige Komponenten aus dem Autostart entfernen, sind unter „Startprogramme“ die meisten Systemkomponenten weggefiltert. Dafür sorgt die Zeile „NoDisplay=true“ in der jeweiligen Desktop-Datei. Wenn das grafische Tool alle Autostarts zeigen soll, müssen Sie daher nur „NoDisplay“ auf „False“ stellen. In einem Rutsch erledigt das dieser Befehl

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

mit root-Rechten.

Tipp: Sollte ein Autostart mit einem komplexeren Befehl nicht korrekt funktionieren, hilft es meist, ein Bash-Script zwischenzuschalten. Das Script legen Sie am besten in einen Ordner, der sich im Systempfad („$PATH“) befindet, wie etwa „/usr/local/bin“. Das erfordert root-Recht. Danach müssen Sie das Script mit chmod +x datei.sh oder mit dem Midnight Commander ausführbar schalten.