Я нахожусь в системе Ubuntu (я думаю). У меня нет root, поэтому я не могу изменить локаль. Я хочу, чтобы мой профиль терминала по умолчанию использовал UTF-8 по умолчанию. Должен быть способ сделать это, либо .gconf/apps/gnome-terminal/
где-то в каталоге, либо в переменной окружения, либо во что-то еще. Тем не менее, я не могу найти это.
Изменить с более подробной информацией:
В терминале у меня есть:
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
Когда я пытаюсь добавить документ UTF в этот новый терминал, я получаю:
\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
\noise:bgspeech \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
Который появляется на моем экране в виде точек. (в итоге были вырезаны и вставлены. Я оставил там "\ noise: bgspeech", чтобы вы могли видеть, что ascii правильно вырезал и вставил)
~/.profile
- не~/.bashrc
, и не из чего~/.bash_profile
угодно .Вы можете установить локаль для
gnome-terminal
следующей команды гдеDefault
имя профиля.источник
LANG=en_US.UTF-8
в.bashrc
и перезагрузкиУ меня была похожая проблема, и когда установка
LANG
в.bash_profile
не сработала, я обнаружил, что в Gnome локаль по умолчанию может быть установлена в начале сеанса с экрана входа в GDM. Это можно сделать без root-доступа.источник
Я только что проверил
menu->terminal->set character encoding
это UTF-8Терминал и bash - это не одно и то же.
Я бы начал с этого
cat utf-8-file
(cat и bash передадут этот файл без изменений в терминал, (на самом деле в stty, stty преобразует перевод новой строки в возврат каретки, перевод новой строки и т. Д.)), Если при этом файл будет отображаться правильно, то gnome-терминал настроен. (Это все, что я когда-либо делал, так как я использую utf-8 на английском языке; он уже был установлен в Ubuntu 10.10 и Debian 6 для меня). Тогда просто настроить bash и т. Д.Перечитывание ~ / .bashrc
Если вы редактируете,
~/.bashrc
вы должны перечитать его. ~/.bashrc
(или запустить новую оболочку) (не забывайте точку)источник
У меня была проблема, только что исправленная, которая может быть актуальна для новичков с более новыми версиями GNOME (и gnome-терминал):
Для любой кодировки текста, которую вы хотите использовать, оболочка (например, bash) и эмулятор терминала (например, gnome-терминал) должны использовать одну и ту же кодировку. Так, например, если оболочка использует,
en_US.utf8
а эмулятор терминала используетen_US.ISO-8859-1
(akalatin1
), то вы увидите странный текст в вашем терминале для любой программы с выводом UTF-8.Теперь я не могу установить кодировку при входе в систему, как я видел, было бы возможно. Это может быть связано с тем, что у нас здесь работает более старая версия GDM. Вот почему мне нужно другое решение.
В любом случае, GNOME 3, похоже, не получает автоматически
.bashrc
ни.profile
при входе в систему Но это источник.gnomerc
, в который вы можете поместить переменные окружения, которые будут экспортированы в программы GNOME (насколько я могу судить).Ввод
export LANG="en_US.utf8"
в.gnomerc
таким образом , начинает гном-терминал , использующий кодировку UTF-8 по умолчанию, когда запускается новый экземпляр. (Измените ваш язык в соответствии с вашими потребностями.)Надеюсь, это было полезно для кого-то!
источник
Как уже упоминали другие пользователи, сообщите оболочке, какую кодировку вы используете
Поместите это в .bashrc, и gnome-терминал должен поднять его при следующем входе в систему.
Установите кодировку для gnome-терминала на лету: Menubar> Terminal> Установить кодировку символов
Установить постоянную кодировку по умолчанию: gconf-editor> Приложения> gnome-терминал> Профили> По умолчанию> кодировка> utf-8
источник
if [ -n "$BASH_VERSION" -a -f "$HOME/.bashrc"; then . "$HOME/.bashrc"; fi