Pierwsze Kroki: Polonizacja Slackware – UTF-8

24 05 2009

Polonizacja Slackware… odwieczna walka o polskie znaczki. Powstał już o tym nie jeden poradnik i niejedno FAQ, ale z wersji na wersję teksty te zdezaktualizowały się coraz bardziej aby wreszcie stać się prawie bezużyteczne.

Ponieważ ostatnio używam Slackware Current x64 i mnie dopadł problem polonizacji. Po niezbyt długiej walce udało mi się osiągnąć sukces. Poniżej przedstawiam metodę na uzyskanie polskich znaków w Slackware przy kodowaniu UTF-8.

Na początek warto sprawdzić w /etc/lilo.conf cz nie uruchamiamy kernela z parametrem append=”vt.default_utf8=0″. Jeśli tak to należy zmienić wartość parametru z 0 na 1, aczkolwiek ja po prostu usunąłem wpis pozostawiając opcję append w postaci: append=”". Należy pamiętać o odświeżeniu konfiguracji LILO poleceniem /sbin/lilo. W przypadku GRUB-a należy sprawdzić w pliku konfiguracyjnym linie zawierające ścieżkę do kernela. Jeśli pierwotnie mieliśmy opcję vt.default_utf8=0 to po zakończeniu konfiguracji potrzebny będzie restart systemu.

Teraz możemy przystąpić do dalszej konfiguracji. Jako root naszym ulubionym edytorem otwieramy plik: /etc/rc.d/rc.font i wpisujemy do niego następujące opcje:

#!/bin/sh
setfont -v lat2-16.psfu.gz

Teraz nadajemy plikowi prawa do wykonywania aby był uruchamiany przy starcie systemu:

chmod a+x /etc/rc.d/rc.font

Teraz kolej na plik /etc/rc.d/rc.keymap:

#!/bin/sh
loadkeys -u pl2

I znowu nadajemy prawa do uruchamiania się:

chmod a+x /etc/rc.d/rc.keymap

Kolejnym plikiem jest /etc/profile.d/lang.sh:

#!/bin/sh
export LANG=pl_PL.utf8
export LC_CTYPE="pl_PL.utf8"
export LC_NUMERIC="pl_PL.utf8"
export LC_TIME="pl_PL.utf8"
export LC_COLLATE=C
export LC_MONETARY="pl_PL.utf8"
export LC_MESSAGES="en_US.utf8"
export LC_PAPER="pl_PL.utf8"
export LC_NAME="pl_PL.utf8"
export LC_ADDRESS="pl_PL.utf8"
export LC_TELEPHONE="pl_PL.utf8"
export LC_MEASUREMENT="pl_PL.utf8"
export LC_IDENTIFICATION="pl_PL.utf8"
export LC_ALL=

Tu ciekawostką jest, że w przykładach podane są lokalizacje w formacie np. en_US.UTF-8 natomiast w systemie występują one w formie takiej jak podałem powyżej (można to łatwo sprawdzić wykonując polecenie locale -a | grep pl).

To właściwie wszystko… Pozostaje tylko ponownie uruchomić system (jeśli trzeba) lub przeładować ustawienia:

source /etc/profile.d/lang.sh
/etc/rc.d/rc.keymap restart
/etc/rc.d/rc.font restart

Jeśli jakaś usługa nie było poprzednio uruchomiona i przy parametrze restart zwraca błąd należy spróbować uruchomić ją z opcją start zamiast restart.

Sprawdzone na aktualnych Slackware Current i Slackware Current x64.

Powyższy tekst dostępny jest na licencji GNU Free Documentation License.


Opcje

Info

3 Odpowiedzi do “Pierwsze Kroki: Polonizacja Slackware – UTF-8”

7 06 2009
BlackBox (04:15:26) :

Witam tylko jedno pytanie czy dialog dobrze wyświetla ramki w UTF-8 powiedzmy użyjmy skryptu pkgtool, jak wyglądają ramki.

21 09 2009
amigib (09:19:09) :

zrobiłem tak jak napisałeś, czcionki są, klawiatura działa, ale wygląda na to, że system nie do końca trybi że ma używać polskiego języka dla uruchamianych programów. W trybie tekstowym (jak i graficznym) MC uruchamia mi się w języku angielskim, w KDE zaś większość programów domyślnie włącza się po angielsku zamiast po polsku.

amigib@Slackbox:~/.jd$ smile <-- SMILE QT4.4 VERSION --> YOUR LANGUAGE :  "C" LOCALE :  "C" "LOADING LANGUAGE ... smile_C"

a locale pokazują, że niby wszystko w porządku
amigib@Slackbox:~/.jd$ locale LANG=pl_PL.utf8 LC_CTYPE=pl_PL.utf8 LC_NUMERIC=pl_PL.utf8 LC_TIME=pl_PL.utf8 LC_COLLATE=C LC_MONETARY=pl_PL.utf8 LC_MESSAGES=en_US.utf8 LC_PAPER=pl_PL.utf8 LC_NAME=pl_PL.utf8 LC_ADDRESS=pl_PL.utf8 LC_TELEPHONE=pl_PL.utf8 LC_MEASUREMENT=pl_PL.utf8 LC_IDENTIFICATION=pl_PL.utf8 LC_ALL=

dopiero po dorzuceniu LC_ALL=pl_PL.utf8 zaczęły gadać po polsku

29 12 2009
LeVuS (12:04:54) :

Dzięki ci dobry człowieku. Nie mogłem sobie poradzić z polonizacją Slacka do póki nie znalazłem twojego arta :)

Odpowiedz

Możesz używać tagów : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>