Ubuntu 12.10 i wzbogacanie ustawień

W Ubuntu 12.10 domyślny panel z Ustawieniami Systemu jest tym, o czym marzyła od dłuższego czasu większość użytkowników Linuksa – w końcu pojawiło się uporządkowane miejsce, w którym jesteśmy w stanie skonfigurować podstawowe zachowania naszego systemu. Jednak chyba nikt nie marzył i nie śnił, że aż tak to wszystko zostanie zubożone do pierwotnych form konfiguracyjnych. Z jednej strony taki kompromis nie odstrasza zwykłych użytkowników ogromem opcji, z drugiej strony boleśnie uwiera w bok chcących mieć wszystko pod kontrolą. Dla niestroniących od praktyki dłubania w systemie jest jednak szansa na wzbogacenie oferty Ustawień Systemu.

Bez obaw, nie będziemy tworzyli własnych konfiguratorów, lecz postaramy się umieścić niektóre z nich w bardziej oczywistym miejscu. Jak większość wie, panel Ustawień Systemu to nic innego jak gnome-control-center w nowej odsłonie. Wyświetlające się w nim elementy wydają się być jego integralną częścią, lecz sposób w jaki one tam trafiają jest ściśle określony przez pliki .desktop znajdujące się w /usr/share/applications/. Jak łatwo zgadnąć, zmodyfikujemy pożądane pliki .destop, aby pojawiły się w naszych Ustawieniach Systemu.

Weźmy na ten przykład taką aplikację jak gnome-session-properties, która zezwala na kontrolę nad programami startowymi. To chyba oczywiste, że każdy ma swoje ulubione aplikacje, które po zalogowaniu chętnie widziałby od razu uruchomione. Jednak ta dość podstawowa funkcjonalność pozostaje niewidoczna dla nieświadomego użytkownika – nie wyświetla się bowiem w Ustawieniach Systemu. No to ją tam dodajmy.

Odnajdujemy plik .desktop opisujący gnome-session-properties, otwieramy go do edycji (jako root):

gksu gedit /usr/share/applications/session-properties.desktop

… i wstawiamy tam nieco magii. Interesuje nas linia opisująca kategorie do jakich należy gnome-session-properties (Categories), oraz ważne będzie wstawienie dodatkowej deklaracji z X-GNOME-Settings-Panel. Brzmi enigmatycznie, lecz plik po zmiana będzie wyglądał tak (# oznacza komentarz, równie dobrze można tę linijkę usunąć):

[Desktop Entry]
Name=Startup Applications
Comment=Choose what applications to start when you log in
Exec=gnome-session-properties
Icon=session-properties
Terminal=false
Type=Application
StartupNotify=true
# Categories=GTK;GNOME;Settings;X-GNOME-PersonalSettings;
Categories=GNOME;GTK;Settings;X-GNOME-Settings-Panel;X-GNOME-PersonalSettings
OnlyShowIn=GNOME;Unity;
NoDisplay=false
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-session
X-GNOME-Bugzilla-Component=gnome-session-properties
X-GNOME-Bugzilla-Version=3.6.0
X-GNOME-Settings-Panel=session
X-Ubuntu-Gettext-Domain=gnome-session-3.0

Nowe wstawki to linia nr. 10 i 17. Zapisujemy plik i uruchamiamy Ustawienia Systemowe. Cieszymy się, gdy widzimy wśród ikonek tę podpisaną jako Startup Applications.

Gnome-Control-Center wzbogacone o Startup Applications

Co się zmieniło i dlaczego jest to istotne? Jak widać, trik polegała na dokooptowaniu do całości X-GNOME-Settings-Panel. X-GNOME-PersonalSettings precyzyjniej określa przynależność naszej ikonki do konkretnej kategorii ustawień, dzięki temu trafiła pomiędzy te spod etykiety Osobiste. Jak łatwo wydedukować, X-GNOME-SystemSettings oznacza położenie pod etykietą System, a za Sprzęt odpowiada analogicznie… Źle, nie X-GNOME-HardwareSettings, lecz HardwareSettings.

I tak właśnie wyglądają najprostsze kroki wzbogacające panel kontrolny naszego systemu (Ubuntu 12.10 i pochodne lub inne oparte o Gnome-Shell).