tmux-ressurrect não está restaurando meus comandos em execução

0

Estou usando o plug-in tmux-resurrect para recriar sessões do tmux após o desligamento do tmux. Ele funciona principalmente, mas não está restaurando comandos em execução. Eu tentei com vim , less , man e tail , todos suportados, mas não recebo nada além de um prompt bash de espera.

Aqui estão os dados de salvamento para um painel que estava executando vim test.txt como visto em um dos arquivos salvos em ~/.tmux/resurrect :

pane 0 1 :bash 1 :* 2 :/tmp 0 vim :

É evidente que algo está faltando aqui. Onde está "test.txt"? É muito difícil recriar um comando se os argumentos não forem persistidos.

Por que os comandos completos não estão salvos?

Estou executando isso no Cygwin, que eu suspeito ser relevante.

    
por B Layer 30.09.2017 / 03:13

1 resposta

0

A raiz do problema é a versão com problemas do ps que o Cygwin fornece porque, em suas palavras, devido às limitações de simulação de um ambiente POSIX no Windows, existe pouca informação para dar. Em particular, esta versão de ps não será mostrada argumentos de comando. A solução é instalar um substituto mais útil para ps e integrá-lo ao tmux-ressurrect.

Comece por instalar pgrep . Isso pode ser encontrado no pacote Cygwin psutils-ng (para o Cygwin de 64 bits. Para 32 bits, ele ainda pode ser chamado apenas de psutils .)

Agora precisamos informar tmux-resurrect para usá-lo. Felizmente já tem um estratégia disponível para usar esta ferramenta. No entanto, não é totalmente compatível com o Versão do Cygwin para editar o arquivo [tmux-resurrect-install-dir]/save_command_strategies/pgrep.sh e alterar

\pgrep -lf -P "$PANE_PID" |

para

\pgrep -af -P "$PANE_PID" |

Essa é uma mudança de letra única, l para a .

Por fim, diga ao plug-in para usar essa estratégia adicionando essa linha ao seu .tmux.conf arquivo após qualquer outra configuração de ressuscitação:

set -g @resurrect-save-command-strategy 'pgrep'

Isso deve ser feito. Na próxima vez que uma sessão for salva, o exemplo dado acima deverá mais assim:

pane 0 1 :bash 1 :* 2 :/tmp 0 vim :vim test.txt

Após a restauração, o arquivo será carregado em vim .

    
por 30.09.2017 / 03:14

Tags