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

4 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 :)

2 05 2010
chmod777 (21:32:17) :

Niestety, u mnie nie działa.
po zalogowaniu mam
-bash: warning: setlocale: LC_ALL: cannot change locale (pl_PL): No such file or directory -bash: warning: setlocale: LC_ALL: cannot change locale (pl_PL.utf8): No such file or directory"

polecenie locale zwraca
locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Nie mo?na ustawi? LC_ALL na domy?ln? lokalizacj?: Nie ma takiego pliku ani katalogu LANG=pl_PL.utf8 LC_CTYPE="pl_PL.utf8" LC_NUMERIC="pl_PL.utf8" LC_TIME="pl_PL.utf8" LC_COLLATE="pl_PL.utf8" LC_MONETARY="pl_PL.utf8" LC_MESSAGES="pl_PL.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=pl_PL.utf8

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>