Pular para o conteúdo principal

Erro de protocolo no TMUX

Se você utiliza TMUX para poder acessar (e criar) diversos ambientes de terminal no seu linux, você pode ter um problema. Se algumas sessões estiverem rodando no seu computador, enquanto o tmux é atualizado, você pode receber uma mensagem de erro ao tentar reconectar.

Por exemplo, o comando abaixo deveria mostrar todas as sessões ativas, mas retorna uma mensagem de erro. Mesmo se você já souber a número da sessão, tentar conectar diretamente com ela vai gerar o mesmo erro.


 # tmux list-sessions
protocol version mismatch (client 8, server 7)

# tmux attach-session -t 0
protocol version mismatch (client 8, server 7)



Isso basicamente diz a você, que você já tem um servidor tmux (antigo) rodando e o novo tmux não pode se conectar a ele porque eles não se entendem mais. Uma opção é sair de todas as suas sessões tmux existentes e começar uma nova usando a nova versão e tudo ficará bem. Contudo e se você não puder (ou quiser) matar a sua sessão?

Um hack bacana é mostrado a seguir. Você precisa identificar qual o ID da sua sessão. Use o comando pgrep mostrado abaixo. Ele irá fornecer o ID, que o meu caso é 32726.
# pgrep tmux
32726

Agora você deve rodar um comando que é criado dentro de /proc/. Vamos listar o diretório /proc/32726 para ver o que tem lá. Basta dar um ls: 

# ls /proc/32726/
attr             cpuset   limits      net            projid_map  stat
autogroup        cwd      loginuid    ns             root        statm
auxv             environ  map_files   numa_maps      sched       status
cgroup           exe      maps        oom_adj        schedstat   syscall
clear_refs       fd       mem         oom_score      sessionid   task
cmdline          fdinfo   mountinfo   oom_score_adj  setgroups   timers
comm             gid_map  mounts      pagemap        smaps       uid_map
coredump_filter  io       mountstats  personality    stack       wchan
root@arpia:/home/h3dema#


Veja que tem um comando exe neste diretório. É ele que precisamos. Basta dar o comando abaixo e você será conectado de novo na sua sessão, com a versão antiga.

 /proc/32726/exe attach

Agora você pode terminar a sua sessão normalmente.

Comentários

Postagens mais visitadas deste blog

Como colocar o PyCharm no launcher do Ubuntu

Atualizei recentemente meu pycharm para a versão 2018.1. A atualização basicamente consiste em baixar do site da Jetbrains  dedicado ao PyCharm, e depois do download basta descompactar e mover o diretório criado para você você achar mais adequado. No meu caso está em ~/bin/pycharm. Para rodar o pycharm é só executar o script pycharm.sh que está no diretório bin dentro do diretório do pycharm, isto é, no meu caso ~/bin/pycharm/bin/pycharm.sh. Eu queria ter o ícone do pycharm no launcher (aquela barra lateral do Ubuntu) para ficar mais fácil chamá-lo. O PyCharm pode criar seu próprio ícone de lançador, contudo ele não é cria por padrão. A gente tem que executar alguns comandos: 1) Comece chamando o PyCharm em um terminal. 2) No menu Ferramentas, selecione "Criar entrada da área de trabalho ..." 3) Se você já tem o PyCharm, ele irá perguntar se você quer reaproveitar as configurações da versão anterior: 4) Marque a caixa correspondente, se você quiser o lanç

Resetando a senha do administrador local no Windows Server 2012

Existem diversas formas de redefinir a senha em seu servidor Windows 2012 quando você esqueceu ela. Neste post mostraremos como alterar a senha do usuário administrador, quando você tem acesso físico à ele. Você precisará do DVD de instalação do Windows para fazer isto. São os seguintes passos: 1-) Reinicie o seu computador dando boot pelo DVD do Microsoft Windows Server 2012 (pode ser outra versão) 2-) No menu Instalação do Windows (mostrado abaixo), clique em "Avançar". 3-) Selecione "Reparar seu computador" Como estamos utilizando o DVD do Windows 2008 para reparar um Windows 2012, o seguinte aviso é mostrado. Concorde clicando em Next. 4-) Clique em "Aviso de comando" para abrir uma janela de comandos. 5-) No prompt de comando, execute os seguintes comandos: d: cd windows\system32 ren Utilman.exe Utilman.exe.old copy cmd.exe Utilman.exe 5-) Feche o prompt de comando e clique em "Reiniciar". 6-) O serv

Configurar a ação do Ubuntu 20 ao fechar a tela do notebook

Este post mostra como alterar a ação quando a tampa do laptop é fechada no Ubuntu 20.04 - por exemplo, desligar, hibernar, não fazer nada ou travar a tela. A ação padrão do Ubuntu é suspender a atividade do notebook. Até onde eu sei, até o momento deste post não existe uma opção gráfica para fazer esta configuração, portanto você precisa editar o arquivo logind.conf para alterar a ação. Esta configuração deve funcionar em instalações tipo desktop ou servidor do Ubuntu. Você precisa abrir o terminal (normalmente isto pode ser feito pressionando simultaneamente Ctrl + Alt + T). Com o terminal aberto você pode utilizar um editor para alterar as linhas que controlam a ação. Por exemplo, digite na linha de comando: sudo vi /etc/systemd/logind.conf No arquivo procure a linha (note the # indica que a linha está comentada) # HandleLidSwitch = suspend e altere-a para uma das seguintes opções (note que agora a linha não começa mais com #) - trava o desktop quando a tampa está fechada: HandleLidS