O tmux não será executado como usuário não root?

10

Se eu executar o tmux como root, ele será executado normalmente e totalmente funcional. Eu criei alguns usuários e ele não será executado como nenhum dos usuários.

create session failed: : No such file or directory

Eu verifiquei que $ TERM externo é xterm e $ TERM interno é uma tela, pois as perguntas frequentes sugerem a causa mais comum de problemas.

Eu usei o tmux regularmente em muitos sistemas diferentes, mas neste VPS não consigo descobrir o que se passa ... Uma ajudinha, por favor?

EDIT: Graças aos conselhos úteis de Jay sobre strace, eu encontrei um problema de permissões com / dev / pty *. Receio que este não seja um post útil para muitos outros, pois parece um problema pontual.

strace -f -e trace=file tmux

32000 open("/dev/ptmx", O_RDWR) = -1 EACCES (Permission denied) 32000 open("/dev/ptyp0", O_RDWR) = -1 EACCES (Permission denied) ..... 32000 open("/dev/ptypf", O_RDWR) = -1 EACCES (Permission denied) 32000 open("/dev/ptyq0", O_RDWR) = -1 ENOENT (No such file or directory)

tolo trapalhão
fonte

Respostas:

10

Uma maneira mais geral de resolver um problema dessa natureza:

strace -f -e trace=file tmux ..restofyourcommand...

Procure por permission denied/ no such file or directoryerros antes de sair - pode encontrar uma razão geral por que você está recebendo esse erro (ou seja, ver qual diretório ele estava tentando criar, em seguida, cria-o manualmente e observa o erro; pode ser que ele esteja tentando fazer /home/x/some/dirsem /home/x/someexistir ou algo assim).

Jay
fonte
Obrigado pela sugestão. Receio não ter ido mais longe. Tentei mexer nas permissões em / var / run / tmux, mas não cheguei a lugar algum. O que significa getcwd?
trapalhão idiota
Deseja experimentar strace -e trace=alle colar isso? Não sei o que recomendar além disso. getcwdsignifica apenas obter o diretório de trabalho atual.
Jay
Eu tentei entender, mas estou perdido. Sua contribuição contínua será apreciada. Nova saída strace / link pastebin editada em.
bumbling fool
1
Eu esqueci completamente de explicar o fato de que tmuxisso desencadeará outros processos. Você pode tentar strace -f -e trace=file tmux ...? Você pode adivinhar o que eu vou pedir para o próximo Se isso não ajuda :-)
Jay
0

Isso aconteceu comigo porque meu processo tmux daemon estava atingindo seu limite máximo de processos.

Depois de aumentar seu limite máximo de processo (consulte Definir limite máximo de arquivo em um processo em execução ), pude iniciar minha nova sessão comtmux new-session ...

RobM
fonte