[OpenBSD]

[Spis treści] [Sekcja 6 - Sieć] [Sekcja 8 - Pytania ogólne]

7 - Ustawienia klawiatury i wyświetlania


Spis treści



7.1 - Jak przemapować klawiaturę? (wscons)

Porty używające sterownika konsoli wscons(4): alpha, amd64, hppa, i386, mac68k, macppc, sparc, sparc64, vax, oraz zaurus.

Większość opcji konsol używających sterownika wscons(4) można kontrolować używając narzędzia wsconsctl(8). Na przykład, w celu zmiany mapowania klawiatury za pomocą wsconsctl(8) należy wykonać następujące polecenie:

# wsconsctl -w keyboard.encoding=uk

W kolejnym przykładzie, przemapujemy klawisz "Caps Lock" na kombinacje klawiszy "Control L":

# wsconsctl -w keyboard.map+="keysym Caps_Lock = Control_L"

7.2 - Czy OpenBSD obsługuje mysz w konsoli?

Dla platform sprzętowych alpha, amd64, oraz i386 OpenBSD dostarcza wsmoused(8), port moused(8) z systemu FreeBSD. Może on być włączony w trakcie startu systemu poprzez edycję określonej linii w pliku rc.conf(8).

7.3 - Jak czyścić konsole za każdym razem, kiedy użytkownik się wyloguje?

Aby wykonać to zadanie, należy dodać linie w pliku /etc/gettytab(5). Zmień następującą sekcję w tym pliku:

P|Pc|Pc console:\ :np:sp#9600:

dodając linię ":cl=\E[H\E[2J:" na końcu sekcji, po zmianie sekcja powinna wyglądać tak:

P|Pc|Pc console:\ :np:sp#9600:\ :cl=\E[H\E[2J:

7.4 - Uzyskanie dostępu do wcześniejszych linii w buforze konsoli (amd64, i386 oraz niektóre Alpha)

Na niektórych platformach OpenBSD dostarcza mechanizmy umożliwiające przeglądanie zawartości bufora konsoli. Pozwala to na przeglądanie informacji, które przewinęły się wcześniej na ekranie. Aby przemieszczać się w górę lub dół bufora, po prostu użyj kombinacji klawiszy [SHIFT]+[PGUP] oraz [SHIFT]+[PGDN].

Domyślnie bufor konsoli pozwala na przemieszczanie się i przeglądanie maksymalnie do 8 stron. Jest to typowe dla sterownika vga(4), tak więc udogodnienie to nie będzie działać na innych platformach bez kart typu VGA (wiele systemów Alpha posiada kartę graficzną typu TGA).

Ze względu na ograniczenia miejsca, kernel instalacyjny nie obsługuje funkcji "scrollback". Przełączanie pomiędzy konsolami czyści bufor "scrollback".

7.5 - Jak przełączać się pomiędzy konsolami? (amd64, i386, Zaurus, niektóre Alpha)

Na platformie sprzętowej amd64, i386 oraz systemach Alpha wyposażonych w karty vga(4), OpenBSD domyślnie dostarcza sześć wirtualnych konsol, /dev/ttyC0 do /dev/ttyC5. Konsola ttyC4 zarezerwowana jest dla systemu X Window, pozostałe pięć konsol to konsole tekstowe. Możesz przełączać się pomiędzy nimi używając [CTRL]+[ALT]+[F1], [CTRL]+[ALT]+[F2], [CTRL]+[ALT]+[F3], [CTRL]+[ALT]+[F4] oraz [CTRL]+[ALT]+[F6].

Środowisko X używa konsoli ttyC4, [CTRL]+[ALT]+[F5]. Podczas używania środowiska X Window, naciśnięcie [CTRL]+[ALT]+[Fn] przełączy Cię na konsole tekstowe; [CTRL]+[ALT]+[F5] przełączy Cię z powrotem do środowiska graficznego.

Jeśli chciałbyś mieć większą niż domyślną ilość konsol wirtualnych, użyj komendy wsconscfg(8), w celu utworzenia kolejnych konsol czyli: ttyC6, ttyC7 i dalszych. Na przykład:

wsconscfg -t 80x25 6
stworzy wirtualny terminal ttyC6, który to będzie dostępny po przyciśnięciu klawiszy [CTRL]+[ALT]+[F7]. Jeśli chcesz mieć dodatkową konsolę za każdym razem gdy uruchamiasz komputer, nie zapomnij dodać tej komendy do pliku rc.local(8).

Zauważ jednak, że nie otrzymasz na nowo stworzonej konsoli znaku logowania "login:" dopóki nie włączysz jej w pliku /etc/ttys(5), i nie wykonasz, bądź ponownego uruchomienia komputera, bądź nie wyślesz do procesu init(8), sygnału HUP za pomocą polecenia kill(1).

W przypadku platformy Zaurus, dwa wirtualne terminale (/dev/ttyC0 and /dev/ttyC1) są dostępne domyślnie i osiągalne przy pomocy [ALT]+[CALENDAR] oraz [ALT]+[ADDRESS] (klawisz [ALT] to ten po prawej stronie lewego klawisza [CTRL]).

7.6 - Jak ustawić rozdzielczość konsoli na 80x50? (amd64, i386, niektóre Alphy)

Użytkownicy amd64, 386 oraz VGA Alpha normalnie otrzymują konsole o wymiarach 25 linii każda po 80 znaków. Jednakże wiele kart VGA umożliwia wyświetlanie większej rozdzielczości tekstowej o wymiarach 50 linii po 80 znaków.

Po pierwsze, czcionka która umożliwia taka pracę musi zostać załadowana przy użyciu komendy wsfontload(8) Standardowa konsola 80x25 używa fontów 8x16. Aby zwiększyć rozdzielczość poziomą należy użyć fontów 8x8.

Po tej czynności trzeba usunąć i utworzyć ponownie wirtualna konsolę w pożądanej rozdzielczości, korzystając z polecenia wsconscfg(8)

Można to robić automatycznie w czasie inicjowania systemu, dodając na końcu pliku rc.local(8):

wsfontload -h 8 -e ibm /usr/share/misc/pcvtfonts/vt220l.808 wsconscfg -dF 5 wsconscfg -t 80x50 5
W trakcie jakichkolwiek modyfikacji konfiguracji twojej maszyny, wskazane jest, abyś poświęcił trochę czasu na czytanie podręcznika man w celu zrozumienia co te komendy robią.

Pierwsza linia ładuje czcionkę 8x8. Druga linia usuwa konsolę numer 5 (na którą można się przełączyć kombinacją [CTRL]+[ALT]+[F6]). Trzecia linia tworzy nowy terminal o rozdzielczości 50 linii na 80 znaków. Jeśli to zrobisz, przekonasz się, że podstawowa konsola oraz trzy pozostałe wykorzystują standardową rozdzielczość 80x25, a nowa konsola numer 5, osiągalna przez wciśnięcie [CTRL]+[ALT]+[F6] nie.

Zapamiętaj - [CTRL]+[ALT]+[F1] przywołuje konsolę numer 0. Jeśli chcesz zmienić parametry rozdzielczości innych konsol, zwyczajnie powtórz usunięcie i dodanie nowej konsoli dla każdej z tych, dla której chcesz zmienić rozdzielczość na 80x50.

Powinieneś wystrzegać się zmiany parametrów konsoli numer 4 (ttyC4, [CTRL]+[ALT]+[F5]), używanej przez system X Windows. Niemożliwa jest także zmiana rozdzielczości znakowej pierwszej konsoli znakowej (np. ttyC0).

Jak można domniemywać, wszystkie te komendy można wykonać bezpośrednio jako użytkownik root, choć lepszym sposobem wydaje się użycie komendy sudo(8).

Zwróć uwagę, że nie będzie to działało dla wszystkich kart Dodatkowo nie wszystkie karty graficzne pozwalają ładowanym czcionkom, których wymaga wscons(4), osiągnąć rozdzielczość tekstową 80x50. W takim wypadku powinieneś rozważyć uruchomienie systemu X Window.

7.7 - Jak używać konsoli szeregowej?

Jest kilka powodów, dla których powinieneś rozważyć użycie konsoli szeregowej w swoim systemie OpenBSD: OpenBSD wspiera konsolę szeregową na wielu platformach, jednakże szczegóły w znacznym stopniu zależą od konkretnej platformy sprzętowej.

Należy zauważyć, iż połączenie za pomocą portów szeregowych NIE JEST zadaniem banalnym -- często będziesz potrzebował niestandardowego kabla, interfejsy szeregowe nie są ustandaryzowane pomiędzy poszczególnymi platformami, a w wielu przypadkach różnią się nawet w obrębie jednej platformy sprzętowej. W niniejszym artykule przyjmujemy, iż wiesz jak dobrać właściwy kabel w celu podłączenia Twojego komputera oraz urządzenia służącego za Twój zdalny terminal. Pełny tutorial dotyczący łączenia urządzeń za pomocą portów szeregowych wykracza poza ramy tego artykułu, jednakże mamy małą podpowiedź: Nawet jeśli wtyczki pasują do gniazdek, nie oznacza to że połączenie będzie działać.

Edycja pliku /etc/ttys

Istnieją dwie czynności niezbędne do tego, aby w systemie OpenBSD działała konsola przez port szeregowy. Po pierwsze, musisz posiadać system OpenBSD, aby korzystać z portu szeregowego pracującego jako konsola monitorująca stan systemu lub konsola systemu w trybie 'single-user'. Czynność ta jest bardzo uzależniona od tego, z jaką platformą sprzętową masz do czynienia. Po drugie, musisz włączyć port szeregowy, aby był używany jako terminal interaktywny, co oznacza, że użytkownik może się do niego zalogować w trakcie pracy w trybie 'multi-user'. Wykonanie tej czynności nie różni się znacznie pomiędzy platformami sprzętowymi i opisano ją poniżej.

Sesje terminalowe kontrolowane są przez plik /etc/ttys(5). Zanim system OpenBSD wyświetli napis "login:" na konsoli, musi ona być włączona w pliku /etc/ttys, po tej czynności jedna część użytkowników używa konsoli szeregowej, a inna część terminali. Na platformach sprzętowych, które typowo posiadają podłączoną klawiaturę i monitor, terminale szeregowe są domyślnie wyłączone. Weźmy na przykład platformę i386. Aby włączyć terminal szeregowy musisz linię wyglądającą następująco: tty00 "/usr/libexec/getty std.9600" unknown off zamienić na taką tty00 "/usr/libexec/getty std.9600" vt100 on secure Tutaj tty00 oznacza port używany jako konsola szeregowa. vt220 jest wpisem w termcap(5) pasującym do TWOJEGO terminala (inne podobne opcje mogą zawierać vt100, xterm, itd.). Słowo "on" aktywuje getty dla tego portu szeregowego, co pozwala na wyświetlenie monitu "login:", słowo "secure" zezwala użytkownikowi 'root' (uid 0) na logowanie przy pomocy tej konsoli (na co możesz zezwolić lub nie, w zależności od tego jak zdecydujesz), wreszcie liczba "9600" oznacza szybkość transmisji. Staraj się powstrzymywać przed ustawianiem maksymalnej możliwej dla twojego sprzętu szybkości transmisji, ponieważ możesz spowodować więcej problemów niż zyskać. Większość systemów posiada "domyślną" szybkość (wspieraną domyślnie przez boot ROM i/lub boot loader, często jest to 9600), korzystaj z niej chyba że masz prawdziwe powody by ustawiać coś innego.

Zwróć uwagę na fakt, iż możesz używać konsoli szeregowej w trakcje instalacji, bez wykonywania tej czynności, jako że system pracuje w trybie 'single-user' i nie używa getty w celu przeprowadzenia procedury logowania.

W przypadku niektórych platform sprzętowych i różnych konfiguracji, należy uruchomić system w trybie 'single user', aby dokonać tej zmiany, jeśli konsola szeregowa jest tylko tym czym dysponujemy.

amd64 i i386

Aby nakazać systemowi używać portu szeregowego jako konsoli w trakcie startu systemu należy utworzyć lub wyedytować plik /etc/boot.conf tak, aby zawierał następującą linię: set tty com0 Pierwszy port szeregowy będzie używany jako Twoja konsola. Domyślną wartością szybkości jest 9600bps, opcja ta może być zmieniona poprzez użycie opcji stty w linii pliku /etc/boot.conf. Plik ten musi znajdować się na dysku startowym, którym może być również dyskietka startowa, lub też jednorazowo można wprowadzić tą komendę po otrzymanie monitu boot> z boot-loadera.

Uwagi dla platform amd64 oraz i386:

SPARC i UltraSPARC

Ta platforma sprzętowa jest zaprojektowana tak, aby być w pełni zarządzana z konsoli szeregowej. Po prostu odłącz klawiaturę od maszyny, a system uruchomi się na konsoli szeregowej.

Uwagi dla platformy SPARC i UltraSPARC

MacPPC

Komputery MacPPC konfiguruje się aby używały konsoli szeregowej poprzez OpenFirmware. Użyj następujących komend: ok setenv output-device scca ok setenv input-device scca ok reset-all Ustaw konsolę na szybkość 57600bps, tryb 8N1.

Uwagi dla platformy MacPPC

Mac68k

Opcja konsoli szeregowej jest zaznaczona w programie Booter, w menu "Options", "Serial Ports". Zaznacz opcję "Serial Console", następnie wybierz port modemu lub drukarki. Będziesz także potrzebował kabla modemowego lub drukarkowego w celu podłączenia go do portu szeregowego. Jeśli chcesz, aby te ustawienia były domyślnymi, zapisz zmienione opcje wybierając odpowiednią opcję w programie Booter.

Uwagi dla platformy Mac68k

7.8 - Jak wygasić konsolę? (wscons)

Jeśli chcesz wygasić konsolę po określonym czasie nieaktywności bez użycia X Window, możesz zmienić następujące zmienne wscons(4) Możesz ustawiać te opcje z poziomu linii poleceń używając komendy wsconsctl(8): # wsconsctl -w display.screen_off=60000 display.screen_off -> 60000 lub też ustawić te zmienne na stałe edytując plik /etc/wsconsctl.conf, ustawienia te będą dostępne po ponownym uruchomieniu komputera: display.vblank=on # enable vertical sync blank display.screen_off=600000 # set screen blank timeout to 10 minutes display.kbdact=on # Restore screen on keyboard input display.outact=off # Restore screen on display output Ustawienie opcji display.kbdact lub display.outact na "on" aktywuje wygaszanie monitora.

7.9 - WSZYSTKO CO PISZĘ PODCZAS LOGOWANIA JEST Z DUŻYCH LITER

Jest to właściwie opcja, nie błąd.

Prawie wszystkie uniksowe polecenia i nazwy użytkowników są wprowadzane przy użyciu małych znaków. Jednakże, niektóre stare terminale są przystosowane do wyświetlania tylko dużych znaków, co czyni je trudnymi, jeśli nie niemożliwymi, do używania w systemach Unix. Jeżeli wpiszesz swoją nazwę użytkownika dużymi literami, getty(8) sprawdzi twój terminal pod kątem "używania małych znaków", i po prostu zinterpretuje wszystko co piszesz jako małe znaki, wyświetlając je jako duże.

Naciśnięcie CTRL-D przed zalogowaniem, spowoduje przerwanie getty(8), oraz ponowne załadowanie init(8) które będzie poprawnie akceptowało duże i małe znaki.

[Spis treści] [Sekcja 6 - Sieć] [Sekcja 8 - Pytania ogólne]


[back] www@openbsd.org
$OpenBSD: faq7.html,v 1.31 2007/11/23 19:30:03 tobias Exp $