CoverStory gconf


GConf COVER STORY
Używanie ukrytych ustawień GNOME
Bez zabezpieczeń
Gdzie się podziały wszystkie opcje?
kiem natychmiastowym i zapisywane do ba-
zy danych konfiguracji użytkownika. Baza
To pytanie często zadają sobie użyt-
jest przechowywana w formacie XML w ka-
kownicy GNOME, otóż większość talogu ~/.gconf.
Klucze zawierające wartości są prze-
z nich została dobrze ukryta i do-
chowywane w indywidualnych pli-
kach. Na przykład ~/.gconf/apps/na-
stępna jest jedynie za pośrednic-
utilus/preferences/%gconf.xml za-
twem edytora GConf. Artykuł wiera bieżące ustawienia managera
plików GNOME. Dodatkowo, oprócz
pokazuje, gdzie ich szukać.
bazy danych użytkownika istnieją
ustawienia globalne, które stosowane są
ANDREA MÜLLER
przy pierwszym uruchomieniu GNOME.
SÄ… one przechowywane w pliku
/etc/gconf/gconf.xml.defaults. SuSE Linux
w wersji 9 zachowuje siÄ™ w trochÄ™ odmien-
ieco chaotyczny i niezorganizowa- ny sposób i przechowuje wartości domyślne
ny, ale wysoce konfigurowalny  nu Pomoc / w /etc/opt/gnome/gconf/gconf.xml.de-
Nkonstelacja ta była w przeszłości Zawartość w aplikacji GNOME uruchomionej faults. SuSE 8.2 wykorzystuje natomiast do
przyczyną niezwykłej popularności środowi- spod KDE może być przyczyną frustracji dla tego celu katalog /etc/opt/gnome2/gconf.
ska GNOME wśród hackerów i zapaleńców. niczego nie spodziewającego się użytkownika. Jeśli kompilujemy GNOME samodzielnie,
Wersja 2.0 dokonała wielkiego zwrotu. Pro- Na szczęście programiści nie zaniechali tej należy szukać ustawień domyślnych
jekt GNOME ustanowił setki opcji i zaimple- cechy. Została ona tylko usunięta z menu i prze- w usr/local/etc/gconf.
mentował wytyczne interfejsu użytkownika niesiona do edytora GConf. Jest to miejsce, Chociaż XML jest formatem tekstowym, to
(ang. Human Interface Guidelines, HIG  w którym można odnalezć wszystkie niezbęd- jednak czytanie dokumentów XML jest raczej
Ramka 1). Wszystko to przyczyniło się do ne opcje konfiguracyjne. trudne. Każde ustawienie składa się z tagu
wzrostu funkcjonalności i użyteczności. Red Hat Linux jest jedyną dystrybucją, któ- w nawiasie trójkątnym, który zawiera m.in.
ra domyślnie instaluje to praktyczne narzę- typ i wartość ustawienia (Rysunek 3). Ścieżka
Zniszczenie pod kontrolą dzie. Mandrake 9.0 i 9.1 instaluje je dopiero w pliku XML zawsze odpowiada ścieżce uży-
Chociaż ich cele mogą być godne pochwały, wraz z meta-pakietem gnome2. Użytkownicy wanej w edytorze GConf. Preferencje interfej-
wielu doświadczonych użytkowników uwa- SuSE Linux nie mają innego wyboru, jak zain- su graficznego Nautilusa są przechowywane
ża, że programiści posunęli się trochę zbyt stalować go ręcznie, nawet jeśli GNOME jest np. w kluczu /apps/nautilus/preferences.
daleko. Używającym menadżera plików Na- w pełni zainstalowany na ich dyskach. Element odpowiedzialny za wyświetlanie
utilus w desktopie innym niż GNOME, na desktopu nazywa się show_desktop. Usunięcie
pewno nie jest obcy fakt nadpisywania ist- Prawie jak Regedit zaznaczenia prowadzi do zaprzestania wyświe-
niejącego desktopu desktopem Nautilusa. Kiedy zostanie uruchomione narzędzie kon- tlania desktopu przez menadżera plików, po-
W przeszłości użytkownicy mogli zwyczaj- figuracyjne, przez podanie komendy gconf- wodującego często niezłe zamieszanie. Za-
nie wyłączyć opcję Nautilus to draw the de- editor &, niech nie zniechęca nas ostrzeżenie mknięcie edytora GConf oznacza zapisanie
sktop. Obecnie, jeśli uruchomimy Nautilu- pokazane na Rysunku 2. Program jest stabil- modyfikacji do odpowiedniego pliku XML.
sa bez poświęcenia mu pa- ny, a jeśli nawet popełnimy
ru chwil uwagi, zostanie on pomyłkę podczas modyfi- Przywracanie
po prostu przeniesiony do kacji jakiejś opcji, zawsze Menu Narzędzia
GNOME. Rysunek 1: Dwa z trzech przy- można powrócić do usta- Klucze apps i desktop są typowym punktem
Nawet jeśli przyjmiemy cisków w tym oknie dialogo- wień domyślnych. startowym, zawierającym wiele różnych
opcję --no-desktop podczas wym są nadmiarowe. Wygląd aplikacji przy- ukrytych kluczy. apps jest miejscem, w któ-
uruchamiania Nautilusa z li- pomina edytor Rejestru rym można konfigurować sposób, w jaki za-
nii poleceń, ciągle możemy spotkać się z nie- Windows. Struktura drzewa z lewej strony chowują się aplikacje GNOME. Oprócz
miłą niespodzianką. Nautilus jest często reje- zawiera tzw. klucze i podklucze. Wartości rdzennych aplikacji instalowanych ze środo-
strowany jako Przeglądarka pomocy dla pro- wyświetlane są po prawej stronie. Wszystkie wiskiem GNOME, znajduje się tutaj duża
gramów GNOME i niewinne wywołanie z me- wprowadzane dane są stosowane ze skut- liczba programów opcjonalnych GNOME,
www.linux-magazine.pl Kwiecień 2004 19
GConf
COVER STORY
np. edytor HTML  do tego opcja w menu Bookmark / Add bo-
screem. Klucz desktop okmark. Zakładki dodawane są natych-
z kolei to obszar prze- miast i można się do nich odwoływać
chowujący domyślne w przyszłości za pomocą analogicznej
ustawienia desktopu, opcji w menu  Bookmark / Keyname.
niezależne od aplikacji.
Często dużym utrud- Trzech to już drużyna
nieniem jest dopasowa- Program gconf-editor nie zapisuje bez-
nie odpowiedniego klu- pośrednio opcji w bazie konfiguracyjnej.
cza do konkretnej wła- Wspomaga go w tym dwóch pomocni-
ściwości. W takich przy- ków działających w tle. Jednym z nich
padkach pomocny oka- jest, działający z linii poleceń gconftool-
zuje siÄ™ opis kluczy. Na 2, drugim serwer konfiguracyjny gconfd.
przykład klucz desk- Edytor jest tylko front-endem graficz-
top/gnome/backgro- Rysunek 2: Używasz na własną odpowiedzialność, itd. nym rzeczywistego narzędzia, jakim jest
und/picture_filename  ostrzega edytor GConf. gconftool-2 i przekazuje wprowadzone
wskazuje na obraz uży- zmiany do gconfd. gconfd pobiera mody-
wany jako tapeta w desk- fikacje i przekazuje je aktywnym progra-
topie GNOME. mom. Przykładowo, pulpit wyświetlany
W odróżnieniu od przez Nautilusa zniknie natychmiast,
opcji  show_desktop , bez potrzeby ponownego uruchomienia
nie ma tutaj prostego menadżera plików.
wyboru tak/nie. Za- Do zmiany opcji z linii poleceń można
miast tego należy podać posłużyć się narzędziem gconftool-2. Na-
pełną ścieżkę do żąda- rzędzie przydatne jest zwłaszcza w syste-
nego pliku. W tym celu mach, które nie posiadają zainstalowanego
klikamy na picture_fi- front-endu graficznego. Może ono być tak-
lename w kolumnie Va- Rysunek 3: GNOME używa plików w formacie XML do przechowywa- że ostatnią deską ratunku w przypadku,
lue i wpisujemy nazwę nia swoich danych konfiguracyjnych. gdy baza konfiguracyjna uległa zniszcze-
pliku w miejscu znaku niu, np. po załamaniu systemu albo awarii
zachęty (Rysunek 4). Można też kliknąć bez- opcja robi. Jeśli docstring istnieje, edytor zasilania, kiedy niemożliwe jest uruchomienie
pośrednio na polu wprowadzania. Spowodu- GConf wyświetli go w prawej dolnej części środowiska GNOME.
je to, że edytor GConf uruchomi okno dialo- ekranu (Rysunek 6).
gowe, w którym będzie można dokonać mo- Przeglądanie drzewa struktury umożliwia Konfiguracja z linii poleceń
dyfikacji (Rysunek 5). podgląd opcji niedostępnych w menu aplika- Polecenie gconftool-2 posiada całą rzeszę
Jeśli nazwa opcji sama w sobie nie wyjaśnia cji. T zawiera ich krótki wybór. W celu opcji, co czyni go narzędziem niezbyt intu-
abela 1
jej przeznaczenia, być może istnieje skojarzo- ułatwienia nawigacji można przydzielać za- icyjnym. Krótkie zestawienie opcji zawiera
ny z nią tzw. docstring  krótki opis tego, co kładki dla często zmienianych wartości. Służy T
abela 2. Kilka poniższych przykładów de-
monstruje natomiast jego możliwości.
Typowe wywołanie ma następującą postać:
Ramka 1: Ulepszona funkcjonalność, zgodnie z wy-
tycznymi interfejsu użytkownika (ang. Human Inter-
gconftool-2 opcje klucz
face Guidelines  HIG)
Wytyczne interfejsu użytkownika, dostępne szczegółów na temat wygląda aplikacji,
pod adresem http://developer.gnome.org/ okien dialogowych i menu. Dlatego istnieje
projects/gup/hig/, precyzują wymagania er- małe prawdopodobieństwo spotkania apli-
gonomiczne, jakie powinny spełniać wszyst- kacji GNOME, której okno dialogowe po-
kie aplikacje GNOME. Dotyczy to spójnego siadałoby równoczesnie przyciski OK, Ap-
układu, wyglądu menu, lokalizacji języko- ply / Zastosuj i Use / Zatwierdz.
wych i unikania właściwości, których więk-
HIG definiuje reguły
szość użytkowników nigdy nie będzie potrze-
Kiedy użytkownik dokonuje zmian w konfi-
bowała ani nawet rozumiała.
guracji, jak pokazano na Rysunku 1, można
Reguły użyteczności HIG oznaczają m.in.,
przyjąć, że chciałby je zastosować natych-
że oprogramowanie powinno wybierać ję-
miast. Fakt ten spowodował istnienie nad-
zyk stosownie do typowego słownictwa
miarowych przycisków Apply (ang. Zastosuj)
użytkownika i jeśli aktualna operacja zaj-
i Use (ang. Zatwierdz). Kto potrzebuje jesz-
muje trochę czasu -- dostarczać informacji
cze funkcji OK? Użytkownik spodziewa się,
Rysunek 4: Do modyfikowania wartości wyko-
mówiącej użytkownikowi, co w danej chwili
że przycisk Close zrobi dokładnie to samo.
rzystywane sÄ… pola wyboru i pola wprowadza-
się dzieje. Wytyczne zawierają mnóstwo
nia danych
20 Kwiecień 2004 www.linux-magazine.pl
GConf COVER STORY
gdzie klucz oznacza ścieżkę, którą
można podejrzeć w edytorze
GConf, z tym że bez kończących
łańcuch ukośników /.
W razie konieczności dokonania
zmian, a nie tylko wyświetlenia
zawartości kluczy, konieczne bę-
dzie podanie wartości. Klucze
wpisujemy tak, jak nazwę ścieżki
(w rzeczywistości klucze są ścież-
kami w bazie konfiguracyjnej),
np. /apps/nautilus/preferen-
ces/show-desktop. Aby wyświetlić
listę wszystkich ścieżek, można
skorzystać z polecenia gconftool-2 - Rysunek 5: Przełączenie pomię- Rysunek 6: Docstring dostarcza listę wartości związanych z wyświetla-
-all-dirs /: dzy  true i  false to kwestia niem obrazu tapety.
kliknięcia.
/desktop ścieżki zawsze są typu string, a wartości
/apps gconftool-2 -R /apps U true/false zawsze typu bool. Popatrzmy na
/system > apps-optionstxt poprzedni przykład: opcję określającą, czy
/schemas Nautilus powinien wyświetlać desktop. Ist-
Wygenerowany plik o nazwie apps-options.txt nieją także typy int (liczby całkowite), float
Parametr -a pokazuje wszystkie ustawienia można następnie wydrukować albo zwyczaj- (liczby zmiennoprzecinkowe) i list (listy).
poniżej danego klucza. Polecenie gconftool- nie przeglądać na ekranie (Rysunek 7). Przykładem listy może być /apps/panel/de-
2 -a /apps/file-roller/listing wyświetli bieżącą Opcje --long-docs, --short-docs i -T wyświe- fault_setup/general/toplevel_id_list. W tym
konfigurację ustawień dla programu archi- tlają szczegóły konkretnego ustawienia. przypadku wybierany jest panel, który bę-
wizującego file roller. Można wyeksporto- Pierwsze dwa pokazują tekst pomocy (o ile dzie uruchamiany przez GNOME.
wać do pliku podklucze i ustawienia dla ga- jest dostępna) związanej z kluczem. Flaga -
łęzi związanej z określoną aplikacją. Jest to T informuje natomiast o typie wartości. In-
SAOWNICZEK
przydatne np. dla celów porównawczych. formacja ta jest przydatna w razie koniecz-
Meta-pakiet: Pakiet RPM, który nie zawie-
M
e
t
a
p
a
k
i
e
t
Eksport wykonuje się za pomocą poniższe- ności edycji wartości.
ra żadnych plików, a jedynie zależności po-
go polecenia: Jako regułę kciuka możesz przyjąć, że
między innymi pakietami. Pozwala to in-
stalować całe grupy programów, takie jak
Tabela 1: Sekretne Ustawienia GNOME
np. grupa wymagana do zapewnienia po-
prawnej pracy desktopu GNOME, wybiera-
Nazwa klucza w edytorze GConf Efekt
jÄ…c tylko jeden pakiet do zainstalowania.
/apps/file-roller/listing/show_mime_icons Włączanie/wyłączanie ikony typu pliku w programie archiwizującym File
Roller. Kiedy opcja jest wyłączona, z każdym plikiem skojarzony jest zwykły
XML: Extended Markup Language ma
biały symbol.
składnię podobną do HTML, ale znacznie
/apps/file-roller/ui/history_len Liczba plików w menu historii programu File Roller.
szerszy zakres funkcjonalny. Można opisy-
/apps/gedit-2/preferences/editor/save/save_encoding Wskazanie strony kodowej używanej w edytorze gedit. Domyślnie jest to
wać zarówno strukturę jak i formatowanie
UTF-8. Opcja GEDIT_SAVE_ORIGINAL_FILE_ENCODING_IF_POSSIBLE
dokumentu, używając tagów składniowych,
powoduje, że gedit zapisuje tylko nowe pliki w formacie UTF-8, zachowując
np. London. Opis zwiÄ…zany
stronę kodową we wszystkich innych przypadkach. Jest to szczególnie
z elementem zamkniętym tagami może być
użyteczne w razie wymiany plików pomiędzy użytkownikami.
przetwarzany przez program, który potrafi
/apps/gedit-2/preferences/ui/recents/max_recents Liczba ostatnio otwieranych plików pokazywana w menu edytora.
zinterpretować składnię dokumentu.
/apps/gnome-search-tool/show_additional_options Wyświetlanie rozszerzonych funkcji wyszukiwania w narzędziu wyszukiwania
UTF-8: Strona kodowa uwzględniająca
U
T
F
8
:
(GNOME 2.4 lub pózniejszy).
większość alfabetów używanych na całym
/apps/nautilus/desktop/home_icon_visible Określa, czy wyświetlać ikonę katalogu domowego na pulpicie (GNOME 2.4
świecie. Aplikacje, które potrafią obsługi-
lub pózniejszy).
wać Unicode, mogą wyświetlać znaki cy-
/apps/nautilus/desktop/trash_icon_visible Włączenie lub wyłączenie wyświetlania ikony kosza na pulpicie (GNOME 2.4
rilicy, azjatyckie i środkowoeuropejskie
lub pózniejszy).
bez potrzeby określania przez użytkowni-
/apps/panel/global/confirm_panel_remove Wyłączenie okna dialogowego z zapytaniem o potwierdzenie, przed
usunięciem panelu. ka konkretnego alfabetu.
/apps/gnome-session/options/show_splash_screen Określenie, czy GNOME powinien wyświetlać ekran powitalny (ang. splash
Splash screen: Ekran powitalny, wyświetlany
S
p
l
a
s
h
s
c
r
e
e
n
:
screen) podczas uruchamiania.
przez niektóre aplikacje podczas urucha-
/apps/gnome-session/options/splash_image Ścieżka do obrazka wyświetlanego na ekranie powitalnym.
miania. Ekran zawiera zazwyczaj logo i in-
/desktop/gnome/file-views/show_backup_files Wyświetla nazwy plików kończące się znakiem tyldy (~). Wiele programów
formacje o numerze wersji. Ekrany powital-
używa tego typu nazw dla plików kopii. Pliki zaczynające się kropką pozostają
ne posiadają między innymi GNOME, KDE,
nadal ukryte.
Quanta, OpenOffice i sterowniki nVidia.
/desktop/gnome/file-views/show_hidden_files To samo w odniesieniu do plików zaczynających się kropką.
www.linux-magazine.pl Kwiecień 2004 21
GConf
COVER STORY
Czas na zmiany Trzeba wiedzieć, że spowoduje to usunięcie
Po odkryciu nazwy i typu klucza oraz do- wszystkich preferencji. Przed dokonaniem
kładnym upewnieniu się co do jego roli, czas tego drastycznego kroku trzaeba więc upew-
na wprowadzenie zmian. Można np. wprowa- nić się, że posiadamy kopie pliku /home/user-
dzić następującą zmianę, powodującą, że Na- name/.gconf w bezpiecznym miejscu. W razie
utilus przestanie wyświetlać desktop: potrzeby możliwy będzie szybki powrót do
stanu sprzed zmiany.
gconftool-2 -t bool -s /appsU
/nautilus/preferencesU Na krótkiej smyczy
/show_desktop false Parametry --config-source i --direct, którym
nie przyglądaliśmy się jak dotąd bliżej, czy-
Parametr -t bool informuje gconftool-2 o typie nią łatwiejszym życie administratorów. Po-
wartości. -s oznacza, że zamierzamy ustawić zwalają mianowicie na modyfikację bazy
wartość opcji  w tym przypadku false. Wy- ustawień globalnych, znajdującej się w kata-
branie true zamiast false przywróci poprzed- Rysunek 7: Rzut oka na pełny zestaw opcji logu /etc/gconf/gconf.xml.defaults. Ma to
nie zachowanie. aplikacji. szczególnie sens w przypadku, gdy jako śro-
Poniższe polecenie dowiska desktopowego używamy KDE
Jeszcze prostsze jest przywrócenie opcjom i chcemy się uchronić przed niespodziewa-
gconftool-2 -t int -s /appsU wartości domyślnych. W tym przypadku nie nym uszkodzeniem desktopu spowodowa-
/nautilus/preferencesU jest konieczne określanie żadnych wartości ani nym np. uruchomieniem Nautilusa przez
/directory_limit 10000 typów. Wystarczy uruchomienie polecenia użytkownika. Należy upewnić się, że gconfd
gconftool-2 -u z nazwą odpowiedniego klucza nie jest uruchomiony w czasie, gdy będziemy
zwiększa maksymalną liczbę plików, które i załatwione. Jeśli powstało zamieszanie w usta- modyfikować domyślną bazę, który to krok
może wyświetlić Nautilus do 10000 (GNO- wieniach programu, nie ma potrzeby powta- dotyczy bezpośredniej edycji plików XML
ME 2.4 nie posiada domyślnie ograniczeń, rzania polecenia dla każdej opcji. Parametr -- bez uczestnictwa serwera. Kończymy wszyst-
GNOME 2.2 natomiast posiada górny li- recursive-unset pozwala wyczyścić wszystkie kie aplikacje GNOME i dodatkowo spraw-
mit 4000 plików). Za pomocą następnego klucze w gałęzi, przywracając je do ustawień dzamy przy pomocy top lub ps -e | grep
polecenia domyślnych, na przykład: gconfd. Czasami zakończenie pracy przez
serwer może potrwać chwilę.
gconftool-2 -t string /appsU gconftool-2 --recursive-unset U T
eraz można modyfikować wartości global-
/gnome-session/optionsU /apps/nautilus ne, na przykład:
/splash_image/home/andiU zresetuje ustawienia dla menadżera plików.
/mysplash.png To samo może być również wykonane dla gconftool-2 --direct -configU
właściwości desktopu: -source xml:readwrite:/etcU
możemy wymóc zastosowanie innego ekranu /gconf/gconf.xml.defaults/ -t U
powitalnego począwszy od następnego uru- gconftool-2 --recursive-unset U bool -s /apps/nautilusU
chomienia GNOME. /desktop /preferences/show_desktop false
Określenie parametru xml:readwrite: dla ka-
Tabela 2: Parametry linii poleceń dla gconftool-2
talogu konfiguracyjnego jest wskazówką dla
Opcja Argument Działanie
gconftool-2 informujÄ…cÄ… o trybie korzystania
-s Nazwa klucza Wartość Ustanawia wartość; wymaga parametru -t.
z bazy XML  dostępie zapis/odczyt. Proste
-g Nazwa klucza Zapytanie o wartość.
sprawdzenie wartości parametru można uzy-
-u Nazwa klucza Resetowanie rekordu.
skać za pomocą poniższego polecenia:
--recursive-unset Klucz Resetowanie (rekursywne) wszystkich wartości związanych z kluczem.
-a Klucz Wyświetla wszystkie pary klucz/wartość poniżej klucza.
gconftool-2 --direct -configU
--all-dirs Klucz Wyświetla listę katalogów związanych z kluczem.
-R Klucz Wyświetla rekursywnie listę wszystkich katalogów i rekordów -source xml:readonly:/etc/gconfU
zwiÄ…zanych z kluczem.
/gconf.xml.defaults/ -g /appsU
-t Typ Ustanawia typ pliku zgodnie z żądanym argumentem
/nautilus/preferencesU
-- int, string, bool, float, list, or pair.
/show_desktop
-T Nazwa klucza Zapytanie o typ wartości.
--short-docs, --long-docs Nazwa klucza Wyświetla krótką lub szczegółową informację o opcji.
Jest to polecenie, które mogą uruchamiać
--config-source Baza konfiguracyjna Określa bazę konfiguracyjną, której dotyczą operacje zapytań i zapisów.
nieuprzywilejowani użytkownicy. W Suse
Normalni użytkownicy posiadają tylko prawo do odczytu dla ustawień
Linux 9 ścieżka do bazy konfiguracyjnej
globalnych.
jest następująca: /etc/opt/gnome/gconf/
--direct Modyfikuje bazę danych bez pośrednictwa serwera. Jest to wymagane do
modyfikacji każdej konfiguracji różnej od własnej, znajdującej się
gconf.xml.defaults. Użytkownicy SuSE Li-
w ~/.gconf; należy upewnić się, że gconfd nie jest uruchomiony
nux 8.2 dodatkowo będą musieli zamienić
podczas dokonywania tych zmian.
gnome na gnome2.
22 Kwiecień 2004 www.linux-magazine.pl


Wyszukiwarka

Podobne podstrony:
inside covers
CoverStory GnomeOffice
CoverStory make
CoverStory configure
covers
CoverStory Sun?sktop
CoverStory migracja
covers

więcej podobnych podstron