You are on page 1of 44

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

100 sposobw
na Linux
Autorzy: Nicholas Petreley, Jono Bacon
Tumaczenie: Paulina Krzemiska
ISBN: 83-246-0065-5
Tytu oryginau: Linux Desktop Hacks
Format: B5, stron: 316

Linux przeszed dug drog od rodowiska tekstowego, ktrego obsuga bya


umiejtnoci graniczc z wiedz magiczn, a do wygodnego i stabilnego systemu
operacyjnego wyposaonego w doskonay interfejs graficzny. Ilo oprogramowania
dostpnego dla Linuksa nieodpatnie cigle si zwiksza, a narzdzia w niczym nie
ustpuj swoim komercyjnym odpowiednikom przeznaczonym dla systemu Windows.
Ogromn zalet Linuksa jest jego elastyczno przy odrobinie wiedzy mona
skonfigurowa go tak, aby dokadnie odpowiada naszym potrzebom. Wystarczy
doda mechanizmy obsugi odpowiednich urzdze i usun moduy, ktre s zbdne.
100 sposobw na Linux to doskonae rdo wiedzy dla tych uytkownikw Linuksa,
ktrzy chc uczyni prac z nim jeszcze bardziej komfortow. Z tej ksiki dowiesz si,
jak w prosty sposb zmodyfikowa Linuksa, aby lepiej suy Twoim celom. Znajdziesz
tu wskazwki, dziki ktrym udoskonalisz i dostosujesz do swoich potrzeb interfejs
uytkownika i zwikszysz wydajno systemu. Nauczysz si sprawnie administrowa
rodowiskiem i wydobdziesz z X, KDE, GNOME i konsoli wszystko, co maj do
zaoferowania.
Konfiguracja programu rozruchowego
Wykonywanie zrzutw ekranu z wiersza polece
Zmiana okien logowania
Instalacja animowanych kursorw myszy w X Window
Zdalny dostp do pulpitu i programw
Tworzenie skryptw dla KDE
Przyspieszanie procesu uruchamiania aplikacji w Gnome
Szyfrowanie poczty
Podczenie odbiornika GPS do Linuksa
Konfigurowanie firewalla
Rekompilacja jdra
Podczanie nowych urzdze
Chcesz, by Linux pracowa dla Ciebie?
Koniecznie przeczytaj t ksik

Spis treci
Twrcy ............................................................................................................................................. 7
Wstp ............................................................................................................................................. 11
Rozdzia 1. Uruchamianie Linuksa .............................................................................................. 19
1. Uruchamianie komputera .............................................................................................. 19
2. Likwidowanie i odzyskiwanie gwnego rekordu rozruchowego (MBR) ............. 23
3. Pominicie menedera rozruchu ................................................................................... 25
4. Ustawianie obrazka dla programu LILO ..................................................................... 27
5. Tworzenie wasnego ekranu powitalnego w LILO .................................................... 29
6. Wywietlanie ta w programie rozruchowym GRUB ................................................ 34
7. Tworzenie ekranu powitalnego dla programu GRUB ............................................... 34
8. Upikszanie procesu uruchamiania Debiana .............................................................. 36
9. Grafika w konsoli ............................................................................................................ 41

Rozdzia 2. Konsola ...................................................................................................................... 45


10. Przypisanie akcji do klawiszy ........................................................................................ 45
11. Pobudzanie konsoli programem Macro Music Magic ............................................... 51
12. Robienie zrzutw ekranu z wiersza polece ............................................................... 54
13. Odchudzanie znaku zachty wiersza polece ............................................................ 56
14. Upraszczanie zmiany katalogw .................................................................................. 59
15. Kolorowanie nazw plikw w programie stronicujcym ........................................... 61

Rozdzia 3. Menedery logowania ............................................................................................... 67


16. Szybkie przeczanie midzy uytkownikami ............................................................ 68
17. Podwojenie ekranw logowania KDM ........................................................................ 69
18. Podwojenie ekranw logowania GDM ........................................................................ 70
19. Wczanie trybu wielouytkownikowego z wiersza polece ................................... 72
20. Logowanie programem Qingy ...................................................................................... 74
21. Zmienianie motywu programu Qingy ......................................................................... 81

Spis treci

Rozdzia 4. Sposoby zwizane z systemem graficznym X ........................................................ 85


22. Zaczernianie ekranu ........................................................................................................ 86
23. Oywienie pulpitu animowanymi kursorami myszy ................................................ 87
24. Konwersja kursorw XP do Linuksa ............................................................................ 92
25. Uycie czcionek z systemu Windows i Macintosha ................................................... 94
26. Jak nie przeoczy przypomnienia ................................................................................. 97
27. Wywietlanie komunikatw w odpowiedzi na zdarzenia ...................................... 102
28. Wczanie klawiszy szybkiego dostpu za pomoc programu Hotkeys .............. 104
29. Wczanie klawiszy szybkiego dostpu za pomoc programu LinEAK .............. 108
30. Dostp do systemw Windows i Mac OS X z Linuksa ........................................... 112
31. Udostpnianie pulpitu przez internet ........................................................................ 115
32. Zdalny dostp do programw ..................................................................................... 116
33. Dodanie gbi do pulpitu ............................................................................................. 119
34. Rentgen pulpitu ............................................................................................................. 122

Rozdzia 5. rodowisko graficzne KDE .................................................................................... 125


35. Konqueror oknem na wiat .......................................................................................... 125
36. Dostp do zdalnych systemw bez hasa .................................................................. 128
37. Gadety na pulpit z programu karamba ................................................................... 130
38. Nietypowe sposoby uruchamiania aplikacji ............................................................. 134
39. Sposoby skryptowe z DCOP ........................................................................................ 136
40. Tworzenie wasnych akcji w menu kontekstowym w KDE ................................... 138
41. KDE jeszcze atwiejsze w uyciu ................................................................................ 143
42. Dodanie gbi do okien KDE ....................................................................................... 147
43. Ograniczenie KDE w trybie kiosk ............................................................................... 150
44. Uruchomienie najnowszej wersji KDE ....................................................................... 153

Rozdzia 6. Sposoby na GNOME ............................................................................................... 155


45. Losowanie tapety ........................................................................................................... 155
46. Upikszanie pulpitu GNOME apletami gDesklets .................................................. 157
47. Dodawanie wasnych pozycji do menu uruchamianego
za pomoc prawego klawisza myszy ....................................................................... 159
48. Kompilacja najnowszej wersji GNOME ..................................................................... 162

Rozdzia 7. Moliwoci terminala .............................................................................................. 165


49. Wspdzielenie aplikacji i monitorw za pomoc programu screen ..................... 166
50. Ustalanie domylnego wygldu terminali ................................................................. 169
51. Przezroczysto terminala ............................................................................................ 170
52. Wywietlanie dokumentw Worda w terminalu ..................................................... 173
53. Wywietlanie dokumentw PDF w terminalu .......................................................... 175
54. Wywietlanie plikw Worda i PDF w programie Mutt .......................................... 176
4

Spis treci

Rozdzia 8. Programy w rodowisku graficznym ..................................................................... 177


55. Krtszy czas uruchamiania programu OpenOffice.org ........................................... 177
56. Czytanie wiadomoci z Yahoo!Mail w dowolnym programie pocztowym ......... 180
57. Szyfrowanie poczty ....................................................................................................... 182
58. Odbieranie poczty programem procmail ................................................................... 187
59. Konwersja skrzynki pocztowej .................................................................................... 190
60. Konfiguracja przegldarki Firefox za pomoc ukrytych opcji ............................... 192
61. Eliminacja opnie w przegldarkach ..................................................................... 194
62. Instalacja moduw rozszerzajcych w przegldarkach ......................................... 196
63. Uruchamianie telefonu internetowego ....................................................................... 198
64. Wykrywanie ruchu i przesyanie obrazu przez internet ......................................... 200
65. Automatyczne publikowanie zrzutw ekranu w internecie ................................... 203
66. Wyszukiwanie sieci bezprzewodowych .................................................................... 205
67. Mapa wiata rzeczywistego ......................................................................................... 208
68. Poczenie si z PPTP VPN Microsoftu ...................................................................... 210
69. Odtwarzanie zastrzeonych formatw multimedialnych ....................................... 213

Rozdzia 9. Administracja i automatyzacja .............................................................................. 215


70. Automatyzacja zada za pomoc programu cron .................................................... 215
71. Aktualizowanie zegara przez internet ....................................................................... 218
72. Automatyczne uruchamianie aplikacji ....................................................................... 220
73. Sztuczne podtrzymywanie pracy programw .......................................................... 223
74. Klonowanie instalacji Linuksa ..................................................................................... 226
75. Przekierowanie portw przez SSH ............................................................................. 229
76. Sterowanie ustawieniami nowego uytkownika ...................................................... 231
77. Powiadamianie uytkownika o zdarzeniach systemowych
za pomoc poczty internetowej ................................................................................. 233
78. Logowanie bez hasa ..................................................................................................... 235
79. Usprawnienie sieci przewodowej ............................................................................... 237
80. Ochrona przed programami systemu Windows ...................................................... 238
81. Konfiguracja firewalla ................................................................................................... 243
82. Monitorowanie parametrw pocze za pomoc programu Wavemon ............. 245
83. Tworzenie kopii zapasowych przez sie .................................................................... 247
84. Odzyskiwanie Debiana ................................................................................................. 249
85. Poprawienie wydajnoci systemu programem prelink ........................................... 251
86. Pobieranie najnowszego kodu rdowego ............................................................... 252
87. Przyspieszenie kompilacji ............................................................................................ 255

Spis treci

Rozdzia 10. Jdro ...................................................................................................................... 259


88. Kompilacja jdra ............................................................................................................ 259
89. Aktualizacja jdra do wersji 2.6 ................................................................................... 263
90. Uycie jdra CKO w celu zwikszenia wydajnoci rodowiska graficznego ...... 266
91. Poprawienie osigw jdra bez ponownej kompilacji ............................................. 269

Rozdzia 11. Sprzt ..................................................................................................................... 273


92. Poczenie z internetem przez Bluetooth i telefon komrkowy ................................. 273
93. Projekt Utopia wygodne korzystanie z urzdze USB ....................................... 275
94. Poprawienie czstotliwoci odwieania ................................................................... 278
95. Drukowanie na nieobsugiwanych ............................................................................. 280
96. Zarzdzanie energi za pomoc ACPI ....................................................................... 284
97. Uycie urzdzenia iPod w Linuksie ........................................................................... 286
98. Synchronizacja urzdzenia iRiver z Linuksem ......................................................... 292
99. Zwikszanie wydajnoci dysku twardego ................................................................. 294
100. Przyspieszenie dziaania gier ...................................................................................... 298

Skorowidz ................................................................................................................................... 301

Spis treci

Zaczernianie ekranu

ROZDZIA CZWARTY

Sposoby zwizane
z systemem graficznym X
Sposoby 22. 34.
Sposoby przedstawione w tym rozdziale nie s przypisane do konkretnego rodowiska
graficznego lub menedera okien. W wikszoci przypadkw potrzebny jest po prostu
system graficzny X11.
Tematyka tego rozdziau rozciga si od prostej zmiany koloru ta widocznego podczas
uruchamiania rodowiska graficznego po zmian wskanika myszy na animowane grafiki.
Opisane take bd: sposb wykorzystania dodatkowych klawiszy klawiatur multimedialnych do obsugi internetu i multimediw w systemie X11, sposb uzyskania zdalnego
dostpu do programw (nawet uruchomionych na innych platformach) i sposb na dodanie efektw 3D i przezroczystoci do okien.
System graficzny X11, nazywany rwnie X lub X Window, jest silnikiem graficznym
typu klient-serwer, ktry uruchamia wikszo rodowisk graficznych i menederw okien
w Linuksie. Prawie wszystkie dystrybucje Linuksa zawieray pakiet XFree86, bdcy
darmow implementacj X11. Jednak twrcy XFree86 zmienili jego licencj, co ostatecznie
doprowadzio do powstania nowej gazi kodu XFree86 i nowej wersji X11, zwanej Xorg
lub X.org. Poza licencj nowa wersja ma wiele zalet. Ma wbudowan obsug przezroczystoci i rzucania cienia, w wielu przypadkach zaproponowano rwnie lepsze moliwoci rozwizywania problemw ni XFree86. W wikszoci dystrybucji zrezygnowano
ju z XFree na rzecz Xorg lub taka zmiana jest planowana. Jedynym wyjtkiem jest dystrybucja Debian.
Wikszo sposobw przedstawionych w tym rozdziale nie wymaga rodowiska Xorg.
Wyjtkiem s sposoby, ktre wywouj najwiksze wizualne wraenie, jak przezroczysto i cienie. Sposoby opisujce zmian wskanika myszy nie wymagaj Xorg, wystarczy XFree86 w wersji co najmniej 4.3.0.
Uywajc Xorg, naley pamita, e w zalenoci od rodowiska, w ktrym sposoby s
uruchamiane, system moe by mniej lub bardziej stabilny. Problemy te mog wystpi
przede wszystkim w sposobach opisujcych przezroczysto i cienie. Jest to pierwsza prba
dodania tych funkcji do systemu X i istniej pewne niedocignicia. Programici tworzcy
Xorg nadal poprawiaj i rozwijaj te funkcje, naley jednak by przygotowanym na to,
e opisane sposoby zablokuj jeden meneder okien, a w innym bd dziaa normalnie.
Sposoby zwizane z systemem graficznym X

85

SPOSB

22.

SPOSB

22.

Zaczernianie ekranu
SPOSB

22.

Zaczernianie ekranu
Pozbycie si brzydkiej szarej siatki, ktra wita uytkownika otwierajcego sesj X11

Podczas uruchamiania sesji X11 domylnym tem jest szara siatka. Niektre menedery
okien i rodowiska graficzne zmieniaj to prawie natychmiast, jednak w innych brzydka
siatka towarzyszy procesowi uruchamiania dosy dugo. Przedstawiona poniej wskazwka pozwala zmieni domylne to na jednolity czarny kolor. (Nie ma moliwoci
ustawienia innego koloru ni czarny).
Aby ustawi czarne to, naley doda przecznik -br do odpowiedniego pliku konfiguracyjnego. To, ktry plik ma zosta zmieniony, zaley od sposobu uruchamiania menedera okien lub rodowiska graficznego.

Polecenie startx
Jeli meneder okien jest uruchamiany poleceniem startx, naley zmieni plik /usr/
X11R6/bin/startx. Trzeba si upewni, e domylne argumenty uruchamiajce serwer X
zawieraj przecznik -br. Przykadowo pocztek pliku startx moe wyglda nastpujco:
userclientrc=$HOME/.xinitrc
userserverrc=$HOME/.xserverrc
sysclientrc=/etc/X11/xinit/xinitrc
sysserverrc=/etc/X11/xinit/xserverrc
defaultclientargs=""
defaultserverargs="-nolisten tcp"
clientargs=""
serverargs=""

Do definicji defaultserverargs lub serverargs naley doda przecznik -br.


Wystarczy dopisa przecznik midzy znaki cudzysowu, na przykad:
defaultserverargs="-nolisten tcp -br"

Od tej pory, po wydaniu polecenia startx uruchamiajcego menedera okien, domylne


to bdzie czarne.

Polecenie xinit
Jeli meneder okien jest uruchamiany poleceniem xinit, naley doda przecznik
-- -br na kocu polecenia. Na przykad, aby uruchomi meneder okien blackbox poleceniem xinit, naley wpisa:
$ xinit /usr/bin/blackbox -- -br

Jeli polecenie xinit jest uywane do uruchomienia menedera okien lub rodowiska graficznego dla innego uytkownika [Sposb 19.], naley doda przecznik -- -br po poleceniu, ale przed okreleniem numeru wirtualnego terminala:
$ xinit /usr/bin/blackbox -- -br :1

86

Sposoby zwizane z systemem graficznym X

Oywienie pulpitu animowanymi kursorami myszy

Plik Xservers
Menedery okien lub rodowiska graficzne mog uywa pliku Xservers, w ktrym okrelony jest sposb, w jaki uruchamiany ma by system X11. W tym przypadku naley
zalogowa si jako uytkownik root i znale plik Xservers poniszym poleceniem:
# locate Xservers
/etc/X11/xdm/Xservers

W powyszym przykadzie odnaleziony zosta plik Xservers wykorzystywany przez


meneder XDM. Jeli jest to aktualnie uywany meneder logowania, naley zmieni ten
wanie plik. Plik Xservers mona te znale w katalogu graficznego menedera logowania KDM dla KDE lub w katalogu menedera GNOME GDM. Naley zmieni tylko
ten plik, ktry jest zwizany z wykorzystywanym menederem logowania. Plik naley
otworzy w edytorze tekstu i znale w nim poniszy wiersz:
:0 local@tty1 /usr/X11R6/bin/X -nolisten tcp

Do tego wiersza trzeba doda przecznik -br:


:0 local@tty1 /usr/X11R6/bin/X -br -nolisten tcp

Plik naley zapisa, a to z szarego wzoru powinno zmieni si na jednolity czarny.


SPOSB

23.

Oywienie pulpitu animowanymi kursorami myszy


Zamiana domylnych kursorw na kolorowe i animowane

W systemie Windows atwo mona zmieni wygld kursora. W Linuksie nie jest to takie
proste, chocia rodowisko KDE jest ju temu bliskie. W tym sposobie opisano, jak sprawdzi, czy dystrybucja Linuksa pozwala na zmian wygldu kursorw, jak znale, pobra
i zainstalowa nowe wzory kursorw i jak wczy ich wywietlanie. Dostpnych jest wiele
rnych schematw kursorw od subtelnych dodajcych czerwon kropk do wskanika myszy do ekstrawaganckich przedstawiajcych pingwina Tuksa.

Sprawdzenie czy rodowisko obsuguje schematy kursorw


Aby mc zmienia schematy kursorw, potrzebny jest system XFree86 w wersji co najmniej 4.3 lub Xorg. Wszystkie ostatnio opublikowane dystrybucje zawieraj jeden z nich,
jest wic mao prawdopodobne, aby dystrybucja uywana przez Czytelnika nie speniaa
tych wymaga. Warto si jednak upewni. Aby sprawdzi, jaka wersja systemu X jest
zainstalowana, naley wyda polecenie:
# X -version

Jeli zainstalowany jest system XFree86, naley upewni si, czy jest to wersja 4.3 lub
nowsza. W wyniku polecenia X -version trzeba poszuka cigu tekstowego podobnego
do poniszego:
XFree Version 4.3.0 (or higher)

Sposoby zwizane z systemem graficznym X

87

SPOSB

23.

SPOSB

23.

Oywienie pulpitu animowanymi kursorami myszy

Jeli dystrybucja uywa gazi Xorg, w wyniku powinien si znale poniszy zapis:
X Protocol Version 11, Revision 0, Release 6.7 (or higher)

Jeli w wyniku polecenia znajduje si jeden z powyszych cigw, oznacza to, e dystrybucja obsuguje schematy kursorw.

Domylnie dostpne schematy kursorw


Niestety dystrybucje Linuksa znacznie rni si miejscem przechowywania schematw
kursorw. Jeli w dokumentacji dystrybucji nie jest napisane, w ktrym miejscu si one
znajduj, mona sprbowa je odszuka. Lokalizacja schematw kursorw jest zdefiniowana w pliku /usr/X11R6/lib/X11/config/Imake.tmpl. Najpierw naley sprawdzi, czy plik
istnieje. Mona to zrobi za pomoc polecenia ls:
# ls /usr/X11R6/lib/X11/config/Imake.tmpl

Jeli wynikiem polecenia jest: Nie ma takiego pliku ani katalogu (No such file
or directory), mona sprbowa znale plik w nastpujcy sposb:
# locate Imake.tmpl

Jeli pliku Imake.tmpl nie ma w systemie, naley w inny sposb odszuka, w ktrym
miejscu dystrybucja przechowuje oglnie dostpne pliki ze schematami kursorw. Dobrym miejscem do rozpoczcia poszukiwa jest wyszukiwarka Google i fora dyskusyjne
odpowiednich dystrybucji.
Jeli plik jest w systemie, poniszym poleceniem mona ustali domylne pooenie
schematw kursorw:
$ grep XcursorPath /usr/X11R6/lib/X11/config/Imake.tmpl
#
ifndef XcursorPath
#
define XcursorPath "~/.cursors:~/.icons:/usr/local/share/cursors/xorgx11:/usr/share/cursors/xorg-x11:/usr/share/pixmaps/xorg-x11"
# ifndef XcursorPath
# define XcursorPath Concat(~/.cursors:~/.icons:/usr/local/share/cursors/xorgx11:/usr/share/cursors/xorg-x11:/usr/share/pixmaps/xorg-x11:,IconDir)
XCURSORPATH = XcursorPath
/* Xcursor cursors
path */

Pierwszy wiersz define XcursorPath zawiera przydatne informacje. W dystrybucji


Gentoo, uytej w tym przykadzie, zostan przeszukane nastpujce katalogi:
~/.cursors
~/.icons
/usr/local/share/cursors/xorg-x11
/usr/share/cursors/xorg-x11
/usr/share/pixmaps/xorg-x11

Naley sprawdzi, czy w wymienionych katalogach istniej pliki ze schematami kursorw.


Pierwsze dwa katalogi znajduj si w katalogu domowym uytkownika, jednak niewiele
(jeli jakiekolwiek) dystrybucji instaluje tam domylnie alternatywne schematy kursorw.

88

Sposoby zwizane z systemem graficznym X

Oywienie pulpitu animowanymi kursorami myszy

Bardziej prawdopodobne jest odnalezienie schematw w jednym z trzech pozostaych


katalogw z listy. W dystrybucji Gentoo schematy znajduj si w katalogu /usr/share/
cursors/xorg-x11, wic wanie ta cieka bdzie sprawdzana jako pierwsza:
# ls /usr/share/cursors/xorg-x11
Blue Silver
default gentoo-blue
Gold blueglass gentoo
gentoo-silver

handhelds
redglass

whiteglass

Wana jest kolejno, w jakiej system przeszukuje katalogi. Najpierw szuka


w katalogu domowym, potem przeszukuje oglnie dostpne katalogi.
Aby zainstalowa nowy schemat dla jednego uytkownika, naley umieci
go w katalogu domowym tego uytkownika (w ~/.cursors lub w ~/.icons).
Aby zainstalowa schemat dla wszystkich uytkownikw, naley umieci
go w jednym z pozostaych katalogw z listy.

To wanie schematy kursorw. Mona wybra schemat, zwracajc si do katalogu, w ktrym znajduje si schemat.
W niektrych dystrybucjach zdarza si nieprzemylane rozwizanie umieszczania
schematw kursorw w tym samym miejscu, co schematw ikon. W takim
przypadku nie wszystkie pliki w katalogu bd schematami kursorw. Jeli
po wybraniu schematu nadal widoczny bdzie domylny kursor, oznacza to,
e zosta wybrany schemat ikon.

Ustawianie wasnego domylnego schematu kursorw


Kady uytkownik moe ustawi swj domylny schemat kursorw, tworzc lub zmieniajc plik ~/.icons/default/index.theme (znak tylda ~ oznacza katalog domowy uytkownika). Plik index.theme informuje system, ktry ze schematw ma by uyty. Potrzebne
katalogi naley stworzy poniszym poleceniem:
$ mkdir ~/.icons ~/.icons/default

Nastpnie w katalogu ~/.icons/default trzeba utworzy plik index.theme i, za pomoc edytora


tekstu, wpisa do niego nastpujce wiersze:
[Icon Theme]
Inherits=whiteglass

W tym przykadzie zosta uyty schemat kursorw o nazwie whiteglass. Schemat ten jest
zainstalowany w systemie, katalog whiteglass znajduje si w oglnodostpnym katalogu
/usr/share/cursors/xorg-x11. Jeli katalogu whiteglass nie ma w systemie, domylny kursor si
nie zmieni. Naley wtedy uy takiego schematu, jaki dostpny jest w systemie.
W wyniku zmian, po uruchomieniu menedera okien, powinny by widoczne nowe kursory.
Najlepszym sposobem na zmian schematu kursorw jest modyfikacja ustawie
w pliku index.theme, po ktrej naley ponownie uruchomi meneder okien lub
rodowisko graficzne. Jeli si tego nie wykona, mog wystpi nieoczekiwane
efekty lub nie bdzie adnych zmian.

Sposoby zwizane z systemem graficznym X

89

SPOSB

23.

SPOSB

23.

Oywienie pulpitu animowanymi kursorami myszy

Rady dla uytkownikw kart graficznych NVIDIA


Posiadacze kart graficznych NVIDIA czsto uywaj sterownikw NVIDIA pobranych ze
strony internetowej producenta, wykorzystujcych akceleracj karty graficznej. Jeli jest
uywany sterownik z akceleracj, a nie domylny sterownik z X11, kursory mog migota.
Aby naprawi ten bd, naley najpierw w pliku konfiguracyjnym X11 odnale fragment Device opisujcy kart graficzn. Plik ten nazywa si XF86Config, XF86Config-4 lub
xorg.conf, w zalenoci od tego, jaka wersja X serwera jest zainstalowana. Zwykle znajduje si on w katalogu /etc/X11. Fragment Device powinien zawiera ponisze wiersze,
jednak nie musz one wyglda dokadnie tak, jak to pokazano:
Section "Device"
Driver
"NVIDIA"
Option
"HWCursor"

"On"

Naley wyczy opcj HWCursor wiersz odpowiedzialny za t opcj powinien wyglda nastpujco:
Option

"HWCursor"

"Off"

Po nastpnym uruchomieniu rodowiska graficznego, problem mrugajcego kursora powinien znikn.

Ustawianie wybranego schematu kursorw. Przykad 1


Popularnym rdem schematw kursorw i innych gadetw jest strona KDE-Look
(http://www.kde-look.org). Dokadny adres do strony zawierajcej tylko schematy kursorw
to http://www.kde-look.org/index.php?xcontentmode=36. Mona stamtd pobra wybrany
schemat. Mimo e strona ta skupia si na KDE, schematy kursorw bd dziaay na
kadym X serwerze.
Niestety nie ma standardw dla pakietw ze schematami. Nie wszystkie pakiety zawieraj plik README, w ktrym znajduj si instrukcje dotyczce rozpakowania i instalowania plikw. Z tego powodu niemoliwe jest przedstawienie jednej metody postpowania z tymi pakietami.
Zazwyczaj jednak reguy s podobne trzeba je tylko zaadaptowa do pobranego
schematu. W tym przykadzie bdzie uyty schemat Red Dot ze strony KDE-Look. Bezporedni adres do tego schematu to http://www.kde-look.org/content/show.php?content=4805,
a nazwa pliku to 4805-RedDot.tar.gz. Naley znale lub utworzy katalog tymczasowy,
w ktrym mona bdzie rozpakowa plik, a nastpnie przej do niego, np.:
$ mkdir ~/temp
$ cd ~/temp

Po zainstalowaniu schematu mona bdzie skasowa zawarto tego katalogu. Teraz trzeba
rozpakowa pobrany plik poniszym poleceniem:
$ tar zxvf 4805-RedDot.tar.gz

90

Sposoby zwizane z systemem graficznym X

Oywienie pulpitu animowanymi kursorami myszy

Zostan utworzone dwa katalogi: RedDot i RedDotSource. Opcja -z polecenia tar informuje, e plik jest spakowany programem gzip.
Po rozpakowaniu pliku pojawi si katalogi ze schematem kursorw. S to te, ktre zawieraj podkatalog cursors. W tym przypadku podkatalog ten znajduje si w katalogu
RedDot i wanie ten katalog trzeba zainstalowa. (Dla ciekawskich w katalogu RedDotSource znajduj si pliki, ktrych autor schematu uy do jego tworzenia).
Najprostszym sposobem instalacji kursorw Red Dot jest po prostu skopiowanie katalogu
RedDot wraz z jego zawartoci do katalogu ~/.icons:
$ cp -a RedDot ~/.icons

Jeli schemat ma by dostpny dla wszystkich uytkownikw, naley skopiowa katalog


RedDot do jednego z oglnodostpnych katalogw (zgodnie z jednym z powyszych
przykadw katalogi te to /usr/local/share/cursors/xorg-x11, /usr/share/cursors/xorg-x11, /usr/share/
pixmaps/xorg-x11, jednak w innych dystrybucjach mog by inne). Aby moliwe byo skopiowanie katalogu, naley zalogowa si jako uytkownik root, w przeciwnym razie zbyt
niskie uprawnienia nie pozwol na zapisywanie zmian w tych katalogach.
W pliku ~/.icons/default/index.theme naley umieci ponisze wiersze:
[Icon Theme]
Inherits=RedDot

Po ponownym uruchomieniu menedera okien lub rodowiska graficznego powinny


by widoczne kursory ze schematu Red Dot.

Ustawianie wybranego schematu kursorw. Przykad 2


Jak wczeniej zostao wspomniane, nie ma jednego standardu dla pakietw ze schematami kursorw. Poniszy przykad pokazuje, e reguy instalacji schematu s takie same,
nawet jeli pakiet jest inny.
W tym przypadku naley pobra schemat Golden XCursors 3D dostpny na stronie
http://www.kde-look.org/content/show.php?content=5507. Plik ze schematem nazywa si
5507-Golden-XCursors-3D-0.8.tar.bz2. Naley go rozpakowa poniszym poleceniem:
$ cd ~/temp
$ tar jxvf 5507-Golden-XCursors-3D-0.8.tar.bz2

Zostaje utworzony katalog Golden-XCursors-3D-0.8. (Jeli wersja pliku zmienia si od czasu


wydania tej ksiki, naley zmieni powysze polecenie, podajc now nazw pliku ze
schematem). Nastpnie trzeba przej do tego katalogu i wywietli jego zawarto poleceniem ls:
$ cd Golden-XCursors-3D-0.8
$ ls
COPYING Gold README default

Sposoby zwizane z systemem graficznym X

91

SPOSB

23.

SPOSB

24.

Konwersja kursorw XP do Linuksa

W tym przypadku autor doczy plik README z instrukcjami opisujcymi sposb instalacji schematu, ale gdyby go nie byo, mona uy metody z poprzedniego przykadu.
Najpierw naley odnale katalog zawierajcy podkatalog cursors. Trzeba otworzy katalog
Gold, wydajc nastpujce polecenie:
$ ls Gold
cursors

Znajduje si tam szukany podkatalog cursors. Naley wic skopiowa katalog Gold do
katalogu ~/.icons:
$ cp -a Gold ~/.icons

Aby schemat Gold by dostpny dla wszystkich uytkownikw, naley skopiowa katalog Gold do oglnodostpnego katalogu (katalogi te to: /usr/local/share/cursors/xorg-x11,
/usr/share/cursors/xorg-x11, /usr/share/pixmaps/xorg-x11, ale w innych dystrybucjach mog
by inne). Naley zalogowa si jako uytkownik root, zbyt niskie uprawnienia nie pozwol bowiem na zapisywanie zmian w tych katalogach.
W pliku ~/.icons/default/index.theme trzeba umieci ponisze wiersze:
[Icon Theme]
Inherits=RedDot

Po ponownym uruchomieniu menedera okien lub rodowiska graficznego powinien


by widoczny kursor w schemacie Gold.
SPOSB

24.

Konwersja kursorw XP do Linuksa


Uycie kursorw zaprojektowanych dla systemu Windows XP w Linuksie

Mona uy jeszcze bardziej ozdobnych kursorw ni te, ktre s dostpne dla Linuksa.
Firma Stardock dla systemu Windows XP stworzya produkt CursorXP. Pozwala on uytkownikom systemu Windows na wybr z setek ozdobnych animowanych schematw
kursorw. W tym sposobie przedstawiony jest skrypt, ktry konwertuje te schematy tak,
aby mogy by uyte z systemem X11 w Linuksie.
Istnieje ogromny zbir dostpnych schematw kursorw przeznaczonych do uytku z programem CursorXP. Mona je znale na stronie http://www.wincustomize.com. Bezporedni adres prowadzcy do strony zawierajcej schematy kursorw to: http://www2.
wincustomize.com/skins.asp?library=25.
Aby mona byo wykorzysta te schematy w systemie Linux, naley skorzysta ze skryptu
napisanego przez Erica Windischa i zmodyfikowanego przez Nicholasa Petreleya i Jamesa
Barrona. Skrypt ten, napisany w jzyku Perl, suy do konwersji schematw CursorXP na
format obsugiwany przez rodowisko X11. W tym sposobie uyta bdzie wersja skryptu
o nazwie np-sd2xc.pl.

92

Sposoby zwizane z systemem graficznym X

Konwersja kursorw XP do Linuksa

Skrypt do poprawnego dziaania wymaga pakietu ImageMagic w wersji 6 lub nowszej.


Bd take potrzebne nastpujce moduy jzyka Perl:
Image::Magick,
Getopt::Long,
Config::IniFiles.
Po upewnieniu si, e wszystkie niezbdne pakiety s zainstalowane, naley pobra schemat kursorw przeznaczony do konwersji. W tym przykadzie bdzie uyty plik Gear.zip.
Aby rozpocz konwersj, naley rozpakowa go do roboczego katalogu. Ponisze polecenia korzystaj z katalogu roboczego o nazwie geartemp (jeli zosta pobrany inny plik
ni Gear.zip, naley zmieni nazw pliku w poleceniach):
$ mkdir ~/geartemp
$ cd ~/geartemp
$ unzip Gear.zip

Polecenie rozpakowuje plik, dziki temu powstaje nowy o nazwie Gear.CurXPTheme.


Mimo e plik ma rozszerzenie .CurXPTheme, to jest to nastpny plik spakowany programem zip, ktry mona rozpakowa poniszym poleceniem:
$ unzip Gear.CurXPTheme

Po rozpakowaniu naley skorzysta ze skryptu np-sd2xc.pl. Przecznik -name pozwala


na okrelenie nowej nazwy schematu kursorw. Schemat uyty w tym przykadzie nazywa si Gear, ale mona mu nada inn nazw. Dla przykadu bdzie to CoolGear. Naley wyda polecenie:
$ np-sd2xc.pl -name CoolGear

Podczas konwersji schematw CursorXP program moe doda cienie do wszystkich


kursorw. To kwestia gustu, ale ja uwaam, e kursory 3D z cieniami adnie wygldaj.
Aby doda cie do kursorw, naley dopisa przecznik -shadow do polecenia:
$ np-sd2xc.pl -shadow -name CoolGear

Teraz mona zainstalowa schemat (w tym przykadzie bdzie zainstalowany w katalogu


domowym uytkownika). Ponisze polecenia instaluj schemat i ustawiaj go jako domylny (przecznik -R wskazuje poleceniu cp, eby skopiowa wszystkie podkatalogi
wraz z ich zawartoci do katalogu ~/.icons):
$ cp -R CoolGear ~/.icons
$ cp -R default ~/.icons

Drugie polecenie nadpisuje plik index.theme w katalogu ~/.icons/default.


Po ponownym uruchomieniu rodowiska graficznego lub menedera okien powinny by
widoczne kursory oryginalnie zaprojektowane dla systemu Windows w linuksowym
rodowisku opartym na X serwerze.

Sposoby zwizane z systemem graficznym X

93

SPOSB

24.

SPOSB

25.

Uycie czcionek z systemu Windows i Macintosha


Nie wszystkie schematy z CursorXP udaje si dobrze skonwertowa. le
zachowujcy si schemat moe uniemoliwi wczenie rodowiska graficznego
lub menedera okien. Jeli wystpi ten problem, naley przeczy si kombinacj
klawiszy Ctrl+Alt+F1 do wirtualnej konsoli i zalogowa si. Nastpnie naley
otworzy w edytorze tekstu plik ~/.icons/default/index.theme i zmieni w nim
parametr Inherits na schemat, ktry dziaa.
SPOSB

25.

Uycie czcionek z systemu Windows i Macintosha


Wykorzystanie ulubionych czcionek z innych systemw operacyjnych

Duym problemem w linuksowym rodowisku jest brak wysokiej jakoci czcionek. Tworzenie czcionek to czasochonny i drogi proces, ktry wymaga duo umiejtnoci. Ci, ktrzy to potrafi, w wikszoci nie chc oddawa swojej pracy za darmo (ta postawa wyranie kontrastuje z tysicami programistw open source, ktrzy publikuj swj kod za
darmo). Mona kupi czcionki przeznaczone dla Linuksa, ale taniej jest uy czcionek
z innego systemu operacyjnego.
Kopiujc czcionki z innego systemu operacyjnego, trzeba mie na uwadze
prawne konsekwencje swoich czynw. Czcionki, bdce czci prawnie
zastrzeonych systemw operacyjnych, mog by chronione licencj, ktra
ogranicza ich uycie. Przed ich kopiowaniem naley przeczyta warunki
licencji dotyczce czcionek.

Uycie czcionek z systemu Windows


Linux w peni obsuguje czcionki TrueType uywane w systemie Windows. Mona je
z niego skopiowa i zainstalowa w katalogach czcionek systemu X albo w katalogu .fonts
w katalogu domowym uytkownika.
Chocia powysza metoda dziaa, nie zawsze jest konieczne kopiowanie plikw kiedy
system Windows znajduje si na tym samym komputerze, co Linux, mona uy bardziej
eleganckiej metody.
Po pierwsze, trzeba zamontowa partycj z systemem Windows. Aby to zrobi, potrzebne
jest jdro Linuksa obsugujce system plikw VFAT (lub NTFS w przypadku systemw
Windows 2000 i XP). Przy samodzielnej kompilacji jdra naley doda obsug tych
systemw. W narzdziu do konfiguracji jdra naley zaznaczy opcj: File systems /
DOS/FAT/NT / File systems / VFAT Support lub przy systemie plikw NTFS: File systems
/ DOS/FAT/NT / File systems / NTFS file system.
Aby uzyska dostp do partycji z systemem Windows, naley j zamontowa. Mona to
zrobi rcznie poleceniem:
foo@bar:~$ mkdir /mnt/windows
foo@bar:~$ mount -t vfat /dev/hda1 /mnt/windows

94

Sposoby zwizane z systemem graficznym X

Uycie czcionek z systemu Windows i Macintosha

Partycja z systemem Windows moe si znajdowa w innym miejscu ni /dev/hda1


w takim przypadku naley zmodyfikowa powysze polecenie. Punkt montowania partycji jest dowolny w tym przykadzie jest to /mnt/windows. Gdy nie ma pewnoci, jakie
partycje s dostpne, mona to sprawdzi poleceniem:
foo@bar:~$ ls -al /dev/hda*

eby uatwi montowanie, mona doda ten punkt do listy dostpnych punktw montowania w pliku /etc/fstab. Plik ten wskazuje systemowi dostpne dyski oraz sposb,
w jaki mona si do nich dosta. Trzeba do niego doda jeden z dwch poniszych wierszy,
w zalenoci od tego, jaki system plikw jest uywany na partycji z systemem Windows:
/dev/hda1
/dev/hda1

/mnt/windows
/mnt/windows

vfat
ntfs

rw
ro

0
0

0
0

Powyszy zapis przekazuje systemowi informacj, e partycja /dev/hda1 jest dostpna


w punkcie montowania /mnt/windows z moliwoci odczytu i zapisu oraz eby zamontowa j przy uruchomieniu systemu. Poniewa w Linuksie zapis na partycjach NTFS nie
jest w peni obsugiwany, a jego uycie moe spowodowa zniszczenie danych, system
NTFS bdzie zamontowany z prawem tylko do odczytu (read only).
Aby uy czcionek, potrzebny jest dostp do katalogu z czcionkami w systemie Windows i uruchomienie kilku narzdzi, ktre sprawi, e czcionki bd uyteczne w systemie X. Chocia X obsuguje czcionki TrueType, potrzebuje kilku specjalnych plikw,
ktre zawieraj informacje o czcionkach. W systemie Windows czcionki znajduj si zazwyczaj w katalogu C:\Windows\Fonts, naley wic przej do /mnt/windows/Windows/
Fonts i wyda opisane niej polecenia.
Pierwsze polecenie ttmkfdir tworzy specjalny plik informacyjny o czcionkach
o nazwie fonts.scale. Plik ten zawiera list czcionek i ich waciwoci w formacie zrozumiaym dla systemu X. Aby utworzy plik, naley przej do katalogu z czcionkami i wyda polecenie:
foo@bar:~$ ttmkfdir

W przypadku, gdy katalog z czcionkami systemu Windows znajduje si na partycji NTFS,


nie mona wyda tego polecenia, poniewa partycja ta jest zamontowana w trybie tylko
do odczytu. Mona sobie poradzi z tym problemem poprzez skopiowanie czcionek do
katalogu znajdujcego si na partycji z Linuksem (np. /tmp/fonts), a nastpnie z poziomu
tego katalogu trzeba wyda powysze polecenie. Nastpnie naley skopiowa utworzony plik fonts.scale na nonik, ktry bdzie dostpny te z systemu Windows, jak np. dyskietka lub pendrive. Stamtd naley go przenie do katalogu C:\Windows\Fonts. T
operacj trzeba bdzie powtrzy za kadym razem, gdy zostan dodane nowe czcionki
w systemie Windows, ktre maj by te dostpne z Linuksa.
Po stworzeniu pomocniczego pliku naley powiadomi system XFree86, e istnieje nowy katalog z czcionkami, ktry ma by przez niego uywany. Mona to zrobi na dwa sposoby.

Sposoby zwizane z systemem graficznym X

95

SPOSB

25.

SPOSB

25.

Uycie czcionek z systemu Windows i Macintosha

Pierwszy to dodanie wiersza FontPath do pliku konfiguracyjnego systemu X11, zwykle


/etc/X11/XF86Config-4:
FontPath "/mnt/windows/Windows/Fonts"

Po dodaniu tego wiersza naley ponownie uruchomi X serwer.


Trzeba pamita, eby zwraca uwag na wielko liter w nazwach katalogw.
Na przykad gwny katalog systemu Windows pisany jest czasem wielkimi
literami: WINDOWS. Naley wic odpowiednio dostosowa ciek dostpu.

Inn metod jest uycie polecenia chkfontpath do dynamicznego dodania cieki (sposb
ten dziaa tylko wtedy, gdy uywany jest serwer czcionek XFS):
foo@bar:~$ chkfontpath --add /mnt/windows/Windows/Fonts

Jeli katalog zosta dodany tym poleceniem, trzeba uruchomi ponownie serwer czcionek
i system XFree86. Mona to zrobi poniszym poleceniem:
foo@bar:~$ /etc/init.d/xfs restart

Od tej pory czcionki z systemu Windows powinny by dostpne.

Uycie czcionek z systemu Mac OS X


Chocia system Mac OS X obsuguje czcionki TrueType, firma Apple umieszcza czcionki
i wiele dodatkowych informacji systemowych w plikach zwanych data fork resource files.
Pliki te maj rozszerzenie .dfont i zawieraj duo wicej informacji ni przecitny plik
czcionki TrueType. Informacje te przeznaczone s dla systemu Mac OS X, wic zwyke
skopiowanie tych plikw do Linuksa nie wystarczy system X nie bdzie wiedzia, co
zrobi z dodatkowymi informacjami. Trzeba wic przekonwertowa te pliki za pomoc
programu Fondu.
Program Fondu (http://fondu.sourceforge.net/) wydostaje dane o czcionkach z plikw .dfont
i tworzy uyteczne pliki TrueType. Fondu zawiera nie tylko konwerter, ale take wiele
innych uytecznych narzdzi, ktre radz sobie z rnicami midzy definicjami czcionek
z systemw uniksowych i z systemu Mac OS X. Z podanej wyej strony naley pobra
archiwum Mac OS X Stufflt zawierajce program Fondu.
Po pobraniu archiwum naley klikn dwa razy ikon programu, aby rozpakowa zawarto. Na pulpicie pojawi si ikona .pkg. Po klikniciu tej ikony rozpocznie si proces
instalacji. Chocia instalator wymaga jedynie klikania klawisza Next i podania miejsca
instalacji plikw, trzeba pamita o ustawieniu zmiennych PATH i MANPATH na /usr/
local/bin i /usr/local/man, aby pliki byy dostpne w caym systemie Mac OS X. Mona to
zrobi w pliku .profile w katalogu uytkownika (plik ten jest odczytywany przy kadym
logowaniu ustawia on wszystkie zmienne rodowiskowe).
PATH = /usr/local/bin:$PATH
MANPATH = /usr/local/man:$MANPATH
export PATH MANPATH

96

Sposoby zwizane z systemem graficznym X

Jak nie przeoczy przypomnienia

Aby sprawdzi, czy zmienne s prawidowo ustawione, naley wylogowa si i zalogowa ponownie poniszymi poleceniami:
foo@bar:~$ echo $PATH
foo@bar:~$ echo $MANPATH

Aby skonwertowa czcionki, naley utworzy tymczasowy katalog, w ktrym bdzie


odbywa si proces konwersji:
foo@bar:~$ mkdir ~/fontconv

Stworzenie tego katalogu jest konieczne, poniewa katalogi systemowe s dostpne w trybie tylko do odczytu. Ponisze polecenie kopiuje pliki z /System/Library/Fonts do nowego
katalogu:
foo@bar:~$ cp /System/Library/Fonts/* ~/fontconv

Naley przej do katalogu fontconv i przeprowadzi konwersj:


foo@bar:~$ fondu *

Po ukoczeniu procesu w katalogu pojawi si pliki z rozszerzeniem .ttf. Naley utworzy


katalog o nazwie macfonts. Nastpnie trzeba skopiowa do niego pliki TrueType i utworzy z nich archiwum tar:
foo@bar:~$ mkdir ~/macfonts
foo@bar:~$ cp *.ttf ../macfonts
foo@bar:~$ tar zcvf ../macfonts/*.ttf macfonts

Stworzone w ten sposb archiwum naley skopiowa do Linuksa i rozpakowa je do


systemowego katalogu z czcionkami lub do katalogu .fonts w katalogu domowym uytkownika. Jak to zostao zaznaczone w poprzednim fragmencie, naley wyda polecenie
ttmkfdir tworzce plik informacyjny o czcionkach. Naley te doda ciek do czcionek w pliku konfiguracyjnym systemu X11.
SPOSB

26.

Jak nie przeoczy przypomnienia


Przypomnienia mog pojawia si nad wszystkimi innymi aplikacjami na pulpicie

Moliwe jest wywietlanie wiadomoci na wierzchu X Window, nawet w trakcie uywania wielu pulpitw wirtualnych. Moe by to przydatne, gdy zwyke wyskakujce
okienko lub wiadomo pojawiajca si w terminalu niedostatecznie przyciga uwag
uytkownika. W tym sposobie wykorzystane zostan moliwoci funkcji programu X11
On-Screen Display (XOSD), ktry zostanie zastosowany przy wywietlaniu przypomnienia
na ekranie.
XOSD pozwala wywietla wiadomoci, symbole lub paski postpu bezporednio na
ekranie nad wszystkimi innymi aplikacjami. Przypomina to wskanik gonoci w wielu
telewizorach.

Sposoby zwizane z systemem graficznym X

97

SPOSB

26.

SPOSB

26.

Jak nie przeoczy przypomnienia

Instalacja programu XOSD jest zalena od dystrybucji, ktra jest uywana przez Czytelnika.
Nazwa pakietu, ktry trzeba zainstalowa, zawiera zwykle wyraenie XOSD. Uytkownicy korzystajcy z zarzdcy pakietw yum (np. w dystrybucji Fedora Core i innych opartych na pakietach RPM), powinni zalogowa si jako uytkownik root i zainstalowa program XOSD poniszym poleceniem:
# yum install xosd

W przypadku Debiana i innych dystrybucji bazujcych na pakietach RPM, ktre obsugiwane s przez program apt-get, XOSD instaluje si poniszym poleceniem:
# apt-get install xosd-bin

Aby zainstalowa XOSD w dystrybucji Gentoo, naley wyda polecenie:


# emerge xosd

Du zalet uywania XOSD jest fakt, e przyciga on uwag skuteczniej ni jakakolwiek inna technika komunikatw. Wiadomo pojawia si na kadym pulpicie wirtualnym i przesania kad uywan aplikacj. Mona wyprbowa sposb dziaania XOSD
poniszym poleceniem:
$ echo "Cze, tu program osd_cat." | osd_cat

Wiadomo powinna si pokaza w grnym lewym naroniku ekranu. Jest ona wywietlona ma czerwon czcionk. Jest tak maa, e prawie nieprzydatna. Istniej proste sposoby powikszenia jej rozmiaru. Jeli tekst si pokaza, oznacza to, e program osd_cat dziaa.

Upikszanie napisu
Aby ustali wygld napisu wywietlanego przez program osd_cat, mona doda wiele
przecznikw. Po pierwsze, wypadaoby zwikszy rozmiar czcionki. Aby uy wybranej czcionki, naley doda przecznik -f z definicj czcionki.
Definicje czcionek takich jak te, ktre uywane s przez program osd_cat, wygldaj nieprzystpnie zawieraj informacje opisane mnstwem gwiazdek i kresek. Kada cz
definicji przekazuje informacje o typie czcionki, wielkoci, pogrubieniu itd. Bezpiecznie
jest przepisa definicje z tej ksiki, ale jeli Czytelnik ma ochot na eksperymenty, moe
skorzysta z programu xfontsel, w ktrym mona dowolnie zmienia ustawienia czcionek.
Program pozwala ustawia rne parametry, ktre tworz definicj czcionki wywietlanej
na ekranie. Po utworzeniu caej definicji naley klikn przycisk Select, wwczas definicja zostanie skopiowana do schowka. Mona j wtedy wklei do skryptu lub programu.
Ponisza definicja opisuje du, przycigajc wzrok, czcionk dostpn w prawie kadej
dystrybucji Linuksa:
-adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*

98

Sposoby zwizane z systemem graficznym X

Jak nie przeoczy przypomnienia

Jeli zainstalowane s czcionki TrueType z systemu Windows [Sposb 25.], wybr rozmiarw czcionek jest znacznie wikszy. Im wiksza czcionka, tym duej bdzie renderowana przez program osd_cat. Oto przykad:
"-microsoft-comic sans ms-*-*-*-*-48-*-*-*-*-*-*-*"

Mona wywietli tekst napisany czcionk wiksz ni 48 punktw, ale moe min kilka sekund, zanim pojawi si on na ekranie.
Definicje czcionek zawierajce spacje musz by umieszczone w cudzysowie.
W przeciwnym wypadku program osd_cat moe nie zrozumie definicji.

Poniej znajduje si polecenie osd_cat z definicj czcionki:


$ echo "Cze, tu program osd_cat." | osd_cat -f -adobe-helvetica-bold-rnormal-*-*-240-*-*-p-*-*-*

Po wydaniu tego polecenia na ekranie powinna pojawi si wiadomo napisana duo


wiksz czcionk.
Aby zmieni kolor tekstu, naley uy przecznika -c. Kolory, ktrych mona uy, s
zdefiniowane w pliku /usr/X11R6/lib/X11/rgb.txt. Najbezpieczniej jest wybiera kolory
standardowe: blue, green, yellow, cyan, white, black i magenta. Wybredni uytkownicy mog
wybra te inne kolory, np. PapayaWhip.
Kolor zielony jest typowy dla informacji wywietlanych na ekranie telewizora, wic
sprawdzi si te w XOSD:
$ echo "Cze, tu program osd_cat." | osd_cat -c green \
-f -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*

Wywietlany tekst moe rzuca cie. Oczywicie, jeli tekst pojawia si na ciemnym tle,
cienia nie bdzie wida. Aby doda cie o gruboci dwch pikseli, naley doda przecznik -s 2:
$ echo "Cze, tu program osd_cat." | osd_cat -c green -s 2 \
-f -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*

Pozycj wywietlanego tekstu mona ustali przecznikiem -p. Przecznik -p middle


ustawia tekst na rodku ekranu (mona wybra top i bottom odpowiednio na grze
i na dole ekranu). Mona zauway, e przy ustawieniu middle tekst na moment pojawia si na grze ekranu, dopiero potem na rodku. Ta wada programu osd_cat bdzie
prawdopodobnie naprawiona w jego nastpnych wersjach. Mona ustawi te czas wywietlania wiadomoci na okres duszy ni domylne 5 sekund. Aby napis pozosta na
ekranie przez 60 sekund, naley doda przecznik -d 60:
$ echo "Cze, tu program osd_cat." | osd_cat -c green -s 2 -p middle -d 60 \
-f -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*

Sposoby zwizane z systemem graficznym X

99

SPOSB

26.

SPOSB

26.

Jak nie przeoczy przypomnienia

Dostpne s te inne przeczniki suce na przykad do robienia wci w tekcie. Wicej informacji o przecznikach mona znale na stronie man polecenia osd_cat.

Skrypt wywietlajcy przypomnienia


Kiedy wiadomo ju, co potrafi XOSD, mona napisa skrypt wywietlajcy przypomnienia o okrelonej godzinie. Aby skrypt dziaa, oprcz programu osd_cat, potrzebny
bdzie program at. Musi by rwnie uruchomiony demon atd. Wiele dystrybucji Linuksa
instaluje at i atd oraz uruchamia demona domylnie. Jeli programy te nie s zainstalowane, naley je zainstalowa, postpujc zgodnie z procedur dla konkretnej dystrybucji
i upewni si, e program atd uruchamia si podczas startu komputera.
Aby stworzy skrypt, naley zalogowa si jako uytkownik root lub uy polecenia sudo,
uruchomi ulubiony edytor tekstu i utworzy plik /usr/local/bin/remindme. Do niego naley
wpisa skrypt z przykadu 4.1.
Przykad 4.1. Skrypt bash do pliku remindme
#!/bin/bash
# sprawdzenie, ktry ekran jest obecnie uywany
HOST="$(xrdb -symbols | grep SERVERHOST | cut -d= -f2)"
DISPLAYNUM="$(xrdb -symbols | grep DISPLAY_NUM | cut -d= -f2)"
THISDISPLAY=$HOST:$DISPLAYNUM.0
# sprawdzenie, czy katalog (reminders) skryptu przypominajcego jest w katalogu domowym
# jeli nie ma, tworzenie katalogu
if [ ! -e ~/reminders ] ; then
mkdir ~/reminders
fi
unique=`date +%F-%H-%M-%S`
reminder="reminders/reminder-"$unique
# tworzenie wynikowego skryptu reminder
echo '#!/bin/bash' > ~/$reminder
echo $THISDISPLAY >> ~/$reminder
echo "echo \"$2 dzisiaj\" | osd_cat -s 2 -c green -p middle \
-f -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-* -d 60" >> ~/$reminder
# nadanie mu atrybutu wykonywania
chmod +x ~/$reminder
# powiadomienie demona atd o koniecznoci uruchomienia skryptu o zadanej porze
at $1 -f ~/$reminder

Naley zapisa plik i nada mu atrybut wykonywania:


$ sudo chmod +x /usr/local/bin/remindme

Aby ustawi przypomnienie o telefonie do szefa o godzinie 14:00, naley wyda polecenie:
$ remindme 14:00 "Zadzwo teraz do szefa."

100

Sposoby zwizane z systemem graficznym X

Jak nie przeoczy przypomnienia

Powyszy skrypt przeksztaca to polecenie na osobny skrypt reminder i ustawia czas jego
uruchomienia na 14.00. Nowy skrypt, korzystajc z XOSD, umieci wiadomo na ekranie. Oznacza to, e nie bdzie mona jej przeoczy, poniewa bdzie umieszczona na
wszystkich pulpitach.
Dziaanie skryptu przebiega w kilku etapach. Pierwsza cz sprawdza, ktry ekran X
Window jest aktualnie uywany. Potem do pliku reminder zostaje dodany wiersz ustawiajcy numer ekranu, na ktrym ma pracowa roboczy skrypt. Program osd_cat nie pobiera tej informacji od rodowiska, wic musi by ona umieszczona w skrypcie. Nie mona
zakada, e uytkownik bdzie zawsze uywa domylnego ekranu: 0.0. Skrypt musi wic
okreli aktualny ekran, wykonujc polecenie xrdb.
Niektre wersje programu osd_cat zwracaj szczegln uwag na sposb
zapisu zmiennej DISPLAY. Nie dziaaj, gdy przed wyraeniem <:0.0>
podana zostanie nazwa komputera. Naley o tym pamita podczas
uruchamiania programu.

Nastpna cz skryptu tworzy unikaln nazw pliku bazujca na aktualnym czasie. Potem
tworzy pierwszy wiersz skryptu basha (#!/bin/bash) i zapisuje go do pliku reminder,
ktry uruchomi si w podanym czasie.
Nastpnie dodaje polecenie wywietlenia powiadomienia na ekranie, w ktrym $2 zostanie zastpione wartoci drugiego parametru wywoania skryptu, czyli treci powiadomienia (dla powyszego przykadu bdzie to zadzwo do szefa). Kolejna cz
skryptu nadaje stworzonemu plikowi atrybut wykonywalnoci. Ostatnia cz skryptu informuje demona atd, aby w zadanym czasie uruchomi stworzony wczeniej skrypt.
Godzin wywoania przypomnienia mona poda na kilka rnych sposobw, np. 14:00,
2:00PM lub 2pm. Wszystkie te formaty bd poprawnie odczytane przez program. Skrypt
domylnie przyjmuje, e skrypt przypominajcy ma zosta wywoany tego samego dnia,
w ktrym jest tworzony. Ambitni uytkownicy mog zmieni skrypt tak, aby pozwala
rwnie okrela dat wywietlania powiadomienia.
Mona zauway, e skrypt, na podstawie aktualnej daty i czasu, nadaje tworzonym plikom unikalne nazwy i zapisuje je w katalogu ~/ reminders, np. ~/reminders/reminder-200410-04-05-07-39. Symbol tylda ~ oznacza katalog domowy uytkownika. Wszystkie pliki
reminder s wic przechowywane w podkatalogu reminders w katalogu domowym. Jeli
skrypt bdzie czsto uywany, katalog ten zapeni si plikami tymczasowymi. Mona
skasowa niepotrzebne pliki, oceniajc ich przydatno na podstawie daty zawartej w nazwie pliku. Kady plik reminder zawiera w nazwie dokadn dat i godzin, dziki czemu
atwo mona rozpozna przedawnione pliki i skasowa je.
Naley pamita, e data z nazwy pliku to data jego utworzenia, a nie
wywietlenia na ekranie. Jeli plik zosta utworzony o 13.00, a ma by
wywietlony o 15.00, to nie naley go kasowa przed 15.00.

Sposoby zwizane z systemem graficznym X

101

SPOSB

26.

SPOSB

27.

Wywietlanie komunikatw w odpowiedzi na zdarzenia


SPOSB

27.

Wywietlanie komunikatw w odpowiedzi na zdarzenia


Wiele aplikacji moe uruchomi zewntrzny program w wyniku zajcia jakiego zdarzenia uycie
skryptw wykorzystujcych XOSD spowoduje wywietlenie komunikatw przycigajcych uwag

Wiele aplikacji uywanych na co dzie ma moliwo uruchamiania zewntrznych programw w wyniku jakiego zdarzenia. Przykadami mog by: klient poczty KMail, meneder osobisty Jpilot czy monitor plikw log Swatch. Kady z opisanych w tym rozdziale sposobw korzysta z XOSD [Sposb 26.].

Program KMail
Jeli uywany jest klient poczty KDE KMail, mona skonfigurowa go tak, aby uruchamia
zewntrzny program za kadym razem, gdy przychodzi nowa wiadomo. Przykad ten
pokazuje, jak za pomoc XOSD wywietli na ekranie komunikat Nadesza nowa wiadomo pocztowa za kadym razem, gdy KMail odbierze now poczt.
Aby to osign, naley napisa skrypt, ktry wywietli na ekranie napis Nadesza nowa wiadomo pocztowa. Program KMail nie pozwala na podanie caego polecenia
wywietlajcego komunikat jako programu, ktry zostanie uruchomiony po nadejciu
poczty. Zamiast tego naley poda nazw skryptu, ktry zostanie w takiej sytuacji wykonany. Zadaniem tego skryptu jest wywietlenie odpowiedniego napisu. Za pomoc
ulubionego edytora tekstu naley utworzy plik ~/nowapoczta i wpisa do niego poniszy
skrypt. Uruchamia si on z katalogu domowego uytkownika, wic aby go stworzy, nie
s potrzebne uprawnienia uytkownika root.
#!/bin/bash
# sprawdzenie, ktry ekran jest obecnie uywany
# potem wyeksportowanie zmiennej rodowiskowej DISPLAY
HOST="$(xrdb -symbols | grep SERVERHOST | cut -d= -f2)"
DISPLAYNUM="$(xrdb -symbols | grep DISPLAY_NUM | cut -d= -f2)"
THISDISPLAY=$HOST:$DISPLAYNUM.0
export DISPLAY=$THISDISPLAY
echo "Nadesza nowa wiadomo pocztowa"'!' | osd_cat -s 2 -c yellow -p middle
\
-f -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-* -d 30

W powyszym zapisie dziwi moe uycie rnych rodzajw cudzysoww.


Zastosowanie takiej skadni jest konieczne ze wzgldu na interpreter jzyka
bash, dla ktrego wykrzyknik ma specjalne znaczenie powoduje odwoanie
si do historii polece. Aby wykrzyknik mg by wywietlony, musi by
zapisany w pojedynczym cudzysowie.

Naley zapisa plik i nada mu atrybut wykonywania:


$ chmod +x ~/nowapoczta

102

Sposoby zwizane z systemem graficznym X

Wywietlanie komunikatw w odpowiedzi na zdarzenia

Aby program KMail wykonywa skrypt, gdy nadejdzie nowa wiadomo, naley wykona ponisze kroki:
1. Wczy program KMail i wybra z menu Ustawienia/Konfiguruj powiadomienia....
2. Klikn przycisk Wicej opcji umieszczony pod polem Dziaania.
3. Zaznaczy opcj Wykonaj program.
4. Wpisa ~/nowapoczta w polu edycji tej sekcji.
5. Klika przyciski Zastosuj i OK, co spowoduje powrt do gwnego ekranu programu
KMail.

Program Jpilot
Meneder osobisty Jpilot mona skonfigurowa tak, aby uruchamia skrypt wywietlajcy
na ekranie wiadomoci w okrelonym czasie. Za pomoc edytora tekstu naley stworzy
poniszy skrypt i zapisa plik jako ~/jpilotalert. Skrypt uruchamia si z katalogu domowego uytkownika, wic uprawnienia uytkownika root nie s potrzebne.
#!/bin/bash
# sprawdzenie, ktry ekran jest obecnie uywany
# potem wyeksportowanie zmiennej rodowiskowej DISPLAY
HOST="$(xrdb -symbols | grep SERVERHOST | cut -d= -f2)"
DISPLAYNUM="$(xrdb -symbols | grep DISPLAY_NUM | cut -d= -f2)"
THISDISPLAY=$HOST:$DISPLAYNUM.0
export DISPLAY=$THISDISPLAY
echo "Umwione spotkanie $1 $2"'!' | osd_cat -s 2 -c yellow -p middle \
-f -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-* -d 30

Poniej przedstawione s kroki, ktre trzeba wykona, aby program Jpilot wykonywa
zadany skrypt. Pokazany jest rwnie sposb, w jaki naley przekazywa dat i godzin
przypomnienia do zewntrznego programu:
1. otworzy okno Preferences, wybierajc z menu File/Preferences lub wciskajc
kombinacj klawiszy Ctrl+E;
2. klikn zakadk Alarms;
3. zaznaczy opcj Execute this command;
4. wpisa nastpujcy cig tekstowy do pola tekstowego Alarm Command:
~/jpilotalert "%d" "%t".

Program Swatch
Swatch to program, ktry monitoruje dzienniki systemowe w poszukiwaniu sw kluczowych. Moe by skonfigurowany w taki sposb, aby przeszukiwa jeden lub wicej plikw z dziennikami. Gdy program znajdzie zadane sowo lub napotka wyraenie pasujce

Sposoby zwizane z systemem graficznym X

103

SPOSB

27.

SPOSB

28.

Wczanie klawiszy szybkiego dostpu za pomoc programu Hotkeys

do poszukiwanego wzorca, informuje o tym uytkownika. Programu tego mona uywa do nadzorowania prb wama do sieci. W takim przypadku wane jest wywietlenie skutecznego komunikatu mona do tego wykorzysta XOSD.
Ostrzeenie programu Swatch jest standardowo wypisywane w oknie, w ktrym uruchomiony jest program. Moe by take wysane jako wiadomo za pomoc poczty
email, jednak do czasu jej odczytania wamanie do sieci moe by ju faktem. Ten sposb wykorzystuje moliwoci XOSD do zwrcenia uwagi uytkownika na ostrzeenia
programu Swatch.
Poniej przedstawiono przykad ustawienia programu Swatch tak, aby przekazywa
wiadomo o nieudanej prbie zalogowania si (prawdopodobnie kto prbuje odgadn
haso). W tym przykadzie plik konfiguracyjny programu Swatch to /root/.swatchrc, a obserwowany plik dziennika to /var/log/auth.log w kilku dystrybucjach jest to plik rejestrujcy wszystkie prby zalogowania. Poniej znajduje si fragment pliku /root/.swatchrc,
ktry szuka sowa kluczowego failure w pliku /var/log/auth.log:
# Bad login attempts
watch for /failure/
pipe "osd_cat -c magenta -p middle \
-f \"-*-arial black-*-*-*-*-48-*-*-*-*-*-*-*\" -d 60"

Kiedy program Swatch znajdzie nowy wpis w dzienniku zawierajcy sowo failure, przele go do programu osd_cat, ktry wywietli go na ekranie. Prawie niemoliwe jest niezauwaenie tego napisu podczas pracy przy komputerze. Wielko czcionki tego napisu
bdzie mniejsza ni w poprzednich sposobach, poniewa wiadomoci programu s zwykle
dugie, a dobrze by byo, gdyby cae ostrzeenie zmiecio si na ekranie.
SPOSB

Wczanie klawiszy szybkiego dostpu

28. za pomoc programu Hotkeys

Aktywacja klawiszy do obsugi internetu i multimediw na klawiaturze

Program Hotkeys jest ju przestarzay i od dawna nie rozwijany, nie obsuguje wic
wszystkich typw nowoczesnych klawiatur. Jeli jednak woy si odrobin wysiku
w konfiguracj programu Hotkeys, mona osign zamierzony efekt wykorzystanie
dodatkowych klawiszy klawiatury. Jest to prostsze, jeli program obsuguje klawiatur
uytkownika. W przeciwnym razie konfiguracja jest trudniejsza i w takim przypadku
bardziej opaca si przyjrze nowoczeniejszemu programowi LinEAK [Sposb 29.].
Najpierw naley zainstalowa program Hotkeys. Mona do tego uy menedera pakietw
dystrybucji lub skompilowa go samodzielnie. Pakiety RPM dla rnych dystrybucji mona
znale na stronie http://rpm.pbone.net/index.php3?stat=3&search=hotkeys&srodzaj=3. Warto
rwnie zajrze na stron: http://rpmfind.net. Dla przykadu w dystrybucji Debian pakiety programw Hotkeys i XOSD instaluje si nastpujcym poleceniem:
# apt-get install hotkeys xosd-bin

104

Sposoby zwizane z systemem graficznym X

Wczanie klawiszy szybkiego dostpu za pomoc programu Hotkeys

Instalujc jednoczenie xosd-bin, mona uzyska jedn z lepszych funkcji programu Hotkeys wywietlanie informacji na ekranie (rysunek 4.1). Aby uzyska t funkcj przy
samodzielnej kompilacji programu, naley pamita o zainstalowaniu XOSD [Sposb 26.].

Rysunek 4.1. Wskanik gonoci programu Hotkeys

Proces konfiguracji programu Hotkeys naley rozpocz od skopiowania domylnej konfiguracji klawiatury do wasnego pliku konfiguracyjnego. Domylny plik konfiguracyjny to
zwykle /etc/hotkeys.conf. Naley utworzy kopi tego pliku w katalogu domowym uytkownika i dostosowa go do uywanej klawiatury:
$ mkdir ~/.hotkeys
$ cp /etc/hotkeys.conf ~/.hotkeys

Poniej przedstawiona jest lista klawiatur obsugiwanych domylnie przez program:


$ hotkeys -L
Supported keyboards: (with corresponding options to --kbd-list or -l)
mx2500
- Memorex MX2500 Keyboard
kbp8993
- Chicony KBP-8993 Keyboard
sk2500
- Fujitsu/Logitech/Trust SK2500 Keyboard / Liteon-ak2500
sk2505
- SK-2505 Keyboard
sk2800c
- SK-2800C
ibook
- iBook Internal Keyboard
mx1998
- Memorex MX1998 Keyboard
sk2501a
- Silitek SK5210A Keyboard
msnatpro
- Microsoft Natural Keyboard Pro
msnet
- Microsoft Internet Keyboard
logitech-cfo - Logitech Cordless Freedom Optical Keyboard
polypix
- Plypix Keyboard
sk7100
- Silitek SK7100 Keyboard
itouch
- Logitech Cordless iTouch/Internet/Cordless Desktop
hp5181
- HP 5181 Internet Keyboard
msnetpro
- Microsoft Internet Pro Keyboard
acerwl
- Acer Wireless Keyboard
btc9000
- BTC 9000
orktekusb
- ORKTEK USB Hub/keyboard
kb9930
- IBM Rapid Access II Keyboard
mck800
- Process MCK-800
kb9963
- Compaq KB-9963 keyboard
pb5140w
- Packerd Bell Model 5140W
mx3000
- Memorex MX3000 Keyboard
sk9925
- Silitek SK-9925 USB Keyboard

Lista nie jest duga, ale jeli klawiatura uytkownika jest tam wymieniona, to nie ma problemu. Jeli jednak jej nie ma, naley uy jednej z definicji klawiatury programu Hotkeys jako szablonu do utworzenia nowej definicji. Na przykad, aby utworzy definicj
klawiatury Logitech Elite, naley zalogowa si jako uytkownik root i wyda nastpujce
polecenie:
# cd /usr/share/hotkeys
# cp itouch.def lelite.def

Sposoby zwizane z systemem graficznym X

105

SPOSB

28.

SPOSB

28.

Wczanie klawiszy szybkiego dostpu za pomoc programu Hotkeys

Naley dowiedzie si, jakie s kody dodatkowych klawiszy dla klawiatury Logitech Elite
i zmieni ich definicje w pliku. Jest to najtrudniejsza cz tego zadania. Najlepszym sposobem na poznanie kodw klawiszy jest wydanie poniszego polecenia w terminalu X:
$ xev

Powinno pojawi si mae okno z czarnym kwadratem w rodku. Naley klikn w oknie,
aby stao si aktywne. Teraz trzeba przyciska kolejne klawisze specjalne na klawiaturze.
Po naciniciu kadego klawisza w terminalu powinna pokaza si informacja o nim. Jeli
po naciniciu klawisza nie pojawi si adne komunikaty, oznacza to, e nie bdzie
mona do tego klawisza przypisa adnej akcji. Jeli informacja wyglda podobnie do poniszego zapisu, prawdopodobnie rwnie nie bdzie mona przypisa akcji do klawisza:
KeymapNotify event, serial 30, synthetic NO, window 0x0,
keys:
4294967222 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0

0
0

0
0

0
0

0
0

ButtonRelease event, serial 30, synthetic NO, window 0x1400001,


root 0xb6, subw 0x1400002, time 2414137, (35,22), root:(1053,797),
state 0x200, button 2, same_screen YES

Do klawisza mona przypisa akcj, gdy informacja o nim jest podobna do poniszego
zapisu:
KeyPress event, serial 27, synthetic NO, window 0x1400001,
root 0xb6, subw 0x1400002, time 31223, (44,18), root:(1085,771),
state 0x0, keycode 162(keysym0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 30, synthetic NO, window 0x1400001,
root 0xb6, subw 0x1400002, time 31447, (44,18), root:(1085,771),
state 0x0, keycode 162(keysym0x0, NoSymbol), same_screen YES,
XLookupString gives 0 bytes:

W tym przykadzie do nacinitego klawisza przypisany jest kod 162. Naley zapamita
ten kod i klawisz, ktry go wywoa. W przypadku klawiatury Logitech Elite naciskany
by klawisz Play.
Po uzyskaniu informacji o wszystkich klawiszach klawiatury Logitech Elite mona rozpocz edycj pliku z definicj klawiatury. Poniej znajduje si skrcona wersja pliku /usr/
share/hotkeys/lelite.def utworzona na podstawie pliku itouch.def:
<?xml version="1.0"?>
<definition>
<config model=" Logitech Elite Keyboard">
<Favorites
<Shopping
<PrevTrack
<Play
<Stop
<NextTrack

106

keycode="230"/>
keycode="148"/>
keycode="144"/>
keycode="162"/>
keycode="164"/>
keycode="153"/>

Sposoby zwizane z systemem graficznym X

Wczanie klawiszy szybkiego dostpu za pomoc programu Hotkeys


<VolUp
keycode="176" adj="2"/>
<VolDown
keycode="174" adj="2"/>
<Mute
keycode="160"/>
<Email
keycode="236"/>
<Search
keycode="136"/>
<Sleep
keycode="223"/>
<Go
keycode="233"/>
<!-- Media
keycode="129"/ -->
<userdef
keycode="129" command="/usr/bin/eject">Eject</userdef>
<!-- My Home
keycode="130"/ -->
<userdef
keycode="130" command="/usr/bin/xfe">Home</userdef>
<!--Go
keycode="233"/ -->
<userdef
keycode="233" command="/usr/bin/firefox \
-remote openURL()"></userdef>
</config>
<contributor>
<name>nicholas petreley</name>
<email>nicholas at petreley dot com</email>
</contributor>
</definition>

Warto zauway, e niektre definicje zaczynaj si poleceniem userdef. Program Hotkeys jest bardzo rygorystyczny w stosunku do nazw klawiszy dostpnych na klawiaturze.
Nie rozpoznaje niektrych nazw klawiszy i nie potrafi powiza tych nazw z kodami
klawiszy. Mona sobie z tym poradzi, tworzc definicje klawiszy uytkownika. W przypadku klawiatury Logitech Elite s to klawisze Media, My Home i Go (spord innych
niezdefiniowanych przez program). Dodaem te klawisze i ich funkcje do pliku /usr/share/
hotkeys/lelite.def, uywajc polecenia userdef programu Hotkeys:
<!-- Media
keycode="129"/ -->
<userdef
keycode="129" command="/usr/bin/eject">Eject</userdef>
<!-- My Home
keycode="130"/ -->
<userdef
keycode="130" command="/usr/bin/xfe">Home</userdef>
<!--Go
keycode="233"/ -->
<userdef
keycode="233" command="/usr/bin/firefox \
-remote openURL()"></userdef>

Teraz za pomoc pliku ~/.hotkeys/hotkeys.conf mona przypisa akcje, ktre bd wykonywane przez program Hotkeys za kadym razem, gdy uytkownik nacinie klawisz
specjalny. Oto przykadowa konfiguracja:
### Naley okreli domyln klawitur (nazwa pliku bez rozszerzenia .def)
### dziki temu wpisywanie -t przy kadym uruchomieniu programu jest zbdne.
Kbd=lelite
CDROM=/dev/cdroms/cdrom0
#
#
#
#
#
#

PrevTrack=xmms --rew
Play=xmms --play-pause
Stop=xmms --stop
Pause=xmms --pause
NextTrack=xmms --fwd
Rewind=

WebBrowser=firefox
Email=thunderbird

Sposoby zwizane z systemem graficznym X

107

SPOSB

28.

SPOSB

29.

Wczanie klawiszy szybkiego dostpu za pomoc programu LinEAK


Calculator=xcalc
FileManager=gentoo
MyComputer=gentoo
MyDocuments=gentoo
Favorites=firefox
Shell=aterm
ScreenSaver=xscreensaver-command -activate
NewsReader= thunderbird -news
Communities=firefox -remote 'openURL(http://slashdot.org,new-tab)'
Search=firefox -remote 'openURL(http://www.google.com,new-tab)'
Idea=firefox -remote 'openURL(http://sourceforge.net,new-tab)'
Shopping=firefox -remote 'openURL(http://thinkgeek.com,new-tab)'
Go=firefox -remote 'openURL()'
Print=lp
osd_font=-adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*
osd_color=LawnGreen
osd_timeout=3
osd_position=bottom
osd_offset=

Niektre z przypisanych akcji s proste. Klawisz Email otwiera program Thunderbird,


wic w pliku wystarczy wiersz Email=thunderbird. Jednak inne definicje to bardziej
skomplikowane akcje, jak na przykad otwieranie nowego panelu w przegldarce internetowej (zakadajc, e jest ju uruchomiona) i ustawianie w nim okrelonej strony.
Najwaniejsz definicj jest Kbd=lelite wskazuje ona programowi Hotkeys plik
z definicj klawiatury, ktry ma zosta uyty. W tym przypadku uyta bdzie klawiatura
zdefiniowana w pliku /usr/share/hotkeys/lelite.def.
Na klawiaturze Logitech Elite nie ma wikszoci klawiszy wypisanych w pliku konfiguracyjnym, wic ich definicje s niepotrzebne. Mi jednak wystarcza to, e za pomoc klawiatury mog sterowa gonoci, odtwarza pyty audio, wcza przegldark Firefox
i otwiera w niej wyszukiwark Google. Jeli klawiatura uytkownika jest oficjalnie obsugiwana przez program, moliwoci s duo wiksze.
SPOSB

Wczanie klawiszy szybkiego dostpu

29. za pomoc programu LinEAK

Program LinEAK to nowoczesny sposb na dostosowanie klawiatur multimedialnych do potrzeb uytkownika

Ten sposb opisuje nowoczesny program bdcy zamiennikiem programu Hotkeys. LinEAK
jest zbiorem pakietw, w skad ktrych wchodzi gwny demon programu i kilka moduw rozszerzajcych. Jest troch nietypowy i nie zawsze poprawnie si uruchamia (z dowiadczenia autora), ale obsuguje znacznie wicej klawiatur ni program Hotkeys, ktry od lat nie jest rozwijany. Trzeba wic duo samozaparcia, eby skonfigurowa w nim
nowoczeniejsz klawiatur. Z drugiej strony, projekt LinEAK jest regularnie usprawniany i rozwijany.
W czasie pisania tej ksiki ze strony http://lineak.sourceforge.net mona byo pobra pakiety programu dla dystrybucji Debian. S tam rwnie dostpne kody rdowe dla
wszystkich pakietw wchodzcych w skad programu. Mona je pobra i skompilowa

108

Sposoby zwizane z systemem graficznym X

Wczanie klawiszy szybkiego dostpu za pomoc programu LinEAK

samodzielnie. Kompilacja tego programu jest bardzo atwa. Pakiety RPM dostpne na tej
stronie s do stare, ale moliwe, e w czasie, gdy Czytelnik ma ksik w rku, pojawiy si nowe.
Pki tak si nie stanie, pakiety RPM programu LinEAK dla dystrybucji Mandrake i innych
mona znale na stronie http://rpm.pbone.net/index.php3?stat=3&search=lineakd&srodzaj=3.
Warto te zajrze na stron http://www.rpmfind.net. Aby dziaaa funkcja wywietlania na
ekranie, program XOSD i jego biblioteki musz by zainstalowane w systemie. W sposobie
Jak nie przeoczy przypomnienia [Sposb 26.] znajduje si wicej informacji na ten temat.
Przykadowo wskanik gonoci pokazany na rysunku 4.2 jest jedn z ciekawych
funkcji zarwno programu Hotkeys, jak i LinEAK [Sposb 28.].

Rysunek 4.2. Wskanik gonoci wywietlony przez program LinEAK

Nastpujce programy stanowi zawarto pakietu LinEAK:


lineakd,
lineak_defaultplugin,
lineak_xosdplugin,
lineak_kdeplugins,
Media Detect,
lineakconfig,
Klineakconfig.
Niezbdnym minimum wymaganym do dziaania programu s: lineakd, lineak_defaultplugin
i lineak_xosdplugin. Jeli nie ma pakietw dla dystrybucji uytkownika, naley pobra kod
rdowy, skompilowa i zainstalowa program poniszymi poleceniami (zakadajc, e
kod rdowy znajduje si w /usr/local/src):
#
#
#
#
#
#
#
#
#
#
#
#

cd /usr/local/src/lineakd-0.8.1
./configure
make
make install
cd /usr/local/src/lineak_defaultplugin-0.8.1
./configure
make
make install
cd /usr/local/src/lineak_xosdplugin-0.8.1
./configure
make
make install

Sposoby zwizane z systemem graficznym X

109

SPOSB

29.

SPOSB

29.

Wczanie klawiszy szybkiego dostpu za pomoc programu LinEAK

Aby obejrze list klawiatur obsugiwanych przez program, naley zalogowa si jako
zwyky uytkownik i wpisa ponisze polecenie:
$ lineakd -l
(Caa lista ma 3 strony, to jest tylko kilka pocztkowych wierszy)
LinEAK v0.8.1 -- supported keyboards:
[TYPE]
A4-KBS21
Keyboard
A4-KBS8
A4-RFKB23
A4-RFKB25
ACE-6512UV
ACE-TM290
ACEAKV12
ADEL-9805
APK7
BEN-AM805

[Full name]
A4Tech Wireless Desktop KBS-21533RP & Office/Multimedia
A4Tech KBS-8
A4Tech RFKB-23
A4Tech RFKB-25 (KBS-2548RP & KBS-2548RPC)
Acer 6512-UV
Acer Laptop/notebook Travelmate 290LCi
Acer AirKey V (12 keys)
Adesso EL-9805
Apple Pro Keyboard (7 keys)
BenQ AM805

Lista ta wyglda imponujco w porwnaniu z list klawiatur obsugiwanych przez program Hotkeys.
Naley znale swoj klawiatur na licie. Przykadowo kod klawiatury Logitech Elite
to LTCElite. Nastpnie trzeba utworzy domylny plik konfiguracyjny dla klawiatury
uytkownika nastpujcym poleceniem (naley wpisa wasny kod klawiatury):
$ lineakd -c LTCElite

Opcja -c tworzy domylny plik konfiguracyjny lineakd.conf dla klawiatury Logitech Elite
i umieszcza go w katalogu ~/.lineak. Ustawienia pliku mona zmienia wedug upodoba.
Oto plik dla mojej klawiatury:
#
#
#
#
#
#
#
#
#
#
#

LinEAK - Linux support for Easy Access and Internet Keyboards


Copyright (c) 2001, 2002, 2003 Sheldon Lee Wen <leewsb@hotmail.com>
and Mark Smulders <Mark@PIRnet.nl>
http://lineak.sourceforge.net
example key configuration:
play
eject

= "xmms --play-pause"
= EAK_EJECT

Lineak supports the following modifier keys:


control alt shift mod2 mod3 mod4 mod5

# Normally /dev/cdrom, but UDEV likes /dev/cdroms/cdrom0


CdromDevice = /dev/cdroms/cdrom0
Display_align = center
Display_color = 77FF00
Display_font = "-adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*"
Display_hoffset = 0
Display_plugin = xosd
Display_pos = bottom
Display_soffset = 1
Display_timeout = 6
Display_voffset = 50
Keyboard Type = LTCElite
MixerDevice = /dev/mixer

110

Sposoby zwizane z systemem graficznym X

Wczanie klawiszy szybkiego dostpu za pomoc programu LinEAK


Screensaver =
conffilename = /home/nicholas/.lineak/lineak.conf
keystate_capslock =
keystate_numlock =
keystate_scrolllock =
Arrow =
Email = "thunderbird"
Favorities = "firefox"
Go = "firefox -remote 'openURL()'"
Media = "cdeject"
Messenger =
Mute = "EAK_MUTE"
MyHome =
Next = "cdplay +"
Play = "cdplay"
Pause = "cdpause"
Previous = "cdplay -"
Search = "firefox -remote 'openURL(http://www.google.com,new-tab)'"
Shopping =
Sleep =
Stop = "cdstop"
VolumeDown = "EAK_VOLDOWN"
VolumeUp = "EAK_VOLUP"
Webcam =
iTouch =

Naley zauway, e uywane s wbudowane polecenia takie jak EAK_MUTE, EAK_VOLUP


i EAK_VOLDOWN. Niestety LinEAK podczas tworzenia pliku konfiguracyjnego nie wstawia domylnie tych polece dla parametrw Mute, VolumeUp i VolumeDown, pozostawiajc puste miejsca. Uytkownik musi wpisa je sam, a jeli nie zna tych polece, moe
straci duo czasu na ich wymylanie.
Poza wewntrznymi poleceniami EAK_, w powyszym pliku wykorzystano pakiet programw cdtool do obsugi pyt audio. Pakiet ten ma wielu twrcw, obecnie zajmuje si nim
Max Vozeler. Program cdtool mona pobra ze strony http://hinterhof.net/cdtool. Umoliwia
on sterowanie dowolnym napdem CD z wiersza polece. Uywanie graficznego interfejsu umoliwiajcego sterowanie napdem CD staje si zbdne, jeli wszystkie potrzebne
funkcje dostpne s z klawiatury.
Jeli w jednym systemie uywane s programy Hotkeys i LinEAK, po skoczeniu
pracy z Hotkeys naley ponownie uruchomi pulpit. Nawet jeli proces Hotkeys
zakoczy si poleceniem kill, zostawia on pulpit w stanie, ktry uniemoliwia
poprawna prac programowi LinEAK.

Autorem programu jest Mark Smudlers (msmudlers@elsar.nl). Mona mu wysa podzikowania za stworzenie uytecznego oprogramowania. Sheldon Lee Wen (leewsb@hotmail.com)
obecnie zarzdza projektem i publikuje nowe wersje, pisze take moduy rozszerzajce.
Opiekunem projektu jest Phil Woodland (sir_taco@yahoo.ca), natomiast Chris Peterson
(rpm@forevermore.net) przygotowuje pakiety RPM.

Sposoby zwizane z systemem graficznym X

111

SPOSB

29.

SPOSB

30.

Dostp do systemw Windows i Mac OS X z Linuksa


SPOSB

30.

Dostp do systemw Windows i Mac OS X z Linuksa


Nie ma potrzeby przesiadania si do innego komputera w celu uzyskania dostpu do innych systemw
operacyjnych

Chocia wielu uytkownikw wychwala zalety Linuksa i darmowego oprogramowania,


czasami nadal zachodzi potrzeba skorzystania z innych systemw, jak Windows lub Mac
OS X. Niektre potrzebne programy mog by uruchomione tylko w okrelonym systemie
operacyjnym, pracodawca nakazuje uywanie jednego systemu lub napisany program
trzeba sprawdzi na rnych platformach. Dla niektrych rozwizaniem jest ogromne
biurko, na ktrym mieszcz si trzy komputery, monitory, klawiatury i myszy. Jednak
istnieje te inny sposb.
W tym sposobie bdzie wykorzystany program VNC (ang. Virtual Network Computer). To
uyteczne narzdzie pozwala przekierowa informacje wywietlane na ekranie na inny
komputer w sieci. Pozwala rwnie na sterowanie komputerem za pomoc myszy i klawiatury podczonych do innego komputera. Dziki temu mona uruchomi serwer VNC
na komputerze z systemem Windows i wywietla jego ekran w Linuksie. Mona te
zrobi odwrotnie uruchomi serwer VNC w Linuksie i wywietli jego ekran w systemie
Windows. Program VNC dostpny jest dla wikszoci uniksowych systemw operacyjnych, takich jak Linux, FreeBSD, Solaris itd., jak rwnie dla systemw Windows i Mac
OS X. Program VNC daje moliwo poczenia tych systemw na jednym monitorze.

Konfiguracja serwera VNC w Linuksie


Istnieje kilka wersji programu VNC, ale najwiksz uwag przycigaj RealVNC i TightVNC. Z tych dwch TightVNC wydaje si by lepiej zoptymalizowany i szybszy.
Mona go pobra ze strony http://www.tightvnc.com/download.html. Na stronie dostpne s
rne pakiety dla obsugiwanych systemw. Do zestawienia poczenia VNC potrzebny
bdzie serwer (udostpnia komputer w sieci) oraz przegldarka (ang. viewer) (pozwala na
poczenie si z udostpnionym komputerem). Uywajc menedera pakietw dystrybucji, naley zainstalowa najnowsz wersj programu TightVNC.
Aby w trakcie pracy w systemie Mac OS X mie dostp do pulpitu Linuksa, potrzebny jest
pakiet OSXvnc, ktry mona znale na stronie http://www.redstonesoftware.com/vnc.html
(RealVNC i TightVNC nie obsuguj systemu Mac OS X). Klienta VNC dla Macintosha
mona te pobra przez system pakietw Fink ze strony http://fink.sourceforge.net.
Aby wczy serwer VNC w Linuksie, naley uruchomi serwer i przydzieli mu specjalny numer ekranu, poprzez ktry bdzie dostpny z zewntrz. Numery zwykle zaczynaj si od 1 i rosn o 1 dla kadego nowo utworzonego serwera. Przykadowo jeli
serwer jest uruchomiony na komputerze 192.168.0.2, to dostp do pierwszego ekranu
uzyskuje si poprzez poczenie z adresem 192.168.0.2:1. Aby uruchomi serwer,
naley okreli rozdzielczo ekranu i gbi kolorw poleceniem z opcjami -geometry
i -depth:
foo@bar:~$ vncserver -geometry 1024x768 -depth 24

112

Sposoby zwizane z systemem graficznym X

Dostp do systemw Windows i Mac OS X z Linuksa

Te ustawienia to parametry wirtualnego ekranu, a nie prawdziwe ustawienia na komputerze z serwerem. Oryginalny ekran moe mie rozdzielczo 12801024 z 8-bitow
gbi koloru, ale mona go zdalnie udostpni z ustawieniami 1024768 i 8-bitow gbi. Oczywicie komputer, na ktrym jest wywietlany udostpniony ekran, musi obsugiwa te ustawienia.
Mona ustawi niestandardow rozdzielczo, np. 990745. Dziki temu
zdalny ekran nie zasoni paskw zada i paneli na lokalnym pulpicie.

Podczas pierwszego uruchamiania serwera naley poda haso. Zabezpiecza ono przed
niepowoanym dostpem do serwera. Jest zapamitywane i pozostaje niezmienione podczas uywania serwera (haso mona zmieni poleceniem vncpasswd). Po wpisaniu
waciwego hasa serwer wywietla swj numer.
Gdy serwer pracuje, wszystkie uruchomione aplikacje pojawiaj si na monitorze podczonego komputera i rwnoczenie na monitorze komputera z uruchomionym serwerem (jeli monitor jest podczony). Mona te wywietli aplikacje jedynie na serwerze
VNC, uywajc zmiennej rodowiskowej DISPLAY oraz okrelajc adres komputera i numer serwera:
foo@bar:~$ mozilla -display 192.168.0.2:1 &

Aby wyczy serwer VNC, naley uy opcji kill i przypisanego numeru ekranu:
foo@bar:~$ vncserver -kill :1

Poczenie z serwerem VNC


Aby poczy si z serwerem VNC z komputera z Linuksem, mona uy narzdzia
vncviewer, doczonego do oprogramowania VNC. Tego prostego programu uywa si
w nastpujcy sposb:
foo@bar:~$ vncviewer 192.168.0.2:1

W poleceniu okrelony jest adres IP komputera, a po dwukropku (:) numer ekranu, z ktrym ma by nawizane poczenie. Po wydaniu polecenia pojawia si pytanie o haso do
serwera VNC. Po podaniu poprawnego hasa zostaje wywietlony ekran serwera.

Konfiguracja serwera VNC w systemie Windows


Instalacja serwera VNC w systemie Windows jest do atwa. Moe on by skonfigurowany jako usuga systemu Windows bdzie wtedy uruchamiany przy starcie systemu
(jak demon w Linuksie). Dziki temu serwer bdzie dostpny nawet wtedy, gdy komputer jest zablokowany lub gdy uytkownik si wylogowa.
Wersj instalacyjn dla systemu Windows naley pobra ze strony internetowej programu
TightVNC. Jest to typowy instalator.

Sposoby zwizane z systemem graficznym X

113

SPOSB

30.

SPOSB

30.

Dostp do systemw Windows i Mac OS X z Linuksa

Aby serwer VNC by usug, w czasie instalacji naley zaznaczy kad opcj zwizan
z VNC Server System Service. Po zakoczeniu instalacji pojawi si okno dialogowe Server
Options i, aby uruchomi serwer, trzeba skonfigurowa przynajmniej zakadk Authentication. Na tej zakadce naley wybra opcj VNC 3.3 Authentication i wpisa w polu Set
Password haso dostpu do serwera. Nie powinno si wycza opcji uwierzytelnienia, jeli
nie ma cakowitej pewnoci, e sie jest bezpieczna.
Aby wczy lub wyczy serwer, naley uy narzdzia do konfiguracji usug uruchamiania i zatrzymywania usugi.

Konfiguracja serwera VNC w systemie Mac OS X


Oficjalna dystrybucja VNC nie obsuguje systemu Mac OS X, jednak na stronie http://www.
redstonesoftware.com/vnc.html dostpna jest wersja dla tego systemu, zwana OSXvnc.
Oprogramowanie jest dostpne w formacie obrazu dysku Mac OS X (.dmg). Naley pobra oprogramowanie i podwjnie klikn je w Finderze. Pojawi si okno z programem.
Naley przecign program na pulpit. Nastpnie po podwjnym klikniciu ikony programu wywietli si okno dialogowe VNC Settings. Domylne ustawienia wystarczaj do
uruchomienia serwera, wic aby rozpocz prac, mona klikn przycisk Start Server.

Wywietlanie pulpitu w przegldarce internetowej


Ciekaw funkcj serwera VNC jest may serwer WWW. Eksportuje on pulpit VNC do
przegldarki, uywajc specjalnego apletu Javy. Aby wywietli pulpit, naley za pomoc
przegldarki z wczon obsug apletw Javy poczy si z portem 5801. Numer portu
jest doczany do adresu komputera, a cao podana jest w formie zwykego adresu www:
http://foo.com:5801

Numer portu okrela numer uruchomionego serwera VNC, z ktrym zostanie nawizane
poczenie. Jeeli uruchomiony jest serwer z numerem 1, naley wpisa jako numer portu
5801, jeli serwer 2 to port numer 5802 itd.
W niektrych dystrybucjach (np. w Debianie) aplet Javy znajduje si w innym
pakiecie ni serwer VNC.

Przy uruchamianiu serwera przez internet, naley si upewni, e jest on dobrze chroniony przez firewall, blokujcy dostp do serwera niepowoanym osobom. Jeli zapora
sieciowa jest ju uruchomiona, naley upewni si, e porty 5800 5805 s dostpne.
Aby jeszcze zwikszy bezpieczestwo, naley otworzy jedynie port 5801 i uywa tylko
serwera z numerem 1. Mona te wczy tunelowanie poczenia VNC za pomoc SSH
[Sposb 32.].

114

Sposoby zwizane z systemem graficznym X

Udostpnianie pulpitu przez internet


SPOSB

31.

Udostpnianie pulpitu przez internet


Uruchamianie rodowiska graficznego na zdalnym komputerze przez internet

Zdalny dostp do komputera moe by potrzebny z wielu powodw. Na przykad podczas


podry z laptopem pojawia si konieczno edycji wanego pliku, ktry zosta w domu.
Trzeba go zmieni, a potrzebny do tego program jest na komputerze domowym. Dobrze
by byo poczy si z komputerem w domu przez internet i zmieni plik, uywajc
oprogramowania na tym komputerze, a potem zapisa wynikowy plik na laptopie. System X Window ma wbudowan przezroczysto sieciow, ktra pozwala uruchamia
program na jednym komputerze, a wywietla na drugim [Sposb 32.]. Rne wersje
protokou VNC pozwalaj wywietli pulpit na innym komputerze [Sposb 30.]. Chocia kada z tych metod ma swoje przeznaczenie, w ktrym doskonale si sprawdza, to
obie maj pewn wad potrzebuj bardzo wysokiej przepustowoci cza. Zdalne
programy X i pulpity VNC dziaaj wolno nawet przy poczeniu DSL lub przy staym
czu kablowym.
Program NX firmy NoMachine (http://www.nomachine.com) jest dodatkiem do systemu X,
ktry uruchamia zdalnie aplikacje X. Moe by uyty do uruchomienia zdalnego pulpitu
i dziaania niemal w czasie rzeczywistym, nawet przy czu 56 kbps. NX dziaa podobnie
do pamici podrcznej proxy dla protokou X. Obnia to znacznie ruch w sieci. Wszystkie
komponenty i biblioteki NX oraz aplikacja klienta dostpne s jako open source. Programy
serwerowe firmy NoMachine s patne, dostpna jest jednak wersja testowa, pozwalajca
na obsug jednego klienta.

Instalacja serwera i klienta NX


Na komputerze, na ktrym ma by uruchomiona zdalna sesja, naley zainstalowa aplikacje serwera i klienta NX. Na stronie http://www.nomachine.com dostpne s pakiety dla
poszczeglnych dystrybucji. Naley pobra NX Server Personal Edition oraz oprogramowanie klienckie dla odpowiedniej dystrybucji i zainstalowa je. Na przykad:
foo@bar:~# rmp -i nxserver-1.4.0-99.i386.rpm
foo@bar:~# rmp -i nxclient-1.4.0-75.i386.rpm

Na komputerze, na ktrym ma by wywietlana zdalna sesja, naley zainstalowa klienta


NX. Programy-klienty dla Linuksa, Mac OS X i Windows dostpne s na tej samej stronie,
co serwer.

Uruchomienie serwera NX
Po zainstalowaniu NX mona uruchomi serwer NX poniszym poleceniem (jako uytkownik root):
foo@bar:~# /usr/NX/bin/nxserver --start

Nastpnie naley doda sesje uytkownika do serwera nastpujcym poleceniem:


foo@bar:~# /usr/NX/bin/nxserver --useradd nazwa_uzytkownika

Sposoby zwizane z systemem graficznym X

115

SPOSB

31.

SPOSB

32.

Zdalny dostp do programw

Parametr nazwa_uzytkownika to nazwa uytkownika istniejcego ju w systemie, w ktrym pracuje serwer NX. Po wydaniu powyszego polecenia program pyta o haso do tej sesji. Po wpisaniu go, mona poczy drugi komputer z serwerem, uywajc klienta NX. Aby
to zrobi, naley przej do innego komputera i uruchomi klienta poniszym poleceniem:
foo@bar:~# /usr/NX/bin/nxclient

Przy pierwszym uruchomieniu pojawia si okienko kreatora, do ktrego naley wpisa


szczegowe informacje o poczeniu. Na drugiej stronie kreatora trzeba wpisa nazw
sesji, numer IP serwera NX oraz wybra rodzaj poczenia midzy klientem a serwerem.
Na trzeciej stronie kreatora mona wybra typ protokou (klient NX moe pracowa take z serwerami RDP i VNC), typ sesji oraz rozmiar okna, w ktrym bdzie wywietlony
zdalny pulpit. Jeli jest wczony firewall [Sposb 81.] i dostp do serwera jest moliwy
tylko poprzez SSH, naley zaznaczy opcj Enable SSL encryption of all traffic. Jeli ruch
nie ma by tunelowany przez SSH, dla pierwszej sesji naley otworzy porty 1000, 5000
i 7000, dla drugiej: 1001, 5001 i 7001 itd. zawsze po trzy porty dla jednej sesji.
Na czwartej stronie kreatora mona utworzy skrt na pulpicie do tej sesji i zmieni zaawansowane ustawienia. Gdy kreator zakoczy prac, powinno pokaza si okno dialogowe z wypenionymi polami Login i Session.
Naley wpisa wczeniej ustawione haso do serwera NX i klikn Login. Po uzyskaniu
poczenia i autoryzacji powinien zacz dziaa zdalny pulpit na komputerze klienckim.

Inne polecenia serwera NX


Kiedy uytkownik potrafi ju nawiza podstawowe poczenie, moe zainteresowa si
kilkoma uytecznymi poleceniami serwera NX. Musz by one wydawane przez uytkownika root. Aby wywietli list wszystkich uytkownikw NX, naley wpisa:
foo@bar:~# /usr/NX/bin/nxserver --userlist

Aby wykasowa uytkownika NX (polecenie kasuje uytkownika tylko z NX, a nie z systemu), naley wpisa:
foo@bar:~# /usr/NX/bin/nxserver --userdel nazwa_uzytkownika

Parametr nazwa_uzytkownika jest nazw konta w systemie NX, ktre ma by wykasowane.


Paul Cooper
SPOSB

32.

Zdalny dostp do programw


Peny dostp do komputera i zainstalowanych na nim programw przez poczenie sieciowe

System graficzny X Window, ktry jest fundamentem KDE, GNOME i innych rodowisk
graficznych, od wielu lat ma funkcje sieciowe, o jakich inne systemy mog tylko pomarzy.
Pozwalaj one nie tylko na uruchomienie programu zainstalowanego na zdalnym komputerze, ale take na uruchomienie caego pulpitu z innego komputera.

116

Sposoby zwizane z systemem graficznym X

Zdalny dostp do programw

Za pomoc tej funkcji mona korzysta z dowolnego komputera, na ktrym mona uruchomi podstawow sesj X, a rodowisko graficzne uruchamia z szybszego komputera. Przy duej przepustowoci cza nie ma zauwaalnej utraty prdkoci przy takiej
pracy. W rzeczywistoci, poniewa wszystkie programy pracuj na szybszym komputerze, wydajno powinna by duo lepsza.
Pomimo tych imponujcych zalet, funkcje sieciowe systemu X s ignorowane przez
wikszo uytkownikw. Niewielu eksperymentuje z moliwociami uruchamiania programw przez sie, mimo e ta funkcja zaoszczdziaby im wielu spacerw midzy komputerami.
Kocowa praca nad ksikami OReilly przebiega przy uyciu programw
uruchomionych zdalnie przez poczenie sieciowe. Dla przykadu program
FrameMaker 5.5.6 jest uruchomiony na serwerze Solaris i wykorzystywany
na innych komputerach-klientach. Wszystkie komputery z Linuksem to sabe
maszyny, ktre uruchamiaj swoje rodowiska graficzne przez poczenie
sieciowe, uywajc systemu X.

Bezpieczny dostp do programw


Uruchamianie aplikacji X z innego komputera jest do atwym procesem. Wystarczy
zmieni zmienn rodowiskow $DISPLAY (ktra wskazuje miejsce, do ktrego ma
by przekierowany wynik aplikacji X) tak, aby wskazywaa inny komputer w sieci, na
przykad:
foo@bar:~$ export DISPLAY="192.168.0.1:0.0"

Gdy aplikacja zostanie uruchomiona, jej wynik pokae si na monitorze komputera


o wskazanym adresie IP, a nie na lokalnym monitorze. Tego typu wysyanie obrazu jest
funkcj klienta X. Natomiast wywietlaniem obrazu zajmuje si serwer X. Aby komputer
o podanym adresie IP wywietli przekazany obraz, musi by na nim uruchomiony serwer X, ktry akceptuje poczenia z zewntrznego rda. Aby zdalny komputer akceptowa wysyane obrazy X z innego komputera, naley uy polecenia xhost:
foo@bar:~$ xhost +
access control disabled, clients can connect from any host

Znak plus (+) oznacza, e bd akceptowane poczenia ze wszystkich komputerw.


Mona rwnie dokadnie okreli komputer, ktrego prby poczenia maj by zaakceptowane, wpisujc jego nazw DNS lub adres IP po znaku plus.
Chocia za pomoc tej techniki mona zdalnie uruchamia aplikacje X, ruch midzy
komputerami jest niezaszyfrowany i nie jest bezpieczny. Cay ten ruch odbywa si na
porcie 6000. Jeli funkcja ma by te dostpna z zewntrz sieci, trzeba otworzy kolejny
port. Tworzy si dziura w firewallu i sie jest bardziej naraona na ataki. Rozwizaniem
tego problemu jest szyfrowanie sesji X, co podniesie poziom bezpieczestwa. Protok
SSH (ang. Secure SHell) ma wbudowan obsug zdalnych aplikacji X i jest atwy w uyciu.

Sposoby zwizane z systemem graficznym X

117

SPOSB

32.

SPOSB

32.

Zdalny dostp do programw

Wikszo dystrybucji Linuksa instaluje SSH domylnie. Jeli nie jest zainstalowany,
naley skorzysta z menedera pakietw dystrybucji i zainstalowa pakiety openssh.
Na komputerze, ktry bdzie wysya aplikacje X, naley otworzy plik /etc/ssh/sshd_config
i upewni si, e opcja X11Forwarding jest wczona:
X11Forwarding yes

W wielu domylnych instalacjach serwera SSH opcja ta oznaczona jest jako komentarz.
Aby j wczy, naley usun znak komentarza (#). Po wprowadzeniu zmian do pliku
konfiguracyjnego naley ponownie uruchomi serwer SSH. Mona to zrobi nastpujcym poleceniem:
foo@bar:~$ /etc/init.d/ssh restart

Teraz mona uruchomi aplikacj na zdalnym komputerze z opcj -X przekierowujc


poczenia do serwera X. Poniszy przykad pokazuje sposb, w jaki mona uruchomi
program Gimp na komputerze 192.168.0.2:
foo@bar:~$ ssh -X jono@192.168.0.2 gimp

Aby wczy na stae przekierowanie pocze z serwerem X na komputerze lokalnym,


naley zmieni plik /etc/ssh/sshd_config. Trzeba doda do niego poniszy wiersz (lub usun znak komentarza znajdujcy si na pocztku wiersza):
ForwardX11 yes

Komputer lokalny bdzie zawsze uruchamia sesj SSH z wczonym przesyaniem X.


To co innego ni wczeniejsze polecenie wczajce zgod na przesyanie X na zdalnym
komputerze. Tym razem nie ma potrzeby ponownego uruchamiania demona sshd. Zmiana
bdzie zastosowana automatycznie dla wszystkich nowych pocze SSH.
Jeli przy prbie uruchomienia zdalnej aplikacji X pojawi si bdy, naley wczy
pewne przekierowania poprzez dodanie opcji -Y przy czeniu si przez SSH. Jeli ta
metoda dziaa, mona wczy j na stae, dodajc do pliku /etc/ssh/ssh_config poniszy
wiersz:
ForwardX11Trusted yes

Dostp do caego pulpitu


Zdalne uruchamianie aplikacji jest bez wtpienia przydatne, ale naprawd imponujc
funkcj jest moliwo uruchomienia caego pulpitu zdalnego komputera na lokalnym.
Aby to osign, potrzebna bdzie cz systemu X zwana XDMCP (ang. X Display Manager Control Protocol). Protok ten zezwala innym komputerom na dostp do menedera
logowania KDM, GDM lub XDM, ktry wcza zdalne rodowisko graficzne. Przy szybkim
poczeniu sieciowym, 10 Mb/s lub wicej, wolny komputer bdzie pracowa tak szybko,
jak szybka maszyna zdalna. Jest to moliwe, poniewa komputer lokalny suy tylko do
wywietlania informacji. Prawdziwa praca jest wykonywana na szybszej zdalnej maszynie.

118

Sposoby zwizane z systemem graficznym X

Dodanie gbi do pulpitu

Aby skorzysta z XDMCP, na zdalnym komputerze musi by uruchomiony jeden z menederw logowania: KDM, GDM lub XDM. Kady z nich obsuguje protok XDMCP,
trzeba tylko aktywowa t opcj.
Aby wczy XDMCP w programie GDM, potrzebne jest narzdzie gdmconfig. Po jego uruchomieniu na zakadce XDMCP naley zaznaczy opcj Uaktywnienie XDMCP. Po wprowadzeniu zmian naley ponownie uruchomi GDM.
Nie ma sposobu na wczenie protokou XDMCP w KDM, korzystajc z interfejsu graficznego, zmiany naley wic wprowadzi do pliku kdmrc. Istniej dwa takie pliki jeden
oglny dla caego systemu (prawdopodobnie w /etc/kde3/) i drugi dla konkretnego uytkownika (~/.kde/share/config). Wewntrz pliku znajduje si fragment [Xdmcp], w ktrym
opcj Enable naley ustawi na true. Po zapisaniu zmian trzeba ponownie uruchomi KDM.
Po wczeniu obsugi XDMCP naley wrci do komputera lokalnego i poszuka w sieci
komputerw zezwalajcych na poczenia za pomoc protokou XDMCP. Naley wylogowa si z systemu X i wyda nastpujce polecenie:
foo@bar:~$ X -broadcast

Uruchomi si system X i pojawi si ekran logowania zdalnego komputera. Mona si


zalogowa i uywa komputera tak jak zwykle. Aby poczy si z okrelonym komputerem w sieci, naley wyda ponisze polecenie na komputerze lokalnym (naley zmieni adres IP na odpowiedni):
foo@bar:~$ X -query 192.168.0.2
SPOSB

33.

Dodanie gbi do pulpitu


Cienie dodaj wraenie gbi wszystkim oknom na pulpicie, a efekty 3D s naprawd fascynujce

Funkcje programu composite manager (xcompmgr) cz si z niektrymi nowymi funkcjami systemu Xorg. Dziki nim mona doda atrakcyjne cienie do okien i menu. Daj
take moliwo powolnego znikania i pojawiania si obiektw na pulpicie zamiast standardowego natychmiastowego.
Z narzdzia xcompmgr mona skorzysta tylko wtedy, gdy jest uywany system Xorg
ga projektu XFree86. Nie mona go uywa z adn wersj XFree86, nie dziaa take
ze star wersj Xorg. Aby sprawdzi, jaka wersja serwera X jest uywana, naley wyda
ponisze polecenie:
# X -version
X Window System Version 6.8.0

Sposb ten bdzie dziaa z Xorg w wersji co najmniej 6.8.0.

Sposoby zwizane z systemem graficznym X

119

SPOSB

33.

SPOSB

33.

Dodanie gbi do pulpitu

Pobieranie composite manager


Composite manager czy si z nowymi funkcjami systemu Xorg. Pozwala to na mieszanie
ze sob rnych elementw ekranu. Na przykad, poprzez wymieszanie ta z zawartoci okna, moe ono by czciowo przezroczyste. Niektre programy take oferuj t
funkcj, np. czciowo przezroczyste terminale X. Nie korzystaj one jednak z funkcji
Xorg, a jedynie symuluj to sprytnymi sztuczkami graficznymi. Efekt jest podobny, ale
znacznie rni si prdkoci. Funkcje Xorg s czci silnika X11, wic efekty s tworzone i renderowane znacznie szybciej.
Aby wyprbowa te funkcje, naley zainstalowa program xcompmgr. Program jest w fazie
tworzenia i moe by jeszcze niestabilny, wic prawdopodobnie nie ma dla niego standardowego pakietu. Wyszukiwarka Google znajduje pakiety RPM z programem xcompmgr
na stronie http://rpm.pbone.net.
Jeli na tej, ani na adnej innej stronie nie ma gotowego pakietu dla dystrybucji Czytelnika, naley skompilowa go samodzielnie. Nie ma gwarancji, e kompilacja si powiedzie, poniewa kod jest w fazie tworzenia. Aby pobra kod rdowy, naley poczy
si z serwerem CVS. Naley zalogowa si jako uytkownik root i przej do katalogu,
w ktrym ma by zapisany kod, np. /usr/local/src. Nastpnie naley wyda ponisze polecenia (nie jest potrzebne haso; po pytaniu o nie naley wcisn klawisz Enter):
# cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg login
CVS password: (wcisn Enter)
# cvs -d :pserver:anoncvs@pdx.freedesktop.org:/cvs/xapps co xcompmgr
# cd xcompmgr
# sh autogen.sh
# ./configure
# make
# make install

Uruchamianie rodowiska graficznego lub menedera okien


Program xcompmgr nie wsppracuje ze wszystkimi rodowiskami graficznymi i menederami okien. Zauwayem, e nie dziaa dobrze z programem Metacity domylnym
menederem okien w GNOME. Program Metacity ma wbudowane niektre moliwoci
xcompmgr, ale nie udao mi si do nich dosta. Niestety nie mona wywoa programu
xcompmgr przed uruchomieniem rodowiska lub menedera, naley wic to zrobi, gdy
rodowisko jest ju uruchomione.
Strona man programu xcompmgr objania rne moliwoci tego programu. Efekt zastosowania poniszej kombinacji przecznikw powinien zadowoli prawie wszystkich. Naley otworzy terminal X i wpisa w nim nastpujce polecenie:
$ xcompmgr -cCfF l 0 -t 0 -r 5 -o .6 &

Jeli polecenie zadziaa prawidowo, zawarto ekranu na chwil zniknie, a nastpnie


wszystkie otwarte okna bd rzucay cie. Inne elementy na ekranie, np. menu, rwnie
maj cie, a take powoli znikaj i pojawiaj si. Efekt ten pokazano na rysunku 4.3.
120

Sposoby zwizane z systemem graficznym X

Dodanie gbi do pulpitu

Rysunek 4.3. Program Firefox i menu z cieniami

Widoczne efekty zostay ustawione przecznikami polecenia xcompmgr. Przeczniki


-l 0 i -t 0 wskazuj, e cie szerokoci 0 pikseli (wic bez cienia) ma znajdowa przy
lewej (-l 0) i przy grnej (-t 0) krawdzi okna. Oznacza to, e cie pojawi si tylko
przy prawej i dolnej krawdzi tak, jakby rdo wiata znajdowao si u gry po lewej
stronie. Standardowo program tworzy cie wok caego okna. Efekt ten nie jest zy, ale
inne obiekty na ekranie, np. kursor myszy, rzucaj cie w stron prawego dolnego rogu.
Powysze ustawienie cienia sprawia, e dla wszystkich obiektw rdo wiata jest
umieszczone w tym samym miejscu.
Przeczniki -r 5 i -o .6 ustawiaj promie cienia na 5 i zaciemnienie na 0,6, dziki
czemu cienie s delikatniejsze.
Kombinacja przecznikw -cCfF niesie ze sob bardziej oglne ustawienia. Przecznik c
nakazuje wczenie cieni i przezroczystoci, C wskazuje, aby nie tworzy cienia dla elementw takich jak panele uruchamiania. Dziki zastosowaniu kombinacji fF wszystkie
elementy powoli pojawiaj si i zanikaj.
Program xcompmgr jest w trakcie rozwoju, wic jest cakiem moliwe, e pracuje
teraz inaczej ni w chwili pisania ksiki. Gdy ksika bya wysyana do druku,
dostpna ju bya przynajmniej jedna nowa wersja programu, ktra pobieraa
ustawienia z pliku ~/.xcompmgrrc zamiast z wiersza polece.

Sposoby zwizane z systemem graficznym X

121

SPOSB

33.

SPOSB

34.

Rentgen pulpitu
SPOSB

34.

Rentgen pulpitu
Przez okna na monitorze mona patrze tak samo jak przez okna w cianie

Ten sposb nie pozwoli na patrzenie przez czyje ubranie, ale dziki jego zastosowaniu
aplikacje stan si przezroczyste. Wszystko, co bdzie pod nimi, bdzie widoczne jak na
zdjciu rentgenowskim. Naley tylko wyda polecenie i klikn wybrane okno, a stanie
si ono przezroczyste.
eby ten sposb zadziaa, potrzebna jest najnowsza wersja systemu Xorg. Naley rwnie zainstalowa program xcompmgr opisany w sposobie Dodanie gbi do pulpitu
[Sposb 33.]. Sposb nie zadziaa, jeli w tle nie bdzie uruchomiony xcompmgr.
Gdy program xcompmgr jest uruchomiony, potrzebny bdzie program transset. Ten program rwnie jest w fazie tworzenia, wic prawdopodobnie nie istnieje pakiet dla dystrybucji Czytelnika. Niektre pakiety RPM programu xcompmgr zawieraj te program
transset, w innym przypadku naley poszuka oddzielnego pakietu z programem. Jeli
pakietu nigdzie nie ma, mona pobra kod rdowy programu i samodzielnie go skompilowa. Poniej przedstawiono proces pobierania i instalowania programu (przy pytaniu
o haso naley wcisn klawisz Enter):
# cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg login
CVS password: (wcisn Enter)
# cvs -d :pserver:anoncvs@pdx.freedesktop.org:/cvs/xapps co transset
# cd transset
# make
# chmod +x transset
# cp transset /usr/bin

Naley uruchomi meneder okien lub rodowisko graficzne i wczy program xcompmgr
(w poprzednim sposobie przedstawiono przykadowe polecenie uruchamiajce program xcompmgr). Teraz trzeba tylko wyda polecenie transset z parametrem okrelajcym poziom przezroczystoci. Przykadowo w terminalu mona wpisa nastpujce
polecenie:
# transset 0.7
got arg 0.7
d is 0.7

Kursor powinien zamieni si w krzyyk. Naley klikn w oknie, ktre ma sta si


przezroczyste, najlepiej w jego belk tytuow. Teraz przez okno powinna by widoczna
tapeta lub inne okna. Rysunek 4.4 pokazuje przezroczysty terminal aterm. Terminal ten
nie ma wbudowanej funkcji przezroczystoci, nie mona wic uzyska tego efektu inaczej ni za pomoc programu transset.
W terminalu, w ktrym wydane byo polecenie transset, powinien ukaza si poniszy
tekst:
opacity 0xb3333332
Set Property to 0.7

122

Sposoby zwizane z systemem graficznym X

Rentgen pulpitu

Rysunek 4.4. Terminal aterm z prawdziw przezroczystoci

Aby uzyska jeszcze bardziej ekscytujcy efekt (przy zaoeniu, e meneder okien uytkownika wywietla zawarto okien podczas ich przecigania), mona przecign okno
po pulpicie. Wida teraz, e to nie jest sztuczna przezroczysto meneder okien nie
czeka, a okno przestanie si rusza, by zacz odrysowywa jego to. To zmienia si na
bieco nawet wtedy, gdy okno jest przesuwane nad tapet i innymi oknami.
Prace nad programem transset s jeszcze mniej zaawansowane ni w przypadku programu
xcompmgr. Na razie nie ma funkcji, ktra przekazywaaby menederowi okien wiadomo, ktre okno ma by przezroczyste. Proces nadawania przezroczystoci trzeba wic
przeprowadza rcznie po kadym uruchomieniu rodowiska graficznego.
Bez wtpienia w przyszoci program stanie si przyjazny dla uytkownika. W midzyczasie mona uatwi sobie proces nadawania przezroczystoci, dodajc pozycj do menu
lub tworzc ikon na pulpicie wywoujc polecenie transset 0.7. Wystarczy tylko
klikn ikon (lub wybra pozycje menu) i klikn w oknie, a stanie si ono przezroczyste.

Sposoby zwizane z systemem graficznym X

123

SPOSB

34.

You might also like