Вот полурешение, обращаясь к проблеме определения кодировки, когда /apps/gnome-terminal/profiles/Default/encoding равно строке current. Предполагая, что строка current означает, что gnome-terminal должен использовать текущую локаль.
Заманчиво проверить переменную LANG, чтобы определить кодировку, но в соответствии с этим вопросом это не является надежным. Вместо этого следует использовать модуль Perl I18N::Langinfo:
temp=$(gconftool-2 --get /apps/gnome-terminal/profiles/Default/encoding)
if [[ $temp == "current" ]] ; then
perl -MI18N::Langinfo=langinfo,CODESET -E 'say langinfo(CODESET())'
else
echo $temp
fi
Обратите внимание, что этот ответ не затрагивает проблему определения кодировки gnome-terminal, когда пользователь вручную изменяет кодировку из меню gnome-terminal .