rxvt не поддерживает юникод, поэтому вы не можете заставить его работать правильно, если вы входите в систему на машинах, которые используют UTF-8 для кодирования. Вы можете использовать rxvt для iso-8859-1 / 15, но большинство машин сейчас имеют UTF-8.
Unicode заменяет rxvt в Cygwin на urxvt, имя пакета под Cygwin - на rxvt-unicode-X. У urxvt также есть и другие полезные функции, такие как множество загружаемых плагинов, в том числе один, который дает вам несколько вкладок на окно, и архитектура клиент / сервер, которая позволяет использовать его намного меньше ресурсов, если у вас много окон (urxvtc
/ urxvtd
).
Возможно, вам также понадобится убедиться, что переменные readline указывают, что ваша оболочка должна проходить через 8-битные символы, т.е. добавьте это к вашим $HOME/.bashrc
или $HOME/.profile
:
set convert-meta off
set output-meta on
set input-meta on
Вам нужно будет установить правильные ресурсы в $HOME/.Xdefaults
: в частности, вам понадобится шрифт, содержащий символы, которые вы хотите. Имя группы ресурсов для urxvt: URxvt
. Обратите внимание на заглавные буквы, это важно!
URxvt.font: xft:Lucida Console:size=8:style=normal:weight=50:antialias=true:hinting=true:minspace=true
URxvt.boldFont: xft:Lucida Console:size=8:style=bold:weight=100:antialias=true:hinting=true:minspace=true
Я также рекомендую установить:
URxvt*termName: xterm
Этот ресурс определяет значение переменной окружения $TERM
. Если он не установлен правильно, правильный файл termcap не может быть найден, в результате чего такие программы, как less
, отправляют предупреждения в стиле: WARNING: terminal is not fully functional
. К сожалению, термин по умолчанию rxvt-unicode
не известен во многих дистрибутивах Linux, поэтому, если вы часто используете ssh для удаленных компьютеров, вы столкнетесь с проблемой. Решение состоит в том, чтобы либо установить termName
на что-то более распространенное (например, xterm
), либо загрузить файл termcap для rxvt-unicode на все серверы, на которых вы входите.