![쉘 명령 `tmux`에서 `/dev/tty를 사용할 수 없습니다` 오류가 발생합니다.](https://linux55.com/image/121558/%EC%89%98%20%EB%AA%85%EB%A0%B9%20%60tmux%60%EC%97%90%EC%84%9C%20%60%2Fdev%2Ftty%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4%60%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%95%A9%EB%8B%88%EB%8B%A4..png)
오늘 방금 터미네이터에서 터밋으로 전환했습니다. 또한 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/tty
SSH 연결 :) 처음 오류가 발생한 방법은 다음과 같습니다 .
- 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 구성 옵션을 참조하세요.tmux
termite
tmux
bash
default-shell
검색결과 1위는멀티플렉스 흰개미함께 일하면서 겪는 문제에 관한 것입니다.
termite
여기서 실제 해결책은 방정식에서 이를 제거 하는 것 같습니다 .