接続に使用された端末に関係なく、改行文字とキャリッジ戻り文字をどのように再マップしますか?

接続に使用された端末に関係なく、改行文字とキャリッジ戻り文字をどのように再マップしますか?

私のすべての設定は私のgithubアカウント(https://github.com/mnebuerquo/dotfiles)これでリポジトリを複製し、インストールスクリプトを実行することができ、家はすべてのツールを使用するように設定されます。自宅で私が設定したサーバーにdotfilesリポジトリをインストールするので、便利で通常のvimとtmuxコントロールに戻す必要はありません。

私はNexus 6でJuiceSSHを使い始めましたが、電話で私のtmuxセッションに接続できるようにしたいです。

tmuxを使用すると問題が発生します。 JuiceSSHの端末動作は、例えばUbuntuのGnome端末とは異なります。 Juiceはctrl + jを送信し、他の用語はctrl + mを送信するようです。

これまではtmuxを除いて問題にはなりませんでした。私はvim + tmuxナビゲーター(https://github.com/christoomey/vim-tmux-navigator)vimとtmuxのウィンドウ間を移動するには、ctrl + h、ctrl + j、ctrl + k、ctrl + lをバインドします。携帯電話のキーボードのEnterキーを押すと、tmux(Cj)の次のサブウィンドウに移動します。どのデバイスでもCtrl + Mを押すと、あなたが探しているキャリッジリターンが表示されます。 Cjがバインド解除された独自のtmux.confを使用していない場合、EnterキーはJuiceSSHを使用して自分の電話で動作します。

私が望むのは、.bashrcでターミナル構成を変更するか、それを変更して、ターミナルがEnterキーに対して何を送信してもtmuxと連携させることです。

答え1

電話がcjをリリースしている場合はいいえ、唯一の解決策はtmux-navigatorでバインディングを変更することです。私の考えではSSHだと思います。はい純粋にバイトベースです。 (ctrl + c / interruptなどのUnix信号を送信することもできますが、それはすべてです)

RFC 4254 - Secure Shell (SSH) 接続プロトコル

答え2

私の考えでは、あなたが望むもの:

stty -icrnl

...これはちょっと変なようですが。私が理解しているように、Appleシステムは\rデフォルトでeturn行終端を使用しますが、これは私のすべてのLinuxシステムのデフォルトです。stty saneターミナルは正反対のタスクを実行して翻訳します。入力する結婚アル字型返品Nよくイネス。 AndroidデバイスとLinuxシステムはシステムカーネルを共有します。これが端末を処理することです。ライン規律このstty設定は影響を与えます。ただし、\rreturnを押したときにreturnを送信するように\r停止するように指示できます。

答え3

答えてくれてありがとう!

このように質問をしても問題は解決されたようです。 JuiceSSHはEnterキーの問題を解決するアップデートをリリースしました。

https://juicessh.com/changelog

7月25日のJuiceSSHアップデート「最新バージョンのGoogleキーボードを使用してNanoでEnterキーを変更する」が私の問題の解決策であるようです。今朝質問をした後、今日の午後に答えを読む前に更新について知りました。

@mikeserv、あなたは正しいです。これはちょっと変だと思います。奇妙な方法でキーをバインドしてモバイルアプリのバグを修正しようとしています。しかし、今電話は正しい文字を送信するので、もはや必要ありません。

関連情報