Ubuntu 12.10 i wzbogacanie ustawień
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.
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).