Linux Mint 18.3 Sylvia
내 사용자(on )가 그룹의 일부이기 때문에 이상한 문제가 있습니다. docker
터미널을 실행하여 확인했습니다.
$ groups
me adm cdrom sudo dip plugdev lpadmin sambashare docker
이제 tmux를 시작하고 동일한 명령을 실행하면 내 docker
멤버십이 갑자기 사라집니다.
$ tmux
$ groups
me adm cdrom sudo dip plugdev lpadmin sambashare
이상한 점은 docker
내 사용자를 tmux의 그룹에 강제로 추가하려고 하면 내가 이미 그룹에 속해 있다는 메시지가 표시된다는 것입니다!
$ sudo adduser me docker
The user `me' is already a member of `docker'.
혼란스럽습니다. tmux를 추가하면 왜 달라지나요? 참고로 저는 fish
쉘을 사용하고 있는데 이것이 제가 가지고 있는 것입니다 .tmux.conf
:
$ cat ~/config/.tmux.conf
new-session
set -g default-terminal "screen-256color"
set -g history-limit 10000
setw -g mode-keys vi
set-option -g default-shell /usr/bin/fish
set-option -g default-command /usr/bin/fish
편집하다
컴퓨터를 다시 시작했을 때 모든 것이 정상으로 돌아왔습니다( tmux
"정상" 셸에는 모두 내 docker
멤버십이 표시되었습니다). 아직도 궁금합니다. 왜 이런 일이 발생할까요?
답변1
가장 그럴듯한 설명은 tmux
사용자를 그룹에 추가하기 docker
전에 세션이 시작 되었다는 것입니다. 활성 세션을 종료하지 않고도 로그아웃할 수 있지만 tmux
세션은 종료되지 않습니다.아니요나중에 다시 로그인 후 그룹에 재접속하시면 그룹 멤버십 변경의 영향을 받게 됩니다.
질문 편집에서 새 tmux
세션을 시작할 때(다시 시작한 후) 사용자가 docker
그룹의 구성원으로 표시된다고 말씀하셨습니다. 이는 이제 tmux
그룹 멤버십이 변경된 환경에서 세션을 시작하기 때문에 예상되는 현상입니다.
답변2
방금 같은 문제가 발생했습니다. 기존 tmux 세션을 모두 닫아야 합니다. 이후에는 모든 새로운 tmux 세션이 올바른 그룹을 상속합니다.
답변3
tmux 세션 파일을 삭제할 수 있습니다.
rm /tmp/tmux-1000 # example for uid 1000
그런 다음 새 세션을 시작하고 자신이 그룹의 구성원인지 확인하세요.
답변4
- tmux-server를 종료하고 새 세션을 시작하면 문제가 해결되었습니다.
tmux kill-server
tmux new -s ...
- 또한 사용자/그룹을 수정한 후 현재 터미널 세션을 종료하고 변경 사항을 적용하려면 새 터미널을 시작하십시오.