Горячие клавиши (включая клавишу CTRL) возвращают каре (^) плюс капитализированный вводимый символ

Я sshлуг с моего Mac на машину Ubuntu, но по некоторым причинам привязки клавиш не работают правильно. Например, когда я пытаюсь работать tmux ярлык CTRL+b это возвращается ^B.

Самые близкие вопросы, которые я мог найти вокруг, являются этим где различные комбинации stty команда была предложена. Я судил их всех ни кроме одного, решил проблему. Я проверил мой .bashrc файл, но я не могу найти ничего искажающего клавишу CTRL!

Я ценил бы, если Вы могли бы помочь мне знать то, что является проблемой и как я могу решить ее.

P.S.1. Меня попросили работать locale и locale -a команды и добавляют результаты здесь:

$ locale
LANG=en_US.UTF-8
LANGUAGE= LC_CTYPE="en_US.utf8" 
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8" 
LC_COLLATE="en_US.utf8" 
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8" 
LC_PAPER="en_US.utf8" 
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8" 
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8" 
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=en_US.utf8

$ locale -a 
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

P.S.2 я отправил мой .bashrc и stty -a здесь.

0
задан 9 December 2018 в 17:21

1 ответ

Необходимо удостовериться, чтобы и машина Ubuntu и Mac имели надлежащие настройки локали.

Для Ubuntu можно сделать это путем выполнения этих команд:

sudo locale-gen en_US.UTF-8
sudo update-locale

После перепроверки Ubuntu давайте сфокусируемся на Mac. Наиболее вероятно, что Ваш Mac вызывает проблему, все же. Это будет зависеть от эмулятора терминала, который Вы используете. Если Вы входите в Терминальные настройки приложения, уверены, что Вы Установили переменные среды локали на запуске, включенном, и набор к Unicode (UTF-8).

После того как Ваши локали соответствуют, обе системы должны так же ответить на те же нажатия клавиш.

Можно проверить текущие настройки путем издания locale команда на каждой из машин.

С другой стороны, locale может также быть скорректирован путем установки/изменения этих переменных окружения. Например, они могут быть экспортированы в .bashrc, или некоторый другой файл, дополнительно полученный, хотя некоторые могут утверждать, что они принадлежат .profile:

export LANG="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_PAPER="en_US.UTF-8"
export LC_NAME="en_US.UTF-8"
export LC_ADDRESS="en_US.UTF-8"
export LC_TELEPHONE="en_US.UTF-8"
export LC_MEASUREMENT="en_US.UTF-8"
export LC_IDENTIFICATION="en_US.UTF-8"
export LC_ALL=

В то время как этот пример 'типичен', было предложено установить LC_ALL переменная к en_US.UTF-8 также и, как сообщают, работает и на Терминал и на iTerm2:

export LC_ALL="en_US.UTF-8"
0
ответ дан 27 October 2019 в 00:08

Другие вопросы по тегам:

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