GNOME Terminal: кодировка по умолчанию

В GNOME Terminal нет штатных средств, чтобы установить какую-либо кодировку по умолчанию. Можно только поменять текущую кодировку через меню (Терминал → Установить кодировку символов).

Заметим, что при запуске терминала устанавливается кодировка текущей локали. Таким образом, задачу можно решить, поменяв локаль перед запуском терминала.

Допустим, нас интересует кодировка CP866 (IBM866). Нужно, чтобы существовала соответствующая локаль. Система в данном случае — RHEL 5.5. Посмотрим, какие у нас есть локали:

locale -a

Если локали с кодировкой IBM866 нет, создадим ее.

localedef --no-archive -c -i ru_RU -f IBM866 ru_RU.IBM866

Теперь можно запускать терминал, примерно так:

export LANG=ru_RU.IBM866; gnome-terminal --disable-factory

Кстати, можно сразу задать скрипт, который следует выполнить при запуске:

export LANG=ru_RU.IBM866; gnome-terminal --disable-factory --execute /scripts/script.sh

Впрочем, вопросы автоматизации терминала — это уже тема следующей заметки. Здесь же отмечу еще, что на случай, если потребуется использовать особый шрифт или еще какие-нибудь настройки, отличающиеся от стандартных, в GNOME Terminal есть возможность создать несколько профилей (Правка → Профили) и выбирать из них нужный при запуске из скрипта, например:

export LANG=ru_RU.IBM866; gnome-terminal --disable-factory --window-with-profile=MyCustomProfile