Nova sessão do Tmux retorna: "não é possível criar soquete"

8

Eu matei uma byobusessão acidentalmente (kill -9 byobuSessionId) e agora, quando tento iniciar, outro byobucomando falha com "não é possível criar soquete".

Também tmux new-sessionretorna: "não é possível criar soquete"

Eu tentei sudo service screen-cleanup startsem sucesso!

Alguma idéia de como posso resolver isso?

luilver
fonte

Respostas:

7

O problema ocorre talvez pelo processo tmux morto, se você verificar a saída do comando strace -f -e trace = file tmux .

Você vê o arquivo de soquete criado pelo tmux, no meu caso está localizado em / tmp // tmux-1001 / default /

Você simplesmente exclui este arquivo e executa novamente o comando byobu .

Al3tz Morales
fonte
5

Verifique as permissões dos /tmp/tmux*/diretórios. Eles devem ser de sua propriedade e não acessíveis a mais ninguém.

Então mude a permissão como:

chmod 700 -R /tmp/tmux*

É importante que o diretório do soquete seja de sua propriedade e não esteja acessível a todos, ou qualquer usuário poderá usar seu servidor tmux. Por um tempo, o tmux pulou incorretamente a verificação do modo de acesso, isso foi corrigido no 2.0.

Se o seu sistema não suportar a criação de diretórios em / tmp com a propriedade correta, você precisará usar -S para apontar explicitamente para um soquete. A verificação é importante e não vamos oferecer suporte a sistemas que não possuem semântica de permissão de arquivo Unix.

Shubham Chaudhary
fonte
0

A permissão de /tmpmaio causa esse problema.
Você pode verificar se a permissão de /tmpé 1777, se não o fizer:

sudo chmod 1777 /tmp
Honghe.Wu
fonte
1
/tmpdeve ter 4777 (ele precisa da bandeira + t). Sem ele, todos poderão excluir os arquivos e renomear os arquivos ou diretórios dos outros abaixo /tmp. Além disso, é uma resposta semelhante a um mágico ("faça X, você recebe Y" - mas nenhuma explicação).
peterh - Restabelece Monica
@ Peterh Obrigado por me lembrar da permissão.
Honghe.Wu
0

Eu me deparei com o mesmo problema em um servidor compartilhado, onde eu não tinha permissões especiais fora do meu diretório pessoal. Acontece que o tmux estava tentando acessar a pasta ~ / tmp onde criar seu soquete. Essa pasta não estava presente e, portanto, o erro.

A solução no meu caso foi criar a pasta ~ / tmp e tudo começou a funcionar bem.

vxp
fonte
0

Encontrei o mesmo problema e abaixo está a minha solução:

  1. Criar uma nova pasta: /tmp/$(id -u)
  2. Alterar proprietário: chown -R $(id -nu):$(id -nu) /tmp/$(id -u)
  3. Alterar permissão: chmod -R 700 /tmp/$(id -u)

Funciona!

JsonBruce
fonte
0

Eu tive o mesmo problema, mas é por causa do problema de espaço em disco.

Prasad Bonthu
fonte
0

no mac os cmds fizeram o truque:

sudo rm -r '/tmp/tmux-'$(id -u)
sudo chmod -R 4777 /tmp/
Yordan Georgiev
fonte
-1

Usando o comando, strace -f -e trace=file tmuxvocê pode ver quais arquivos o tmux chamou. O problema é causado por permissões na pasta / tmp. Em uma instalação padrão do Ubuntu Server, as permissões são definidas como 777. Você pode alterar com

sudo chmod 777 /tmp
Maurizio Aru
fonte