今日はターミネーターからシロアリに切り替えました。また、Fishをインストールして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
私はターミネーターの問題には関心がなく、tmuxが魚から開いたときにbashシェルを開くことは二次的な問題です。彼らが問題を指摘するかもしれない場合に備えて、私は彼らを育てます。
Tmuxを呼び出そうとすると、なぜシロアリがオープンターミナル失敗エラーをスローするのか心配です。これを修正する方法や、なぜ発生するのかについてのアイデアはありますか?
Ubuntu 16.04 Fish 2.2
[これはトピックから外れた答えかもしれませんが、この投稿は私が「tmux/dev/ttyerror」をグーグルで検索したときの最初のヒットです。]
SSH経由でアクセスするときに同様の問題が発生し、「簡単な」ソリューション==>から再起動 SSHが見つかりました接続:)これが私が最初に/dev/tty
エラーに到達した方法です:
SSHが機能するようになり、古い設定を~/.tmux.conf
にコピーしてfish + omf
をインストールするのに数分を費やしました。
同じSSHセッション内で、状況が少しずれていました==>次のエラーが表示されました。
open terminal failed: can't use /dev/tty
ただし、特定の設定を変更せずに、ConEmuで新しい「タブ」を起動し、同じ宛先マシンへの別のSSHセッションを初期化することで、すべての問題を解決しました。これ以上の/dev/tty
エラーはありません。
不具合。
( 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 )