Как заставить вход в систему окружить использование xterm utf-8?

Стандартный метод для восстановления iptables правила о начальной загрузке для находящихся в Debian систем используют пред правило в /etc/network/interfaces.

Сначала необходимо сохранить текущие правила в файл:

iptables-save > /etc/iptables.rules

В блоке для соответствующего интерфейса в /etc/network/interfaces добавьте:

pre-up iptables-restore < /etc/iptables.rules

Другие методы, такие как загрузка через администратора сети могут быть найдены на человечности Wiki.

6
22.02.2014, 20:24
3 ответа

В то время, когда процесс sshd на удаленном компьютере разветвляется для запуска / usr / bin / xterm, установлено очень мало переменных среды. Фактически переменная LANG не установлена. Следовательно, процесс xterm не знает, что он должен отображать символы в UTF-8. Он возвращается к значениям по умолчанию xterms. Что бы это ни было.

Однако подоболочка, работающая внутри xterm, запускает все сценарии установки и тому подобное. Включая установку переменной среды LANG.

Необходимо понимать разницу между удаленным процессом xterm и процессом оболочки, выполняющимся внутри xterm.

Решение состоит в том, чтобы запустить удаленный процесс xterm следующим образом:

/usr/bin/env LANG=en_US.UTF-8 /usr/bin/xterm

env (1) - это утилита для запуска программы в измененной среде.

Настройка LANG заставит удаленный xterm правильно отображать символы UTF-8.

Эскил ... : -)

Ps: Читая страницу руководства xterm, я также нашел более простой способ добиться этого:

xterm -en en_US.UTF-8

PPs : Я не думаю, что установка ресурсов в ~ / .Xresources вступит в силу, если вы не объедините их с xrdb. Процесс xterm на компьютере Linux будет запрашивать X-сервер, работающий на вашем компьютере с Windows. В то время, когда запускается xterm, очень маловероятно, что на вашем сервере X-Win32 установлены ресурсы xterm *. Но вы можете настроить ресурсы в X-Win32, если он это поддерживает.

8
27.01.2020, 20:24

Я думаю, вы не говорите xterm использовать шрифт Юникода. Я вижу, что вы используете какой-то xterm-компилированный для-Windows или что-то в этом роде, но под Arch (и другими дистрибутивами) при запуске real xterm, я запускаю его так:

Другой эмулятор терминала Windows, PuTTY, кажется, довольно неплохо показывает UTF-8. Если вам это разрешено, вы должны поставить PuTTY, настроить его на использование набора символов UTF-8 и подключиться к серверу Red Hat. Если PuTTY корректно отображает многобайтовые символы UTF-8, то вы знаете, что проблема не на стороне сервера, а в терминальном эмуляторе.

.

2
27.01.2020, 20:24

Вопрос и последующие комментарии указывают на некоторую путаницу. Согласно статье базы знаний StarNet Где мой эмулятор терминала?

X-Win32 - это X-сервер, основной целью которого является отображение удаленных графических приложений. Большинство современных систем Unix / Linux имеют эмулятор терминала на основе X, включенный в библиотеки X. Таким образом, X-Win32 не включает его по умолчанию.

В комментарии, добавленном к вопросу @ bruce-ediger, говорится, что

я не думаю, что какой-либо процесс xterm когда-либо запускается на сервере RHEL. Когда я набираю xterm в оболочке RHEL, все, что он делает, - это отправляет сообщение на сервер X windows на ПК с просьбой создать еще один процесс / окно xterm. X-Win32 от StarNet Comm. Corp. превращает мой компьютер в X-терминал, и оба экземпляра xterm запускаются на нем, используя протокол X.11 для связи с экземплярами ssh на RHEL6. По крайней мере, я считаю, что X11 работает именно так.

Но это не так. Процесс xterm, запущенный на сервере RHEL, выполняется на этого сервера. Он взаимодействует с сервером StarNet X (X-Win32), но процесс xterm остается там, где он был запущен.

Самый простой способ запустить xterm с использованием UTF-8 - использовать сценарий uxterm (который является частью того же пакета, который включает xterm и его файлы ресурсов). Согласно часто задаваемым вопросам xterm , описывающим uxterm :

XTerm не устанавливает вашу локаль автоматически. Можно сказать, что нужно использовать ваши настройки локали. Это сценарий оболочки, который устанавливает ресурсы xterm для использования кодировки UTF-8 и шрифтов UTF-8.Есть похожий сценарий lxterm , но он полагается на непереносимые приложения, в отличие от uxterm .

Как отмечено в других комментариях, переменные среды при входе в систему могут не содержать достаточно информации для автоматического запуска xterm с кодировкой UTF-8 (и шрифтов). Это делается скриптом uxterm .

0
20.08.2021, 12:56

Теги

Похожие вопросы