Startujące GNOME, KDE czy XFCE uruchamia chmarę pomocniczych programików. Od apletu automatycznego update albo monitora urządzeń sieciowych, po wyszukiwarkę plików. Można tym oczywiście zarządzać klikając (pod GNOME - System/Preferences/Session albo System/Preferencje/Sesje, zależnie od wersji językowej) ale warto wiedzieć, skąd się biorą.
Autostart systemowy
Lista wspólna dla wszystkich użytkowników znajduje się w katalogu
/etc/xdg/autostart
Mamy tam listę plików *.desktop
, z których każdy opisuje jeden
uruchamiany aplet (czy inny program pomocniczy).
Katalog ten jest uzupełniany przez instalowane programy, na przykład
po zainstalowaniu w Ubuntu gnome-do
pojawił się plik
/etc/xdg/autostart/gnome-do.desktop
, powodujący odpalanie gnome-do
u wszystkich użytkowników.
Gnome Do to fajny program dla osób nie lubiących odrywać rąk od klawiatury: Win-spacja, fragment nazwy pliku, strzałka w dół by wybrać który, Tab, strzałka w dół by wybrać akcję, Enter - i mamy np. otwarty terminal czy menedżer plików na zadanym katalogu. Co i z czym można zrobić, zależy od powłączanych pluginów, jest ich dużo (bardziej egzotyczny przykład to wgranie zlokalizowanej fotki na flickra albo otwarcie w przeglądarce zakładki z delic.io.us). Bardzo ergonomiczne. Pakiet
gnome-do
.
/etc/xdg
jest katalogiem domyślnym. Można to nadmazać
zmienną środowiskową XDG_CONFIG_DIRS
(oczywiście zdefiniowaną tak,
by startujące środowiska graficzne ją widziały). Oprócz autostartu,
katalog /etc/xdg
zawiera też inne elementy, np. definicję struktury
menu.
Autostart użytkownika
Indywidualny autostart użytkownika to katalog
~/.config/autostart
Znowu: mamy tam listę plików '.desktop', tym razem ograniczoną do rzeczy ręcznie dodanych lub zmienionych przy pomocy edytora sesji.
Jeśli plik o tej samej nazwie znajduje się zarówno w
~/.config/autostart
, jak w /etc/xdg/autostart
, ważniejszy jest ten
pierwszy. W szczególności, gdy przy pomocy preferencji sesji
(System/Preferencje/Sesja) wyłączam jakąś usługę, koryguję
jej opis albo wykonywaną komendę, zostaje stworzony odpowiedni plik
w ~/.config/autostart
.
Przykład: wolę Amaroka więc wyłączyłem Rhythmboxa. Program obsługi preferencji stworzył w tym celu plik
~/.config/autostart/rhythmbox.desktop
będący kopią/etc/xdg/autostart/rhythmbox.desktop
ale zawierający dodatkowo linijkęX-GNOME-Autostart-enabled=false
Podobnie, gdy dodałem w preferencjach sesji automatyczne uruchamianie pidgina, pojawił się plik
~/.config/autostart/pidgin.desktop
o treści[Desktop Entry] Type=Application Encoding=UTF-8 Version=1.0 Name=No Name Name[en_US]=Pidgin Comment[en_US]=Instant Messenger Comment=Instant Messenger Exec=gaim X-GNOME-Autostart-enabled=true
Znowu: ~/.config
jest tylko katalogiem domyślnym, można go zredefiniować
ustawiając zmienną XDG_CONFIG_HOME
. Przy czym ~/.config
zawiera także
dane konfiguracyjne wielu programów.
Limitowanie programów do niektórych środowisk
Pliki .desktop
mogą zawierać klauzulę ograniczające ich start do wybranych
środowisk - czyli możemy np. sprawić, by wspominane Gnome Do uruchamiało
się pod Gnome i KDE ale nie wstawało w sesjach XFCE.
Przykładowy zapis:
OnlyShowIn=GNOME;KDE;
Jest też możliwy zapis odwrotny:
NotShowIn=KDE;
Takie klauzule można po prostu dopisać do odpowiednich plików w
/etc/xdg/autostart
(wiele już je zawiera).
Przy braku uprawnień do katalogów systemowych można skopiować odpowiedni
plik do ~/.config/autostart
i tu odpowiednio uzupełnić.
Uwagi końcowe
Cały opisany wyżej mechanizm jest elementem specyfikacji
freedesktop. Nie wyczerpuje on wszystkich startujących
programów - mamy jeszcze programy wbite na twardo w skrypty startowe
KDE czy GNOME, mamy aplety ręcznie dodane do panelów i kilka innych
mechanizmów - ale większość wypadków, w których coś zaczynało mi
nieoczekiwanie startować wynikało właśnie z dołożenia przez pakiet
pliku do /etc/xdg/autostart
.