Как переназначить новую строку и возврат каретки независимо от терминала, используемого для подключения?

Вся моя конфигурация хранится в моей учетной записи github ( https://github.com/mnebuerquo/dotfiles ), поэтому я могу просто клонировать свое репо и запускать сценарий установки, а мой дом настроен на использование всех моих инструментов. Я устанавливаю реплики dotfiles в свой дом на любом сервере, который я настроил, поэтому он удобен, и мне не нужно переключаться обратно на элементы управления villa и tmux.

Я только начал использовать JuiceSSH с моего Nexus 6, и я хочу, чтобы иметь возможность подключаться к моим сеансам tmux с моего телефона.

Проблема возникает, когда я использую tmux. Поведение терминала на JuiceSSH отличается от поведения терминала Gnome Terminal на Ubuntu. Кажется, что сок отправляет ctrl + j, а другие условия отправляют ctrl + m.

Пока это не проблема, кроме tmux. Я использую vim + tmux navigator ( https://github.com/christoomey/vim-tmux-navigator ), чтобы связать ctrl + h, ctrl + j, ctrl + k, ctrl + l, чтобы перемещаться между панелями в vim и tmux. Когда я нажимаю клавишу ввода на клавиатуре телефона, она переходит к следующей нижней панели в tmux (Cj). Когда я делаю ctrl + m с любого устройства, я получаю возврат карриэля, который я ищу. Когда я не использую свой собственный tmux.conf, где Cj не связан, тогда клавиша ввода работает на моем телефоне с помощью JuiceSSH.

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

3 Solutions collect form web for “Как переназначить новую строку и возврат каретки независимо от терминала, используемого для подключения?”

Если телефон буквально испускает cj, то нет, единственным решением является изменение привязки в tmux-навигаторе. И я думаю, что ssh чисто байт. (Вы также можете отправлять сигналы unix, например, ctrl + c / interrupt, но это все). Он может работать, потому что ваш телефон сообщает ssh-серверу, что он использует cj как новую строку при открытии сеанса.

RFC 4254 – Протокол подключения Secure Shell (SSH)

Я думаю, вы хотите:

stty -icrnl 

… хотя это кажется мне немного странным. Я понимаю, что в системах Apple по умолчанию заканчивается окончание строки \r eturn, но во всех моих Linux-системах по умолчанию stty sane terminal будет делать ровно противоположное и переводить i nput c arriage r eturns n ew l ines. Ваше Android-устройство и мои Linux-системы совместно используют системное ядро ​​- это то, что обрабатывает терминальную линию-дисциплину, на которую влияют параметры stty . Тем не менее, чтобы отправить через eurn, когда вы нажимаете \r eturn, вы можете просто сказать, чтобы остановить это.

Спасибо за ваши ответы, ребята!

Похоже, что моя проблема была решена, даже когда я задавал вопрос. JuiceSSH только что выпустил обновление, в котором исправлена ​​проблема с ключом ввода.

https://juicessh.com/changelog

Обновление 25 июля JuiceSSH «Исправлено ключ ввода в Nano при использовании последней версии Google Keyboard», похоже, является решением моей проблемы. Я нашел обновление после того, как задал этот вопрос сегодня утром, но перед чтением ответов сегодня днем.

Итак, @mikeserv, вы правы, что это кажется немного странным. Я пытался обмануть ошибку в телефонном приложении, привязывая ключи странным образом. Но это уже не нужно, поскольку телефон теперь отправляет правильный символ.

  • Mutt новых уведомлений по электронной почте в окне tmux
  • Цвет печатается справа при написании собственного скрипта в byobu
  • tmux прокрутка мыши без изменения копии / вставки?
  • ESC-q не работает в tmux с zsh
  • tmux при запуске и проблемах с отправкой ssh-agent
  • Tmux ест последовательность контрольных вкладок
  • Сделайте блок tmux до завершения программы
  • Tmux - Получить количество панелей в текущем окне в переменной bash?
  • Строка состояния tmux с пустой строкой сверху?
  • Почему мой вывод не завершается в tmux?
  • Systemd с rtorrent в tmux
  • Шрифт / SSH-взаимодействие?
  • Interesting Posts

    Разделить CSV-файл на более мелкие файлы на основе некоторого условия

    Как обновить размер каталога после удаления файла?

    Как отключить порты удаленно, не закрывая себя?

    Куда делятся локальные электронные письма?

    статус выхода и отсутствие выхода

    Как проверить, является ли файл символической ссылкой на каталог?

    Безопасно ли символически ссылаться на / usr / include / x86_64-linux-gnu / sys из / usr / include / sys?

    есть способ получить URL из текущей вкладки в google-chrome?

    Ошибка при создании виртуальной среды с помощью venv

    Как вы скрываете пароль при вызове во время команды su?

    объединить содержимое двух файлов с суммированием содержимого столбца 2?

    Как отредактировать раскладку Cinnamon без использования настроек Cinnamon?

    Команда не найдена при запуске функции в bash

    Имя> org.freedesktop.PolicyKit1 не было предоставлено никакими файлами .service

    Редактирование вывода команды как новой команды

    Linux и Unix - лучшая ОС в мире.