今日はターミネーターからターミットに切り替えました。また、フィッシュをインストールしてoh my fish,
すべてを設定するのに数時間を費やしましたが、いくつかのタスクを実行するためにtmuxセッションを開始したときopen terminal failed: can't use /dev/tty
。
Fishをデフォルトのシェルに設定しました。 tmuxはgnome端末とxtermでうまく動作します。しかし、新しいtmuxセッションを開始すると、すべてbashシェルが開きます。ターミネータを開くと、次のエラーで開きます。Unsupported use of '='. To run 'bash' with a modified environment, please use 'env TERM=xterm-256color bash…'
fish: TERM=xterm-256color bash -l
ターミネーターの問題は気にしません。 Fishで開くとtmuxがbashシェルを開くのはマイナーな問題です。彼らがこれを指摘した場合に備えて言及します。
tmuxを呼び出そうとすると、シロアリがターミナルオープンに失敗したエラーを引き起こす理由が心配です。この問題を解決する方法、なぜこれが起こるのかご存知ですか?
Ubuntu 16.04 魚 2.2
ベストアンサー1
間違い。
( exec </dev/tty; TMUX= tmux )
説明する。 tmuxが機能するには、TTYを指すように3つのfdがすべて必要です。
ls -la /proc/$$/fd; ( exec </dev/tty; ls -la /proc/$$/fd; TMUX= tmux )
回復試行に失敗しました。同じttyを指すだけでは十分ではありません。 &0、&1、&2はttyへのポインターを共有する必要があります。
export TTY=$(tty); ls -la /proc/$$/fd; ( exec </dev/tty; ls -la /proc/$$/fd; exec <$TTY; ls -la /proc/$$/fd; TMUX= tmux )
修理する。 &1はまだ&0が以前に指していたのと同じオブジェクトを指しているので、それを使用して復元してください。
( exec </dev/tty; exec <&1; TMUX= tmux )