XINIT(1)

NAZWA
xinit - program inicjujący system X Window

SKŁADNIA
xinit [ [ klient ] opcje ... ] [ -- [ server ] [ ekran ] opcje ... ]

OPIS
Program xinit jest używany do startu systemu X Window i pierwszego programu klienta dla systemów, które nie używają menedżera logowania, takiego jak xdm(1) lub w środowisku używającym wiele systemów okien. Kiedy pierwszy klient istnieje, xinit będzie kończył proces X serwera i zakończy się.

Jeżeli żaden program klienta nie jest podany w linii komendy, xinit będzie szukał w głównym katalogu użytkownika pliku .xinitrc aby wykonać go jako skrypt powłoki w celu uruchomienia programu klienta. Jeżeli ten plik nie istnieje, xinit będzie używał następującej komendy jako domyślnej:

  xterm -geometry +1+1 -n login -display :0

Jeżeli w wierszu polecenia nie jest podany żaden program serwera, xinit będzie szukał w głównym katalogu użytkownika pliku skryptowego .xserverrc. Następnie wykona go jako skrypt powłoki w celu uruchomienia programu serwera. Jeżeli plik ten nie istnieje, xinit będzie używał następującej komendy domyślnej:

  X :0

Proszę zwrócić uwagę, że jest to program o nazwie X w aktualnej ścieżce dostępu. Administrator sieci powinien więc utworzyć dowiązanie do odpowiedniego typu serwera w komputerze lub utworzyć skrypt powłoki, który wywoła xinit z odpowiednim serwerem.

Uwaga, podczas używania skryptu .xserverrc należy upewnić się czy wykonujemy „exec” z prawdziwym X serwerem. Nieudane wykonanie tego etapu może spowodować, że serwer X będzie się powoli uruchamiał i zakańczał. Na przykład:

  exec Xdisplaytype

Ważnym punktem jest to, że programy, które są wykonywane przez skrypt .xinitrc powinny być wykonywane w tle, jeżeli one nie zakończą się prawidłowo, tak że one nie uchronią innych programów przed wystartowaniem. Jednak najdłużej żyjący z uruchomionych programów (zazwyczaj menedżer okien lub emulator terminala) powinien zostać pozostawiony na pierwszym planie. Jest to konieczne by skrypt się nie zakończył (co sygnalizuje, że zadanie użytkownika jest wykonane i xinit powinien się zakończyć).

W wierszu polecenia może być jeszcze podany alternatywny klient i/lub serwer. Żądany program klienta i jego argumenty powinny być podane jako pierwsze argumenty wiersza polecenia xinit. W celu zadeklarowania szczególnej linii komendy serwera, proszę dołączyć podwójną kreskę (--) do wiersza polecenia xinit (po wszelkich klientach i argumentach), a za nią oczekiwaną komendę serwera.

Zarówno nazwa programu klienta jak i nazwa programu serwera muszą się zaczynać znakiem ukośnika (/) albo kropką (.). W przeciwnym razie będą one traktowane jako argumenty dołączane do ich indywidualnych wierszy startowych. To umożliwia dodanie argumentów (na przykład, kolorów obrazu i tła) bez potrzeby powtarzania całego wiersza polecenia.

Jeżeli nazwa serwera nie jest zadeklarowana, a pierwszy argument występujący po podwójnej kresce (--) to dwukropek z doklejoną cyfrą, to xinit rozpozna ten numer jako kod ekranu zamiast zero. Wszystkie pozostałe argumenty są dołączane na końcu wiersza polecenia serwera.

PRZYKŁADY
Poniżej są poszczególne przykłady na używanie argumentów w wierszu polecenia xinit.

xinit
    Xinit uruchomi tu serwer o nazwie X i wykona skrypt użytkownika .xinitrc, o ile taki istnieje, a w przeciwnym razie wystartuje program xterm.

xinit -- /usr/bin/Xvnc  :1
    Tu widać, jak można uruchomić określony typ serwera na innym ekranie.

xinit -geometry =80x65+10+10 -fn 8x13 -j -fg white -bg navy
    To uruchomi serwer o nazwie X, i dołączy podane argumenty do domyślnego wiersza polecenia programu xterm. Program zignoruje skrypt .xinitrc.

xinit -e widgets -- ./Xorg -l -c
    Ten przykład użyje polecenia ./Xorg -l -c aby uruchomić serwer i dołączyć argumenty -e widgets do domyślnego polecenia xterm.

xinit /usr/bin/ssh -X fasthost cpupig --  :1 -a 2 -t 5
    Ten przykład uruchomi serwer o nazwie X na wyświetlaczu 1, z argumentami -a 2 -t 5. Potem uruchomi sieciową powłokę na zdalny komputer fasthost, na którym wykona polecenie cpupig, nakazując mu wyświetlanie obrazu z powrotem do lokalnej stacji.

Poniżej jest przykład skryptu .xinitrc uruchamiającego zegar, poszczególne terminale i pozostawiającego menedżer okien pracujący w trybie „ostatniej” aplikacji. Zakładając, że menedżer okien został skonfigurowany prawidłowo, użytkownik wybiera pozycję menu „Exit” aby zamknąć program X.

xrdb -load $HOME/.Xresources
xsetroot -solid gray &
xclock -g 50x50-0+0 -bw 0 &
xload -g 50x50-50+0 -bw 0 &
xterm -g 80x24+0+0 &
xterm -g 80x24+0-0 &
twm

Sieć, która chce tworzyć wspólne środowisko startowe może po prostu utworzyć domyślny skrypt .xinitrc, który odwołuje się do pliku startowego dla sieci rozległych o ścieżce dostępu:

#!/bin/sh
. /etc/X11/xinit/site.xinitrc

Innym podejściem jest napisanie skryptu, który uruchomi xinit ze specjalnym skryptem powłoki. Takie skrypty są zwykle nazywane x11, xstart albo startx i są wygodnym sposobem zapewnienia prostego interfejsu dla początkujących użytkowników:

#!/bin/sh
xinit /etc/X11/xinit/site.xinitrc -- /usr/bin/X -br

ZMIENNE ŚRODOWISKOWE

DISPLAY
    Ta zmienna określa nazwę ekranu, z którym programy klienta powinny się połączyć.

XINITRC
    Ta zmienna deklaruje plik skryptu inicjującego zawierający polecenia powłoki do wystartowania inicjującego okna. Domyślnie jest używany plik .xinitrc w katalogu domowym.

PLIKI

.xinitrc
    .xinitrc domyślny skrypt programu klienta

xterm
    uruchamiany, jeżeli nie istnieje plik .xinitrc

.xserverrc
    domyślny skrypt programu serwera

X   serwer uruchamiany jeżeli nie istnieje plik .xserverrc

ZOBACZ TAKŻE
X(7), startx(1), Xserver(1), Xorg(1), xorg.conf(5), xterm(1)

AUTOR
Bob Scheifler, MIT Laboratory dla Computer Scienc

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Rafał Witowski, Przemek Borys <pborys@dione.ids.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.