Tmux 새 세션 반환 :“소켓을 만들 수 없습니다”


8

내가 죽였다 byobu(살인 -9 byobuSessionId) 실수로 세션을, 지금은 또 다른 시작하려고하면 byobu명령을 "소켓을 만들 수 없습니다"와 함께 실패합니다.

또한 tmux new-session"소켓을 만들 수 없습니다"를 반환합니다.

나는 sudo service screen-cleanup start성공하지 않고 노력했다 !

어떻게 해결할 수 있습니까?

답변:


7

strace -f -e trace = file tmux 명령의 출력을 확인하면 죽은 tmux 프로세스에 의해 문제가 발생할 수 있습니다.

tmux가 만든 소켓 파일을 볼 수 있습니다. 제 경우에는 / tmp // tmux-1001 / default /에 있습니다.

이 파일을 삭제하고 byobu 명령을 다시 실행하면됩니다 .


5

/tmp/tmux*/디렉토리 의 권한을 확인하십시오 . 그들은 당신이 소유하고 다른 사람이 접근 할 수 없어야합니다.

따라서 권한을 다음과 같이 변경하십시오.

chmod 700 -R /tmp/tmux*

소켓 디렉토리는 본인 소유이며 모든 사람이 액세스 할 수 없거나 모든 사용자가 tmux 서버를 사용할 수 있어야합니다. 잠시 동안 tmux가 액세스 모드 확인을 잘못 건너 뛰었습니다. 이것은 2.0으로 수정되었습니다.

시스템이 올바른 소유권으로 / tmp에 디렉토리 작성을 지원하지 않으면 -S를 사용하여 명시 적으로 소켓을 지정해야합니다. 검사는 중요하며 Unix 파일 권한 의미가없는 시스템은 지원하지 않습니다.


0

의 권한으로 /tmp인해이 문제 가 발생할 수 있습니다.
당신의 허가 여부를 확인할 수 /tmpIS 1777이 작업을 수행하지 않을 경우 :

sudo chmod 1777 /tmp

1
/tmp4777이 있어야합니다 (+ t 플래그 필요). 파일이 없으면 모든 사용자가 파일을 삭제하고 아래의 다른 파일 또는 디렉토리 이름을 바꿀 수 있습니다 /tmp. 또한 마술사와 같은 답변입니다 ( "X를, Y를 얻습니다"-설명은 없습니다).
peterh-복 직원 모니카

@peterh 허락 해 주셔서 감사합니다.
Honghe. 우

0

공유 서버에서 동일한 문제가 발생했는데 홈 디렉토리 외부에서 특별한 권한이 없었습니다. tmux가 소켓을 생성 할 ~ / tmp 폴더에 액세스하려고 시도했습니다. 해당 폴더가 없으므로 오류가 발생했습니다.

내 경우의 해결책은 ~ / tmp 폴더를 만들고 모든 것이 잘 작동하기 시작했습니다.


0

나는 같은 문제가 발생했고 아래는 내 해결책입니다.

  1. 새 폴더를 만듭니다. /tmp/$(id -u)
  2. 소유자 변경 : chown -R $(id -nu):$(id -nu) /tmp/$(id -u)
  3. 권한 변경 : chmod -R 700 /tmp/$(id -u)

효과가있다!




-1

명령 strace -f -e trace=file tmux을 사용하면 tmux가 호출 한 파일을 볼 수 있습니다. / tmp 폴더에 대한 권한으로 인해 문제가 자주 발생합니다. 표준 설치에서 Ubuntu Server 권한은 777로 설정되어 있습니다.

sudo chmod 777 /tmp
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.