Colour

Trochę ciekawostek – na weekend (czego to ludzie nie wymyślą ...


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
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • strefamiszcza.htw.pl
  • Copyright (c) 2009 TrochÄ™ ciekawostek – na weekend (czego to ludzie nie wymyÅ›lÄ… ... | Powered by Wordpress. Fresh News Theme by WooThemes - Premium Wordpress Themes.