SSH искажение символов в энергии/нано на удаленном сервере

Бессмысленные записи в журнале работы. т.е.:

Комната $ *

Большой, Вы удалили что-то, где-нибудь, как некоторый пользователь, в некоторой системе. У меня есть то же предупреждение, и я хотел бы знать, как Вы зафиксировали его в прошлый раз.

Вот подсказка, которая решает большинство тех проблем автоматически.

PS1 = "\h \d \t \w\n\u>"

myserver понедельник 26 апреля 16:20:44/var/log
корень>

Имя хоста изменяется :-) Теперь я знаю все кроме того, что Вы удалили, но по крайней мере я знаю, где посмотреть.

18
задан 13 April 2017 в 15:14
7 ответов

[ Обновление: Начиная с Mac OS X Mountain Lion 10.8, Терминал поддерживает escape-последовательность Backtab, устраняя эту проблему.]

Версия (ы?) nano на этих серверах иногда отправляет последовательность Backtab (ESC [Z) при перемещении курсора влево на один символ, но Терминал не поддерживает эту последовательность, поэтому nano думает, что курсор переместился, когда это не так, и его представление о текущем позиция курсора не синхронизирована с терминалом.

По причинам, которые я не могу понять, nano отправляет Backtab при движении влево, а курсор находится на один символ справа от позиции табуляции. Точно так же IIRC отправляет табуляцию (Control-I) при движении вправо, а курсор находится на один символ слева от позиции табуляции. Я не Я не знаю, почему он делает это вокруг позиций табуляции вместо того, чтобы всегда перемещаться влево / вправо с использованием одинаковых последовательностей символов. Версия nano, поставляемая с Mac OS X Lion 10.7, этого не делает.

Nano делает это только тогда, когда terminfo сообщает, что поддерживается возможность cbt . По умолчанию terminfo для Терминала - xterm-256color , который объявляет эту возможность и сопоставляет ее с последовательностью Backtab. Обходной путь - установить для переменной среды TERM значение, которое не объявляет эту возможность. Вы можете сделать это на локальном компьютере перед вызовом ssh или в файле запуска оболочки на удаленном хосте. Установка его на xterm-color подойдет в крайнем случае, хотя это не рекомендуется, поскольку отключает другие важные варианты поведения (например, 256 цветов, BCE, альтернативное сохранение содержимого экрана). (Более сложный подход - настроить файл terminfo xterm-256color (или xterm )) на удаленном хосте для удаления cbt .)

Настройка файла рекомендуется использовать удаленный хост (так или иначе), поэтому настройки не применяются локально или к другим удаленным хостам, но простейший обходной путь - изменить настройку предпочтений терминала, чтобы использовать xterm-color вместо xterm-256color :

Терминал> Настройки> Настройки> [профиль]> Расширенный> Объявить терминал как:

Я рекомендую продублировать существующий профиль настроек, настроить его и использовать только при подключении к этим удаленным хостам.

14
ответ дан 2 December 2019 в 20:24

Если вы получаете «Это новый текст», а набираете «Это строка текста» (я полагаю, ваш отчет верен), значит, у вас нестабильный текст. Ctrl + клавиша, что бы это ни было на Mac (команда? яблоко?). Поскольку nano использует клавиши control + для «прыжков», а у вас меньше символов, чем набрано, у нас есть: а) исчезающие символы б) управляющие последовательности, появляющиеся из ничего, вывод, что а) становится б) логичным.

Вы также можете есть какая-то неприятная горячая клавиша / макрос / еще какая-то программа. Я подозреваю, что это связано с суперпользователем, а не с ошибкой сервера, но я буду удерживать отметку, возможно, у кого-то есть реалистичный ответ, связанный с SSH.

-1
ответ дан 2 December 2019 в 20:24

У меня была такая же проблема. Я нашел этот поток , который рекомендовал, среди прочего, переменную среды на удаленном сервере:

export TERM=xterm-color

Добавление этого в ~ / .bash_profile решило проблему для меня. Это простое решение имеет то преимущество, что влияет только на конкретного пользователя на определенном хосте.

8
ответ дан 2 December 2019 в 20:24

OSX 10.7.4 с Centos, работающей в качестве гостевой ОС

В терминале OSX предпочтения, настройки, расширенный

Declare terminal as:xterm-color
Strict VT-100 keypad behaviour - TICKED!

Больше никаких проблем :)

1
ответ дан 2 December 2019 в 20:24

Вероятная проблема заключается в том, что да, и ваш локальный компьютер, и ваш сервер НАХОДИТСЯ в системах unix с nano, но эти версии nano могут быть другими.

export TERM=xterm-color
0
ответ дан 2 December 2019 в 20:24

У меня была такая же проблема в MobaXTerm программа. Причиной проблемы был ключ -K, который я использовал для включения цифровой клавиатуры в Nano при использовании PuTTY.

2
ответ дан 2 December 2019 в 20:24

Для пользователей MobaXterm. Если вы не используете -K и проблема не исчезла. Убедитесь, что следующие строки закомментированы в вашем файле / etc / nanorc.

# set rebinddelete

# set rebindkeypad

1
ответ дан 2 December 2019 в 20:24

Теги

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