Z systemu FreeBSD korzystać można na różne sposoby; jednym z nich jest wpisywanie poleceń w terminalu tekstowym. Większość systemów operacyjnych typu UNIX® dostępna jest właśnie poprzez polecenia. W niniejszej części dowiemy się, czym są „terminale” i „konsole”, oraz jak się nimi posługiwać we FreeBSD.
Jeśli konfigurując FreeBSD nie wybraliśmy, by przy uruchamianiu systemu było automatycznie ładowane środowisko graficzne, to po uruchomieniu i wykonaniu skryptów startowych system przywita nas komunikatem logowania się do systemu. Zobaczymy mniej więcej coś takiego:
Additional ABI support:. Local package initialization:. Additional TCP options:. Fri Sep 20 13:01:06 EEST 2002 FreeBSD/i386 (pc3.example.org) (ttyv0) login:
Na różnych komputerach komunikat ten może wyglądać nieco inaczej, jednak z pewnością będzie podobny. W tej chwili interesują nas jego dwa ostatnie wiersze. Wiersz drugi od końca ma postać:
FreeBSD/i386 (pc3.example.org) (ttyv0)
Widać tu kilka informacji o systemie, który właśnie został
uruchomiony. Mamy przed oczami konsolę „FreeBSD”,
działającą na komputerze z procesorem firmy Intel (lub kompatybilnym)
z rodziny x86[1]. Komputer ten został nazwany (każdy komputer uniksowy
ma nazwę) pc3.example.org
i w tej chwili widoczna
jest jego konsola systemowa — terminal
ttyv0
.
Ostatni wiersz ma zawsze taką postać:
login:
Tu wpisujemy „nazwę użytkownika”, by zalogować się do systemu. Opis tej czynności przedstawiony jest w kolejnej części.
FreeBSD jest systemem wieloużytkownikowym i wielozadaniowym. Tak oficjalnie określa się system, z którego na jednym komputerze może korzystać wiele różnych osób, uruchamiając jednocześnie wiele programów.
Każdy system wieloużytkownikowy musi mieć możliwość odróżnienia jednego „użytkownika” od pozostałych. FreeBSD (i wszystkie systemy uniksopodobne) wymaga, aby użytkownik „zalogował się” do systemu, zanim będzie mógł uruchamiać programy. Każdy użytkownik ma niepowtarzalną nazwę („nazwę użytkownika”) oraz sobie tylko znany klucz („hasło”). FreeBSD wymaga wpisania jednego i drugiego, zanim zezwoli użytkownikowi na uruchamianie jakichkolwiek programów.
Zaraz po załadowaniu systemu i zakończeniu uruchamiania skryptów startowych[2], FreeBSD wyświetli komunikat z prośbą o podanie nazwy użytkownika:
login:
Dla przykładu załóżmy, że nasz użytkownik nazywa się
janek
. Wpisujemy tutaj janek
i naciskamy Enter. Powinniśmy zostać poproszeni
o podanie „hasła”:
login: janek
Password:
Następnie wpisujemy hasło janka
, i naciskamy
Enter. Hasło nie pojawia się!
Na razie nie będziemy się tym zajmować. Wystarczy wiedzieć, że dzieje
się tak ze względów bezpieczeństwa.
Jeśli podaliśmy prawidłowe hasło, powinniśmy być już zalogowani do FreeBSD, i gotowi do eksperymentowania z dostępnymi poleceniami.
Powinniśmy zobaczyć wiadomość dnia (ang. message of the day
MOTD) oraz znak zachęty (#
,
$
bądź %
). Oznacza to, że
udało nam się zalogować do FreeBSD.
Polecenia uniksowe można z powodzeniem wpisywać na jednej konsoli, jednak FreeBSD potrafi wykonywać wiele programów jednocześnie. Korzystanie z jednej konsoli do wydawania poleceń zakrawa na marnotrawstwo, ponieważ system zdolny jest obsłużyć w jednej chwili całe mnóstwo programów. W wykorzystaniu tej możliwości bardzo pomocne są „konsole wirtualne”.
Konfigurując FreeBSD możemy uaktywnić wiele konsol wirtualnych. Z dowolnej z nich możemy się przełączyć na inną naciskając odpowiednią kombinację klawiszy. Każda konsola ma własny kanał wyjściowy, FreeBSD zajmuje się odpowiednim przekazywaniem informacji wprowadzanych z klawiatury i wypisywanych na ekranie, gdy dochodzi do przełączenia konsoli na inną.
Pewne kombinacje klawiszy używane są do przechodzenia między konsolami[3]. Kombinacje Alt+F1, Alt+F2, aż do Alt+F8 służą do przełączania na kolejną konsolę wirtualną.
Przechodząc z jednej konsoli na inną, FreeBSD zajmuje się zachowaniem i odtworzeniem wyglądu ekranu. W efekcie otrzymujemy „złudzenie” posiadania wielu „wirtualnych” ekranów i klawiatur, które mogą służyć do wydawania poleceń systemowi FreeBSD. Programy uruchomione na jednej z konsol nie przerywają swej pracy, gdy ta konsola przestaje być widoczna — po przejściu na inną konsolę wirtualną programy kontynuują swoje działanie.
Zgodnie z domyślną konfiguracją FreeBSD uruchamia osiem konsol
wirtualnych. Nie jest to jednak permanentne ustawienie, i może
być w łatwy sposób zmienione, aby konsol wirtualnych było więcej
lub mniej. Plik /etc/ttys
odpowiedzialny jest
za liczbę konsol wirtualnych i ich konfigurację.
Modyfikując plik /etc/ttys
możemy zmieniać
konfigurację konsol wirtualnych FreeBSD. Każdy nie będący komentarzem
wiersz tego pliku (czyli wiersz nie rozpoczynający się znakiem
#
) zawiera ustawienia jednego z terminali lub
konsoli wirtualnej. W domyślnej wersji tego pliku występującej
we FreeBSD skonfigurowanych jest 9 konsol wirtualnych, przy czym 8
z nich jest włączonych. Za ich konfigurację odpowiadają wiersze
rozpoczynające się symbolem ttyv
:
# name getty type status comments # ttyv0 "/usr/libexec/getty Pc" cons25 on secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25 on secure ttyv2 "/usr/libexec/getty Pc" cons25 on secure ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
Dokładny opis poszczególnych kolumn tego pliku i opcji, za pomocą których konfiguruje się konsole wirtualne, znaleźć można w dokumentacji systemowej ttys(5).
„Tryb jednego użytkownika” szczegółowo
opisuje Sekcja 12.6.2, „Single-User Mode”. Istotne jest, że w trybie
jednego użytkownika dostępna jest tylko jedna konsola. Nie jest
możliwe korzystanie z konsol wirtualnych. Konfiguracja konsoli
trybu jednego użytkownika również znajduje się w pliku
/etc/ttys
. Odpowiada jej wiersz rozpoczynający
się słowem console
:
# name getty type status comments # # If console is marked "insecure", then init will ask for the root password # when going to single-user mode. console none unknown off secure
Zgodnie z informacją zawartą w komentarzu nad wierszem
console
, wiersz ten można zmodyfikować,
zmieniając parametr secure
na
insecure
. Jeśli tak zrobimy, FreeBSD
po uruchomieniu w trybie jednego użytkownika będzie pytać
o hasło użytkownika root
.
Zachowajmy jednak ostrożność, jeśli wpisujemy tu
insecure
. Jeżeli zdarzy się nam
zapomnieć hasła użytkownika root
, może
okazać się potrzebne uruchomienie trybu jednego użytkownika.
Będzie to nadal możliwe, może jednak być nieco trudne dla osób
nie orientujących się w procesie uruchamiania FreeBSD i
uczestniczących w nim programach.
[1] Takie jest znaczenie symbolu i386
. Zwróćmy
uwagę, że nawet wówczas, gdy FreeBSD działa na procesorze Intela
innym niż 386, w tym miejscu znajdzie się napis i386
.
Nie określa on bowiem typu używanego procesora, lecz jego
„architekturę”.
[2] Skrypty startowe to programy uruchamiane automatycznie podczas ładowania FreeBSD. Ich podstawowym zadaniem jest przygotowanie środowiska pracy dla innych programów, oraz uruchomienie wybranych usług działających w tle, pełniących różne przydatne funkcje.
[3] Szczegółowy opis obecnych we FreeBSD sterowników konsoli i klawiatury można znaleźć w dokumentacji systemowej syscons(4), atkbd(4), vidcontrol(1) i kbdcontrol(1). Nie będziemy tutaj zajmować się szczegółami, zainteresowani czytelnicy są jak najbardziej zachęcani do zapoznania się z dokumentacją systemową, w której omawiane teraz zagadnienia opisane są dokładniej.
All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.