bashrcでtmuxを起動すると、ALT + LEFT / ALT-RIGHTにttyを切り替えることができるのはなぜですか?

bashrcでtmuxを起動すると、ALT + LEFT / ALT-RIGHTにttyを切り替えることができるのはなぜですか?

Ubuntu 17.04を実行しています。これはログイン後にX内で発生します。 Ubuntu Gnomeのデフォルトインストールを実行しています。https://ubuntugnome.org/

内部に次のコードがあります~/.bashrc

[[ -z "$TMUX" ]] && exec tmux # Launch tmux in new shells

再起動してbashrcでこのログインを使用すると、ALT + LEFTとALT + RIGHTがそれぞれ前と次のttyに切り替わります。

その行を削除すると、ALT + LEFTとALT + RIGHTがブラウザから前後に移動する一般的な動作に戻ります。

tmuxを起動するのは間違っていますか?

答え1

bashrcにtmuxの内容を追加せずに、GNOME ShellとX(Waylandなし)を使用してUbuntu 18.04を実行していますが、同じ問題が発生します。原因を正確に知ることはできませんが、ラップトップを閉じて開くと、システムがスリープモードに入ると何か奇妙なことが起こるようです。再起動すると、問題はもう存在しませんでした。同じ問題が発生した場合は、再起動後に問題がもう存在しないことを願っています。

答え2

正しい。このbashrc設定は、現在使用されている他のソフトウェアと互換性がありません。以下を考慮してください。

  1. LinuxコンソールはデフォルトでALT + LEFT / ALT_RIGHTを実装します。あなたはできますいつもテキストコンソールを使用してログインすると、この動作を確認できます。 (例えばCTRL+ALT+F6以降)
  2. 別名グラフィックシステム。 Xサーバーは現在のLinuxコンソール(たとえば)のキーボードモードを「raw」に切り替えて/dev/tty7この動作を無効にします。

    たとえば、参照してください。生のキーボードモードとは何ですか?

  3. 伝統的に、Xは常にユーザーシェル内で始まりました。これらの伝統は、シェル設定ファイル(.bashrcテキストコンソールやSSHなど)ログインでPATH(コマンドを検索するディレクトリのリスト)などの環境変数を設定するために[乱用]されています。

    たとえば、参照してください。~/.bash_profileなしで環境変数を設定した状態はどうですか?

  4. より広く言えば、Linuxコンソールを使用して内部的に何かを実行している場合、そのコンテンツはtmuxLinuxコンソールと直接通信するのではなく(医師の端末を介して)通信します。tmux全然知らない正確にあなたの場合、何が起こっているのか、Xが内部で実行されている可能性があるように聞こえるので、生モードに切り替える現在のtmuxコンソールが見つからずに進みます。

関連情報