HOME
DO_STR_GLOWNEJ_WYSZUKIWARKI
 
 
X Window system

 

Pobierz spakowaną witrynę gorzow-wlkp.pl/linux

Jeżeli pragniesz poznać Linuksa Mandrake (obecnie Mandriva), to... dobrze trafiłeś. Witryna została zauważona przez twórców magazynu KOMPUTER ŚWIAT 5/2004(141) str. 46 poprzez umieszczenie linku oraz magazynu CHIP 4/2004 (str.114) poprzez umieszczenie artykułu opisującego ten serwis internetowy. Jak na hobbystyczną stronę o Linuksie to miłe ;) Acha... na stronie mandrakelinux.pl/informacje podano też link z opisem cytuję "duży zbiór praktycznych informacji o Mandrake" (mam ją w swoim archiwum - klub.chip.pl/twarogal).

Zapraszam do zadawania pytań na FORUM oraz mailem. Chętnie udzielę (bezpłatnie) odpowiedzi. Oficjalne ceny za jedną poradę na stronie MandrakeSoftPL (mam ją w moim archiwum z dnia 2.05.2004) wahają się od 20 do 350 zł.

 

 
Tematy związane z zarządzaniem:

 

Problem okienek w Linuksie jest bardzo rozległy, więc informuję, że będę zajmował się nim wybiórczo. Ominę zagadnienia związane z KDE, Gnome.

Co to są okienka np. KDE, Gnome? To programy działające na serwerze X-Window. Podstawowym problemem nowicjuszy jest mieszanie pojęć, dlatego na poczatek wyjaśnię kilka nieporozumień.

  • Linux to Kernel (jądro systemu) plus ZBIÓR oprogramowania. W przeciwieństwie do znanego powszechnie Windows , Linux działa także bez okienek. Wynika to zreszta z historii systemu, który pierwotnie był dostępny tylko w wersji tekstowej i wymagał znajomości komend unixowych.
     
  • monitor - urządzenie wyjściowe (wyświelta wyniki pracy systemu)

    "ekran" - całość obrazu uzyskanego na wyjściu. Jeden "ekran" może składać się z wielu monitorów, które jako całość wyświetlają jeden obraz (np. telebim składa się z wielu małych monitorów wspólnie wyświetlających jeden duży "ekran"). Generalnie na PC-tach jeden "ekran" jest niepodzielony i mieści się na jednym monitorze, ale należy pamiętać, że Linux umie nadzorować "ekran" podzielony na wiele monitorów.
     
  • terminal o symbolu tty* , to urządzenie za pomocą którego użytkownik porozumiewa się z komputerem (tty z ang. teletype, albo teletypewriter). W przeszłości (czyli w czasach powstania nazwy terminal), terminale miały postać "dalekopisu", drukarki połączonej z klawiaturą (czasami nawet bez monitora), a serwer był w innym pomieszczeniu. Na dzień dzisiejszy niektórzy informatycy definiują terminal jako komputer za pomocą którego nastąpiło zalogowanie do odległego serwera. Przypominam inne pojęcia związane z terminalem: host lub klient (l.m. klienty) to komputer w sieci; natomiast user lub użytkownik to konto w systemie.
    Uwaga, można się spotkać z określeniem terminal na inne urządzenia wyjścia-wejścia np. port szeregowy ttyS1 (czyli COM2) podłączony do modemu, ale to nas tutaj nie interesuje.

    terminal wirtualny lub inaczej konsola, to program umożliwiający uruchomienie podprogramu "login" i co za tym idzie innych programów powiązanych z logowaniem (np. uruchomienie programu shell'a np. "bash"). Często na konsolę mówi się terminal zamiast terminal wirtualny, co jest trochę nieścisłe (prawdziwy terminal to urządzenie, wirtualny terminal to oprogramowanie "udające" urządzenie). User może uaktywnić wiele konsoli wciskając CTRL ALT F1 (F2, F3, F4, F5 itd.) - uzyskuje wówczas konsolę tty1, tty2 itd. Charakterystykę konsoli można wyświetlić lub zmienić za pomocą zlecenia: stty. Aby uporządkować widzenie systemu, na swój prywatny użytek stawiam znak równości pomiędzy słowem konsola, a programem getty.

    Uwaga istnieje możliwość uruchomienia pseudo-terminala (zwanego także emulatorem terminala) w okienkach np. KDE. Pseudo-terminal ma symbol pty* np. pty1 (z ang. pseudo-tty)
     
  • powłoka, czyli shell (np. BASH) - program, który odbiera polecenia tekstowe i zamienia na ciąg znaków rozumianych przez Kernel (jądro systemu). Shell jest uruchamiany w konsoli po udanym zalogowaniu. Uwaga: zalecanym jest używanie powłoki BASH do pisania skryptów (szczególnie tych współpracujących z /etc/rc/* oraz .cronrc).
     
  • Najpopularniejsze okienka to: KDE (podobne do Windows) oparte na programie kdm oraz GNOME oparte na programie gdm. Inne środowiska graficzne to: Xfce, Ice, Window Maker, Enlightenment.
     
  • Aby uruchomić okienka np. KDE trzeba pierw uruchomić powłokę tekstową (shella), a następnie serwer X-Window. Oczywiście system robi to automatycznie, więc nowicjusze nawet nie zdają sobie sprawy, że startujące okienka są uruchamiane w kolejności: system, program getty, program login, shell, X-Window, KDE (w niektórych przypadkach X-Window przejmuje zadanie uruchomienia programu login, shell). Ciekawostką jest to, że okienka typu KDE są "nakładką" na prymitywne okienka serwera X-Window - można je zobaczyć w czystej formie wydając zlecenie xinit.
     
  • Niestabilność okienek np. KDE nie wynika z niestabilności systemu Linux, ale jakiejś paczki-modułu KDE, które jest (jak powiedziałem wyżej) DODATKOWYM oprogramowaniem. Dlatego na serwery, gdzie liczy się stabilność, używamy systemu bez okienek.
     
  • Różne dystrybucje Linuksa (Mandrake/Mandriva, Debian, Knopix itd.) w okienkach np. KDE 3 wyglądają pozornie identycznie. Wynika to z zainstalowania tego samego modułu KDE. Różnią się jednak między sobą (i to czasami znacznie) ułożeniem katalogów, konfiguracją oraz zabezpieczeniami.
     
  • W Mandrake 9.2 istnieje sensowna (ze względu na bezpieczeństwo) blokada okienek po zainstalowaniu w WYŻSZYM DLA SERWERÓW POZIOMIE BEZPIECZEŃSTWA i odpaleniu Kernela-Secure. W takim wypadku, aby uruchomić okienka trzeba podczas startu LILO wybrać Kernel zwykły.
     

 

 
Podsystem graficzny X11 jest odpowiedzią fundacji X.Org na zastój i kłopoty licencyjne dotychczas używanego XFree86.

 

 
Jest wiele sposobów na wyłączenie serwera X-Window:
  • Mając uruchomione okienka wciśnij klawisze CTRL ALT BACKSPACE. Niestety, część Linuksów jest tak skonfigurowana, że automatycznie i natychmiastowo nastąpi ponowne włączenie X-Window. Skorzystaj wówczas z innych metod opisanych w podpunktach.
    Tak przy okazji podam kilka skrótów klawiszowych dla okienek KDE:
    CTRL ALT ESC - zabicie programu (można też użyć ikonki xKill)
    CTRL ESC - lista działających aplikacji
    ALT TAB - jak w Windows, przełączanie się pomiędzy działającymi programami
    CTRL ALT DELETE - restart komputera
    CTRL ALT BACKSPACE - wylogowanie
     
  • Wyedytuj plik /etc/inittab (np. zleceniem mcedit /etc/inittab). Wyszukaj wiersz id:5:initdefault:. Zmień wartość 5 czyli "okienka", na 3 czyli "tekst z funkcjami sieciowymi". Restartuj komputer zleceniem np. reboot. Zaloguj się wpisując login np. antek, ENTER, hasło usera antek, ENTER. Okienka załadujesz zleceniem startx.
     
  • Mając uruchomione okienka, kliknij w ikonkę z czarnym monitorkiem (by uzyskać powłokę tekstową) i wpisz zlecenie telinit 3. Czasami trzeba dodatkowo ręcznie zabić programy gdm (gdy używamy GNOME) lub kdm (gdy używamy KDE) zleceniami: killall gdm lub killall kdm.
    Jeżeli nie znajdziesz ikonki o wyglądzie czarnego monitorka, to po prostu wciśnij klawisze CTRL F2 lub ALT F2 i wpisz zlecenie xterm lub konsole(uruchomi się pseudo-terminal).
     
Takie wyłączenie okienek jest niezbędne do np. poprawnej instalacji sterowników kart grafiki.
 

 

Serwer X czyli program umożliwiający wyświetlanie okienek (i czcionek w nich zawartych) uruchomi się automatycznie, jeżeli pliku /etc/inittab , w linii id:5:initdefault: zmienisz wartość 5 czyli "okienka", na 3 czyli "tekst z funkcjami sieciowymi" i zrestartujesz system. Przyjmuję, że wybrałeś wartość 3 i system zatrzyma się na powłoce tekstowej. Uwaga: jeżeli w okienkach uruchomisz powłokę tekstową w zwykłym okienku i wydasz polecenie telinit 3 , to system przeładuje się i zatrzyma w terminalu wirtualnym (konsoli). Zalogujesz się wówczas zleceniem login oraz password.

Z poziomu powłoki tekstowej np. bash, okienka uruchomisz zleceniem startx, czyli skryptem pośredniczącym w uruchomieniu głównego programu xinit. Można dodać opcję do zlecenia startx, aby wyświetlić okienka w innych (niż domyślnych) parametrach wyświetlania, za pomocą zlecenia: startx -bpp 16 (bpp to skrót od bits per pixel, 16-bitowy kolor). Oczywiście nic nie stoi na przeszkodzie, by zrezygnować z usług zlecenia startx i okienka odpalić bezpośrednio poleceniem xinit. Wówczas nie skorzystamy z ustawień wybranych podczas instalacji naszego Linuksa (te są zapisane w startx) i okienka uruchomimy w najbardziej ascetycznej wersji (bez KDE, Gnome itp.). Inne spsoby uruchomienia okienek to zlecenie: init 5 (init 3 da tryb textowy) lub wspomniany wyżej telinit 5

Jako ciekawostkę potraktuj informację, że można w nietypowy sposób, ręcznie skonfigurować system, by automatycznie startował w okienkach i wywietlał "okno" logowania. W pliku /etc/rc.d/rc.local dodaj (na samym końcu) wiersz xdm , a wówczas nawet mając w /etc/inittab wartość 3, system wystartuje w okienkach i pokaże okienko logowania. Oczywiście, jeżeli w powłoce tekstowej wpiszesz zlecenie xdm , to także pojawi się okienko logowania oparte na serwerze X.


 

 

Gdyby nastąpiły problemy z wyświetlaniem okienek, to wypróbuj zlecenia:

  • xinit (pod rootem)
  • XFdrake (pod rootem) tylko w Mandrake/Mandriva
  • xvidtune (pod rootem, umożliwia zaawansowaną konfigurację monitora i karty grafiki)
  • xf86config lub xf86cfg (pod rootem, konfiguruje system X-Windows, mysz, klawiaturę, monitor itp.)
  • fglrxconfig (pod rootem, konfiguruje system X-Windows, mysz, klawiaturę, monitor itp.)

    Uwaga: mysz oraz inne elementy wyświetlane podczas pracy w okienkach można konfigurować edytując bezpośrednio plik /etc/X11/xorg.conf

Przypominam, że blokowanie okienek może być świadomym działaniem informatyków opiekujących się daną dystrybucją Linuksa. Np. Mandrake 9.2 zainstalowane w Wysokim Poziomie Bezpieczeństwa (msec 4) blokuje uruchomienie okienek podczas ładowania Kernela SECURE. Chcąc odpalić okienka trzeba wybrać Kernel bez łaty SECURE.


 

 

Przyjmuję, ze party naturalną ciekawością odkrywcy już klepnąłeś xinit i... doznałeś lekkiego rozczarowania ;) Jakaś dziwna powłoka tekstowa, brak ikonek do uruchamiania programów i poleceń, nietypowyy kursor myszki... Oto najbardziej oszczędne okna jakie Linux umie wyświetlić. Nie wymagają dużych mocy sprzętowych, ale (uwaga!) pozwalają na uruchomienie programów znanych np. z KDE: Mozillę, Kadu itd. Trzeba podać pełną ścieżkę dostępu do plików inicjujących dany program. Generalnie są one w /usr/local/danyprogram/plikstartujacy lub /usr/bin/plikstartujacy . Netscape 4.8 instaluje się domyślnie w katalogu /opt/netscape, więc aby uruchomić tę przeglądarkę należy wpisać /opt/netscape/netscape


 

 

Terminal jest jeden, ale mamy domyślnie 7 konsoli, które przełączamy wciskając ALT F1 do ALT F7 (zobacz też CTRL ALT F1 do F7). Konsola nr 7 uzyskana klawiszami CTRL ALT F7 jest uprawniona do utworzenia sesji okienek. Oczywiście jeżeli uruchomisz drugą sesję okienek, to zajmie ona konsolę nr 8. Pamiętaj, że konsola tekstowa nr 1 jest miejscem uruchomienia sesji okienkowej, ale sama sesja okienkowa zajmuje konsolę 7.

Jak tworzyć kilka sesji okienkowych na jednym Linuksie? To proste. Przyjmuję, ze system wystartował i zatrzymał się w powłoce tekstowej. Zalogowałeś się i uruchomiłeś prymitywne okienka zleceniem xinit . Masz otwartą sesję na konsoli nr 1 oraz nr 7. Konsola nr 1 jest w trakcie wykonywania zlecenia xinit, więc nie możesz nic w niej wpisywać, za to konsola nr 7 pozwala normalnie pracować. Uruchom w niej jakiś programik np. xclock . Pojawi się prymitywny zegar. Teraz nie przerywając pracy na konsoli nr 1 oraz 7, wciśnij klawisze CTRL ALT F2. Uzyskasz dostęp do konsoli nr 2. Zaloguj się na niej. Wydaj polecenie xinit -- :1 (xinit, spacja, dwa myślniki, spacja, dwukropek, jeden). Nowa sesja graficzna (zastartowana z konsoli nr 2) będzie zajmować konsolę nr 8. Nic nie stoi na przeszkodzie, by takich sesji otworzyć więcej, przyjmując za każdym razem większą liczbę po dwukropku. Ciekawostka: zleceniem xinit -- :1 zażądaliśmy, by nowa sesja graficzna została umieszczona na osobnym "ekranie", który nazwaliśmy :1 . Ten "ekran" jest tworem czysto wirtualnym, może bowiem składać się z kilku monitorów (na podobieństwo telebimu, gdzie obraz składany jest przez zestawienie wielu telewizorów). Gdy wpiszemy echo $DISPLAY poznamy nazwę bieżącego "ekranu". Uzyskamy odpowiedź: :0.0 lub :0 (gdy nie otworzyliśmy kilku sesji na kilku konsolach, to nie wyświetli się odpowiedź). Liczba po dwukropku oznacza nr "ekranu", natomiast liczba po kropce oznacza numer monitora wchodzącego w skład "ekranu". Jeżeli masz jeden monitor, to tej pozycji może nie być.

Na koniec sztuczka: będąc w konsoli nr 1 i mając aktywną sesję okienkową w konsoli nr 7 (na razie nic tam nie mamy uruchomionego) odpalamy konsolę nr 2 i logujemy się. Teraz najciekawsze - w konsoli nr 2 dajemy po kolei zlecenia:
export DISPLAY=':0'
xclock
i... uzyskaliśmy uruchomione zadanie xclock na wskazanej konsoli nr 7.
Wyjaśnienie: określenie :0 to skrócona wersja localhost:0.0 , która zawiera: nazwę komputera, nr "ekranu" oraz monitora.

Podziękowania dla Daniela Koć i jego notatek w magazynie "Linux dla każdego nr 1".



Polecam artykuł w magazynie Komputer Świat EKSPERT 5-6/2006 pt. "Megapulpit", "AKCJA NA DWA MONITORY". Przedstawiono tam konfigurację karty grafiki do obsługi jednego ekranu na dwa monitory (obraz został podzielony na dwie części: prawą i lewą).
 

 
Plik konfiguracji w zależności od wersji serwera X: /etc/X11/XF86Config lub /etc/X11/xorg.conf. Uwaga: często mamy oba pliki, z tym, że jeden jest linkiem symbolicznym (skrótem do drugiego).
 

 
Na koniec ciekawostka: od wersji Mandrake 10.0 można łatwo uruchomić kilka różnych sesji okienkowych na jednym komputerze za pomocą zlecenia: drakedm

 

 

 
twarogal@wp.pl

Uwaga: z powodu namnożenia się różnych złodziejskich witryn www, które kopiują moje strony i umieszczają je u siebie wraz z komercyjnymi reklamami (na których zarabiają) informuję, że wszelkie prawa są zastrzeżone.

Uwaga. Aby uniknąć zasysania całej witryny gorzow-wlkp.pl/linux za pomocą programów typu TeleportPro, WebCopier itd. informuję, że udostępniłem spakowaną wersję (w formacie RAR).

 
 

 

 

Witryna była dostępna pod adresami: strony.wp.pl/wp/twarogal , strony.wp.pl/wp/linuxtwarka , twarogal.republika.pl , klub.chip.pl/twarogal oraz gorzow-wlkp.net (w latach 2003/04).

 

 

gorzow-wlkp.pl

Informacje o odwiedzających są rejestrowane i publicznie udostępniane na pod adresem: http://gorzow-wlkp.pl/licznik/