Polskie znaki w terminalu — systemy Manjaro i Arch Linux

Kategoria: Oprogramowanie Data publikacji: 5 komentarzy

Jako użytkownik systemów Arch Linux oraz Manjaro (opartym na Arch Linuksie) musiałem zmierzyć się z problem niemożności wpisania polskich znaków w konsoli. Rozwiązanie okazało się dość proste.

Problem główny — niepoprawne ustawienia terminala

Aby móc wyświetlać i wpisywać polskie znaki w wirtualnym terminalu, należy w jego konfiguracji określić właściwą czcionkę i układ klawiatury. W pliku /etc/vconsole.conf wystarczy podać następującą treść:

KEYMAP=pl
FONT=Lat2-Terminus16.psfu.gz
FONT_MAP=8859-2

Zazwyczaj to rozwiązuje już problem.

Problem dodatkowy — Plymouth

Chyba, że używasz Plymouth, który jest na przykład umieszczony w Manjaro. Plymouth to komponent wyświetlający w czasie uruchamiania i zamykania systemu przyjemną dla oka animację, zasłaniając „straszne” komunikaty bootowania w konsoli.  Ze względu na fakt, że Plymouth potrzebuje do działania sterownika układu graficznego, grafika ładowana jest wcześniej niż powinna, co powoduje utratę ustawień określonych w pliku /etc/vconsole.conf.

Aby rozwiązać problem, należy sprawić, by Plymouth uruchomił się po załadowaniu konfiguracji terminala, a nie przed. Nie mam pojęcia, jak to się robi, ale znam prostsze rozwiązanie. ;-) Wystarczy pozbyć się Plymouth — i tak jest to tylko niepotrzebny bajer. Można go wyłączyć, co jest znacznie prostsze, lub całkiem usunąć.

Aby wyłączyć Plymouth, trzeba zmodyfikować plik /etc/default/grub. Należy odnaleźć w nim właściwość GRUB_CMDLINE_LINUX_DEFAULT i usunąć z niej polecenie „splash” odpowiedzialne za uruchamianie Plymouth. Poszukiwana linijka może wyglądać tak:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=dd5253c9-f157-4115-bd2f-f670d2e56da1"

Po usunięciu słowa „splash” i zapisaniu pliku należy jeszcze odświeżyć konfigurację GRUB-a, wydając polecenie update-grub. Oczywiście wszystko wykonujemy jako root.

Po ponownym uruchomieniu komputera Plymouth już nie zobaczymy. Ta metoda działa, ale pozostaje pewien niedosyt. Po co trzymać w systemie Plymouth, skoro i tak go nie używamy? Możemy go zupełnie usunąć z systemu — to jest jednak trudniejsze. Aby tego dokonać, należy wykonać trzy kroki.

  1. Usunięcie Plymouth z RAM-u początkowego. Zmodyfikuj plik konfiguracyjny /etc/mkinitcpio.conf. Odnajdź właściwość HOOKS (uwaga: nie pomyl z zakomentowanymi przykładami) i usuń z niej słowo „plymouth”. Następnie odśwież RAM początkowy poleceniem mkinitcpio -p linux (a w Manjaro zamiast linux podaj linuxXX gdzie XX to używana wersja jądra).
  2. Uruchomienie właściwej usługi menadżera wyświetlania. Dowiedz się, jakiego menadżera wyświetlania używa twój system. W Manjaro XFCE jest to na przykład LightDM. Może to też być LXDM, GDM, KDM lub Slim. Wyłącz usługę menadżera wyświetlania dostarczoną od Plymouth i włącz tę oryginalną. Uruchom:
    systemctl disable <nazwa_menadżera_wyświetlania>-plymouth
    systemctl enable <nazwa_menadżera_wyświetlania>

    Na przykład dla LightDM użyj:

    systemctl disable lightdm-plymouth
    systemctl enable lightdm
  3. Usunięcie Plymouth z konfiguracji GRUB-a. Usuń „splash” z /etc/default/grub, jak opisałem wyżej.
  4. Deinstalacja Plymouth. Usuń pakiet „plymouth” za pomocą graficznego menadżera pakietów lub poprzez pacman -R plymouth.

Oczywiście te polecenia także wykonujemy jako root. Wykonanie tych kroków spowoduje kompletne usunięcie Plymouth z systemu.

Komentarze (5)

  1. mqdesu

    Wpis ciekawy, aczkolwiek zastanawiam się po co komuś polskie znaki w Terminalu? Przecież w konsoli zazwyczaj wpisuje się komendy, a te są w języku angielskim. Ja nigdy nie miałam potrzeby nic pisać po polsku w konsoli. Nawet, jakby się ktoś uparł uruchamiać programy w konsoli to paczki też nie są nazywane po polsku.

  2. Tomasz Gąsior

    Wpisywanie znaków w konsoli przyda się na przykład podczas edycji plików tekstowych w języku polskim przez konsolowy edytor taki jak Nano. Poza tym chodzi nie tylko o wpisywanie, ale też o wyświetlanie. Wiele programów konsolowych, nawet jeśli polecenia są po angielsku, wypluwa część informacji po polsku (na przykład menadżery pakietów choćby) — łatwiej jest przeczytać tekst z polskimi znakami zamiast krzaczków.

    http://i.imgur.com/aBRixgI.png

  3. mqdesu

    Mnie się na szczęcie nigdy takie problemy nie zdarzyły w konsoli, a teraz do testów zainstalowałam sobie czystego Archa. Pozdrawiam. ;)

  4. Ja

    A jak zwiększyć rozmiar polskiej czcionki w tty dla wyświtlaczy o wysokiej rozdzielczości?

Dodaj komentarz