Kolory na terminalach Linux-owych.: Jak skonfigurowaæ inny standard tekstowy niż białe-na-czarnym ?
Następna strona
Poprzednia strona
Spis treści
6. Jak skonfigurowaæ inny standard tekstowy niż białe-na-czarnym ?
Bêdziesz musiał przekazaæ sterownikowi twojego terminala kod,
który chcesz mieæ jako domyślny. Nie ma standardowego sposobu, aby
to zrobiæ, ale w przypadku Linux-a masz program setterm.
"setterm" używa informacji zawartych w bazie danych o terminalach,
aby ustawiæ atrybuty. Tak siê wybiera:
setterm -foreground black -background white -store
gdzie -store poza właściwą zmianą powoduje, że ustawienia stają
siê także domyślne dla bieżącej konsoli. Wymaga to, aby bieżący
terminal (zmienna środowiskowa TERM) był opisany "wystarczająco
dobrze" w bazie danych "termcap". Jeśli setterm z jakichś powodów
nie działa, to tu jest kilka alternatyw:
6.1 Xterm.
Jeden z tych Xterminali powinien byæ dostêpny i przynajmniej jeden
z nich obsługuje kolory.
xterm -fg white -bg blue4
color_xterm -fg white -bg blue4
color-xterm -fg white -bg blue4
nxterm -fg white -bg blue4
gdzie 'color_xterm' obsługuje kolorową wersjê 'ls'. Ten konkretny
wybór przypomina kolory używane na SGI.
6.2 Konsole wirtualne.
Możesz zmodyfikowaæ jądro raz na zawsze, tak samo jak
udostêpniając standard podczas działania dla konsol wirtualnych
przez sekwencjê ze znakiem ESC. Jeśli skompilowałeś swoje własne
jądro to zalecam modyfikacjê jądra.
Plik ze źródeł jądra, który powinieneś zmodyfikowaæ około linii
1940, to /usr/src/linux/drivers/char/console.c
def_color = 0x07; /* white */
ulcolor = 0x0f; /* bold white */
halfcolor = 0x08; /* grey */
Ja używam białego na niebieskim:
def_color = 0x17; /* white */
ulcolor = 0x1f; /* bold white */
halfcolor = 0x18; /* grey */
Liczby to kody atrybutów w postaci szesnastkowej używane przez
kartê graficzną: najbardziej znacząca cyfra ("1" w przykładzie
powyżej) jest tłem; najmniej znacząca - pierwszym planem.
0=czarny, 1=niebieski 2=zielony, 3=jasno-niebieski, 4=czerwony,
5=purpurowy, 6=brązowy/żółty, 7=biały. Dodaj 8, aby uzyskaæ kolory
jaskrawe. Zauważ, że w wiêkszości przypadków jaskrawe tło =
mrugające znaki, matowe tło. (Od
sjlam1@mda023.cc.monash.edu.au).
Możesz także dostarczyæ nowy standard podczas działania dla
wirtualnych konsol, na bazie na-ekran z niestandardowymi
sekwencjami ANSI (znalazłem podczas przglądania źródeł jądra)
ESC [ 8 ]
która ustawia domyślne kolory na bieżące tło i pierwszy plan.
Wtedy łañcuch resetujący atrybuty (ESC [ m) wybiera te kolory
zamiast białego i czarnego.
Właściwie bêdziesz musiał wysłaæ ten łañcuch na konsolê poleceniem
echo za każdym razem kiedy restartujesz komputer. Zależnie od
tego do czego używasz swojego Linux-a, może byæ kilka odpowiednich
miejsc:
/etc/issue
To jest miejsce, gdzie wyświetla siê komunikat "Welcome to Linux
xx.yy", i jest to dobry wybór dla komputera, na którym pracujesz
tylko ty. (Przypuszczalnie bêdzie zmorą dla użytkowników
logujących siê zdalnie przy pomocy telnet-a). Plik ten jest
tworzony podczas startu (Slackware w /etc/rc.d/rc.S; RedHat w
/etc/rc.d/rc.local), i powinieneś zmodyfikowaæ linie wyglądające
mniej wiêcej tak:
echo ""> /etc/issue
echo Welcome to Linux /bin/uname -a | /bin/cut -d\ -f3. >> /etc/issue
na:
ESCAPE="<wstaw tu znak escape>"
echo "${ESCAPE}[H${ESCAPE}[37;44m${ESCAPE}[8]${ESCAPE}[2J"> /etc/issue
echo Welcome to Linux /bin/uname -a | /bin/cut -d\ -f3. >> /etc/issue
Ten kod spowoduje przesuniêcie kursora na początek strony,
ustawienie koloru (tutaj: biały na niebieskim), zapisanie tego
wyboru i wyczyszczenie reszty ekranu. Modyfikacja zadziała przy
nastêpnym starcie systemu. Zapamiêtaj, aby wpisaæ kod klawisza ESC
przy pomocy Ctrl-Q w emacs-ie, Ctrl-V w vi lub `Esc w joe, bo
wygląda na to, że powłoka, w której siê uruchamia ten skrypt nie
rozumie sekwencji: /033.
/etc/profile lub .profile.
if [ "$TERM" = "console" ]; then
echo "\033[37;44m\033[8]" #
# albo użyj setterm
setterm -foreground white -background blue -store
fi
/etc/login lub .login
if ( "$TERM" == "console" ) then
echo "\033[37;44m\033[8]"
# albo użyj setterm
setterm -foreground white -background blue -store
endif
6.3 Logowanie zdalne.
Powinieneś byæ w stanie użyæ setterm tak jak to było pokazane
wyżej. Jeszcze raz: wymaga to, aby zdalny komputer wiedział
wystarczająco dużo na temat twojego terminala i żeby emulator
terminala, przy pomocy którego siê logujesz, obsługiwał kolory. Z
moich doświadczeñ wynika, że najlepszymi emulatorami vt100
dostêpnymi obecnie na inne platformy to:
MS-DOS: MS-Kermit (darmowy, nie jest prod. Microsoftu)
Windows 95/NT: Kermit/95 (shareware)
OS/2: Kermit/95 (shareware). Zauważ jednak, że
standardowy telnet rozumie kolory i można go ustawiæ lokalnie.
Szczegóły na temat Kermita znajdziesz na
http://www.columbia.edu/kermit/
Następna strona
Poprzednia strona
Spis treści
Wyszukiwarka
Podobne podstrony:
colour ls pl 8colour ls pl 1Colour ls plColour ls pl (3)colour ls pl 4colour ls pl 5colour ls pl 3Colour ls pl (2)colour ls pl 7colour ls pl 2colour ls 3 i2y3a3htwxboisuqldnhk7pmmft6tohtniwed5i i2y3a3htwxboisuqldnhk7pmmft6tohtniwed5icolour ls 4 c4cuxdodcxbytow57gmvg5rphby3pqrmm7hwaxq c4cuxdodcxbytow57gmvg5rphby3pqrmm7hwaxqcolour ls 5 y6erpussqnugfwff2mfcjppft7z5scteac4feki y6erpussqnugfwff2mfcjppft7z5scteac4fekicolour ls 1 ygidk7oxbsgbv3afkfl4i6k4awrr243dexvlvli ygidk7oxbsgbv3afkfl4i6k4awrr243dexvlvlicolour ls 6 qcsrhsi5mqy6mhp5zrkcvgcsy2ldfeanwjhvxma qcsrhsi5mqy6mhp5zrkcvgcsy2ldfeanwjhvxmacolour ls 2 zm25oj33ku77tgajutuyqthxrp6c2icezwgsc6q zm25oj33ku77tgajutuyqthxrp6c2icezwgsc6qcolour ls 7 jtgn4qme2avze324sf3wrekdcfidvyrhtavxdcy jtgn4qme2avze324sf3wrekdcfidvyrhtavxdcy424 D LS plcolour ls gsxhbohkss2eq3ylbefnrbvhxatqixe5tunvvja gsxhbohkss2eq3ylbefnrbvhxatqixe5tunvvjawięcej podobnych podstron