쉘 명령 `tmux`에서 `/dev/tty를 사용할 수 없습니다` 오류가 발생합니다.

쉘 명령 `tmux`에서 `/dev/tty를 사용할 수 없습니다` 오류가 발생합니다.

오늘 방금 터미네이터에서 터밋으로 전환했습니다. 또한 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

터미네이터 문제는 신경 쓰지 않습니다. Fish에서 열 때 tmux가 bash 쉘을 여는 것은 사소한 문제입니다. 그들이 이것을 지적할 경우에 대비해 언급하겠습니다.

tmux를 호출하려고 할 때 흰개미가 터미널 열기 실패 오류를 발생시키는 이유가 걱정됩니다. 이 문제를 해결하는 방법이나 왜 이런 일이 발생하는지 아시나요?

우분투 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 )

답변2

[주제에서 벗어난 답변일 수도 있지만, 구글에서 "tmux /dev/tty 오류"를 검색했을 때 이 게시물을 가장 먼저 클릭했습니다. ]

SSH를 통해 액세스하는 데 비슷한 문제가 있었고 "명백한" 문제를 발견했습니다.해결책==> 도착재시작/dev/ttySSH 연결 :) 처음 오류가 발생한 방법은 다음과 같습니다 .

  • SSH 액세스 우분투 시스템,
  • Win-10 시스템에 Windows WSL로 설치됨
  • 다른 Windows 10 시스템의 다른 WSL 시스템에 의해 ConEmu를 통해 초기화된 SSH 세션

~/.tmux.conf방금 SSH가 작동하고 이전 설정을 복사 하고 설치하는 데 몇 분 정도 걸렸습니다 fish + omf.


새로운 SSH 세션을 초기화하면 모든 문제가 해결되었습니다.

동일한 SSH 세션에서 문제가 발생했습니다. ==> 다음 오류 메시지가 표시되었습니다.

open terminal failed: can't use /dev/tty

그러나 특정 설정을 변경하지 않고 ConEmu에서 새 "탭"을 시작하고 동일한 대상 시스템에 대한 다른 SSH 세션을 초기화하면 모든 문제가 해결되었습니다. 더 이상 오류가 없습니다 /dev/tty.

답변3

omf Fish를 설치하기 전에 tmux를 제거하세요. omf Fish 설치가 완료되면. tmux를 다시 설치하세요. 이것은 나에게 효과적입니다!

답변4

termite그 일을 어떻게 극복하게 되었는지 잘 모르겠습니다 gnome-terminal. "선택 모드"가 있지만 그 안에서 실행 중인 경우 termite이미 유사한 선택 모드를 사용할 수 있습니다. Tmux 내에서 다른 셸을 시작하려면 Tmux 구성 옵션을 참조하세요.tmuxtermitetmuxbashdefault-shell

검색결과 1위는멀티플렉스 흰개미함께 일하면서 겪는 문제에 관한 것입니다.

termite여기서 실제 해결책은 방정식에서 이를 제거 하는 것 같습니다 .

관련 정보