Isso funciona para mim também no Win7 de 32 bits. Mas eu preciso apagar o diretório toda vez antes de iniciar o tmux, então eu acabei de adicionar um alias para .bashrc.
alias tmux='rm -rf /tmp/tmux* && tmux'
Assim como o título diz, sempre que eu tento iniciar o tmux no Cygwin 64-bit (Win7), com algum ou nenhum argumento além de --help
, recebo o seguinte erro:
$ tmux
failed to connect to server: No error
Não consigo reproduzir isso no Linux. Qualquer ajuda seria muito apreciada.
Obrigado!
Isso funciona para mim também no Win7 de 32 bits. Mas eu preciso apagar o diretório toda vez antes de iniciar o tmux, então eu acabei de adicionar um alias para .bashrc.
alias tmux='rm -rf /tmp/tmux* && tmux'
O método de alias sugerido pelo bender não funciona realmente se você está tentando reconectar, porque ele mata a (s) sessão (ões) existente (s). O seguinte parece ter resolvido o problema para mim:
Salve o script Perl no link para "~ / bin / tmux" ou em outro lugar no caminho, à frente de / usr / bin.
Conceda permissões de execução: "chmod + x ~ / bin / tmux".
Saia e reabra o Cygwin.
Execute comandos do tmux normalmente.
Isso funciona porque detecta o estado em que o tmux foi fechado completamente, mas não removeu seu diretório temporário, que ele resolve removendo o diretório temporário (como sugerido pelo bender), mas depois executa o comando desejado.
experimente o comando strace -f -o strace.out tmux new
e, em seguida, verifique o arquivo strace.out por possíveis razões. Eu tive o mesmo erro e excluí a pasta / tmp / tmux-XXXXX que tinha permissões incorretas.
Muitas das soluções para apenas remover os arquivos tmux em / tmp irão quebrar a reconexão em uma sessão separada se o tmux estiver realmente funcionando.
Esta solução é semelhante à solução perl, pois possui alguns protetores antes de remover o material em / tmp, mas é implementada no bash.
Adicione isto ao seu ~ / .bashrc
tmux() {
local tmux_cmd
if ! tmux_cmd=$(which tmux); then
echo "error: tmux not installed" >&2
return 1
fi
if ! $tmux_cmd ls > /dev/null 2>&1; then
# tmux ls returned error, so lets try cleaning up /tmp
/bin/rm -rf /tmp/tmux*
fi
$tmux_cmd "$@"
}
apenas remova a pasta / tmp / tmux- * na inicialização:
cat rm -r / tmp / tmux- * > > ~ / .bashrc