Jestem na systemie Ubuntu (tak myślę). I nie mają korzeni, więc nie mogę zmienić ustawienia regionalne. Chcę, aby mój domyślny profil terminala domyślnie używał UTF-8. Powinien istnieć sposób, aby to zrobić, albo .gconf/apps/gnome-terminal/
gdzieś w katalogu, albo w zmiennej środowiskowej, czy coś takiego. Jednak nie mogę tego znaleźć.
Edytuj z większą ilością szczegółów:
W terminalu mam:
grid-unv55$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
grid-unv55$ gnome-terminal
Kiedy próbuję uzyskać więcej dokumentów UTF w tym nowym terminalu, otrzymuję:
\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
\noise:bgspeech \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
Który pojawia się na moim ekranie w postaci kropek. (Uffds były wycinane i wklejane. Zostawiłem tam „\ noise: bgspeech”, aby można było zobaczyć, że ascii zostało wycięte i wklejone poprawnie)
~/.profile
- nie~/.bashrc
, i nie~/.bash_profile
bądź .Możesz ustawić ustawienia regionalne za
gnome-terminal
pomocą następującego polecenia, gdzieDefault
jest nazwa profilu.źródło
LANG=en_US.UTF-8
w.bashrc
i ponownym uruchomieniuMiałem podobny problem, a podczas ustawiania
LANG
w.bash_profile
nie załatwi, okazało się, że w Gnome, domyślne ustawienia regionalne można ustawić na początku sesji z ekranu logowania GDM. Można to zrobić bez dostępu użytkownika root.źródło
Właśnie sprawdziłem,
menu->terminal->set character encoding
że to utf-8Terminal i bash to nie to samo.
Zacznę od zrobienia
cat utf-8-file
(cat i bash przekażą ten plik w niezmienionej postaci do terminala (właściwie właściwie do stty, stty przekonwertuje znak nowej linii na powrót karetki, znak nowej linii itp.)) Jeśli to wyświetli plik poprawnie, to gnome-terminal jest ustawiony. (Do tej pory to wszystko, co kiedykolwiek zrobiłem, ponieważ używam utf-8 w języku angielskim; zostało już dla mnie skonfigurowane w Ubuntu 10.10 i Debian 6). Więc po prostu skonfiguruj bash itp.Ponowne czytanie ~ / .bashrc
Jeśli edytujesz
~/.bashrc
, musisz go ponownie przeczytać. ~/.bashrc
(lub uruchomić nową powłokę) (nie zapomnij kropki)źródło
Właśnie rozwiązałem problem, który może być istotny dla nowoprzybyłych z nowszymi wersjami GNOME (i gnome-terminal):
W przypadku dowolnego kodowania tekstu, którego chcesz użyć, powłoka (np. Bash) i emulator terminala (np. Gnome-terminal) muszą używać tego samego kodowania. Tak więc np. Jeśli używa powłoki
en_US.utf8
i emulator terminalaen_US.ISO-8859-1
(akalatin1
), to zobaczysz dziwny tekst w twoim terminalu dla dowolnego programu z wyjściem UTF-8.Teraz nie jestem w stanie ustawić kodowania przy logowaniu, jak widziałem, sugerowane byłoby możliwe. Może to wynikać z faktu, że mamy tutaj starszą wersję GDM. Dlatego potrzebowałem innego rozwiązania.
W każdym razie GNOME 3 nie wydaje się automatycznie pobierać źródła
.bashrc
ani.profile
po zalogowaniu. Ale ma źródło.gnomerc
, w którym można umieścić zmienne środowiskowe, które zostaną wyeksportowane do programów GNOME (o ile mi wiadomo).Oddanie
export LANG="en_US.utf8"
w.gnomerc
ten sposób rozpoczyna się gnome-terminal przy użyciu kodowania UTF-8 domyślnie, kiedy nowa instancja jest uruchamiana. (Zmień ustawienia regionalne zgodnie z potrzebami).Mam nadzieję, że było to przydatne dla kogoś!
źródło
Jak wspomnieli inni użytkownicy, powiedz powłoce, z jakiego kodowania korzystasz
Umieść to w .bashrc, a gnome-terminal powinien go odebrać przy następnym logowaniu.
Ustaw kodowanie gnome-terminal w locie: Pasek menu> Terminal> Ustaw kodowanie znaków
Ustaw trwale domyślne kodowanie: gconf-editor> Aplikacje> gnome-terminal> Profile> Domyślne> kodowanie> utf-8
źródło
if [ -n "$BASH_VERSION" -a -f "$HOME/.bashrc"; then . "$HOME/.bashrc"; fi