Jeden z serwerów dość często używam ssh
zachodniego kodowania zamiast utf-8 (i nie ma sposobu, żebym mógł to zmienić).
Zacząłem pisać skrypt bash, aby połączyć się z tym serwerem, więc nie będę musiał za każdym razem wpisywać całego adresu, ale chciałbym ulepszyć ten skrypt, aby poprawnie zmieniał także kodowanie okna terminala.
Zmianę, którą muszę wykonać, można wykonać za pomocą myszy, przechodząc do opcji „Terminal” -> „Ustaw kodowanie znaków ...” -> „Western (ISO-8859-1)”. Czy istnieje polecenie terminalu, które robi to samo, dla bieżącego okna / ekranu terminala?
W celu wyjaśnienia:
ja nie zainteresowany sposobów przełączania ustawień regionalnych systemu na zdalnym serwerze - że system administrowany jest przez kogoś innego, a ja nie mam pojęcia, co rzeczy może zależeć od Latin-1, kodujący tam. Chcę, aby okno terminalu po mojej stronie przełączyło kodowanie znaków na wyżej wymienione, w taki sam sposób, jak mogę to zrobić za pomocą myszy i menu.
źródło
Odpowiedzi:
Szukasz,
luit
który jest przeznaczony do tego celu:$ luit -encoding ISO-8859-1 ssh remote.host
Konwertuje dane wyjściowe polecenia ssh na UTF-8, więc nie trzeba zmieniać kodowania terminala.
źródło
Najpierw edytuj bieżące ustawienia narodowe w swoim ulubionym edytorze
sudo gedit /var/lib/locales/supported.d/local
do czegoś takiegoNastępnie uruchomić
sudo dpkg-reconfigure locales
Następnie ustaw terminal za pomocą
LANG=en_GB.ISO-8859-1
Mam nadzieję, że to działa
źródło
Gnome Terminal używa gconf do przechowywania ustawień. Można nimi manipulować
gconftool
, więc możesz użyć:Przetestowałem to 12.04. Z jakiegoś powodu menu (
"Terminal"->"Set Character Encoding..."
) wydaje się nie być aktualizowane w czasie rzeczywistym, ale rzeczywiste kodowanie znaków jest aktualizowane poprawnie.źródło
Nie wiem, jak to przetestować, ale dzięki Konsole na Kubuntu mogę wykonać następujące czynności:
1) Znajdź aplikację zarejestrowaną w dbus
Używam
konsole
tak prostyqdbus | grep kons
daje miorg.kde.konsole
2) Znajdź bieżące sesje w Konsole
3) Znajdź przydatne metody
4) Sprawdź aktualne kodowanie
5) Ustaw kodowanie
6) Sprawdź aktualne kodowanie
Ubuntu będzie miał podobny program terminalowy, ale będziesz musiał rozwiązać zagadkę, podając poprawną nazwę usługi, ścieżkę, metodę i argumenty.
źródło
Oto inne rozwiązanie, którego użyłem do zmiany profilu (dla koloru tła) podczas łączenia się z serwerem produkcyjnym. To dotyczy
xdotool
.xdotool
symuluje naciśnięcia klawiszy potrzebne do wybrania żądanego elementu menu. Spróbuj najpierw na klawiaturze, a następnie zapisz sekwencję:Aktywuje kodowanie pierwszego znaku. Dodaj więcej
Down
kluczy przed,Return
aby wybrać inny.Uwaga: dla pliku
ssh
można również użyć~/.ssh/config
pliku do skonfigurowania aliasów do serwerów.źródło
Włącz
xterm
, zmień kodowanie za pomocą sekwencji kontrolnych . Na przykład,bash
możesz uzyskać zestaw znaków UTF-8, uruchamiając:Kodowanie ISO 8859-1 jest dostępne po uruchomieniu:
źródło