2015-02-27 16 views
6

Chciałbym mieć różne podpowiedzi w bashu, aby szybko rozpoznać, na której maszynie aktualnie pracuję, kiedy używam ssh. Okazało się, że terminal domyślny bash w OSX Yosemite akceptuje szeroki zakres znaków Unicode, więc założyłem te PS1:Jak sprawić, aby ekran GNU rozpoznał znaki UTF-8?

Mac PS1

PS1=$'\n\n\xf0\x9f\x98\x88'" \t – \[\033[01m\]\[email protected]\h\[\033[00m\]:\W > " 

malinowy gatunku PS1

PS1=$'\n\n\xf0\x9f\x98\xBA'" \t – \[\033[01m\]\[email protected]\h\[\033[00m\]:\W > " 

Niestety, GNU screen nie rozumie znaków UTF-8:

nawet gdy działają w trybie UTF-8 z screen -U

Każdy pomysł jak rozwiązać ten problem?

Odpowiedz

1

Zamiast używać ekranu GNU, jeśli to możliwe, użyj Tmux. Ten terminalowy multiplekser ma dobrą obsługę UTF-8.

Nie jestem użytkownikiem Mac, ale wydaje się, że ten pakiet można zainstalować na OSX (wykonując brew install tmux)

+0

Wydaje się działać z Tmux, dziękuję. Ale nadal chcę wiedzieć, czy istnieje rozwiązanie dla "ekranu". – nico

-1

1) GNU typu ekran Ctrl + A, a następnie wpisz tę dyrektywę ekranu:

: utf8 na

(nie wiem, dlaczego nie -U już to zrobić.)

2) Należy również sprawdzić ustawienia narodowe wpisując "locale -a "w powłoce.

Powinien zawierać kodowanie UTF-8 w górnej części wyjścia.

+0

Dziękuję za odpowiedź Swietłana. Komenda 'utf-8' nie jest komendą Bash, a także próbuję wpisać' CTRL-A: utf-8 na 'w gnu-screen, ale to nie działa, więc gdzie powinienem użyć tego polecenia ? Na moim Raspberry Pi, polecenie 'locale -a' zwraca' C', 'C.UTF-8',' en_GB.utf8', 'POSIX'. Jak ustawić kodowanie UTF-8 na górze? – nico

+0

@nico Ctrl + a: utf8 na [źródło] (https://perlgeek.de/en/article/set-up-a-clean-utf8-environment) –

Powiązane problemy