나는 사용하고있다tmux 부활tmux가 닫힌 후 tmux 세션을 다시 생성하기 위한 플러그인입니다. 대부분 작동하지만 실행 명령을 재개하지 않습니다. vim
, less
, man
및 을 모두 지원 했지만 tail
대기 중인 bash 프롬프트만 표시됩니다.
vim test.txt
다음은 아래 저장 파일 중 하나에 표시된 대로 작동 중인 한 창의 저장된 데이터입니다 ~/.tmux/resurrect
.
pane 0 1 :bash 1 :* 2 :/tmp 0 vim :
분명히 여기에 뭔가가 빠졌습니다. "test.txt"는 어디에 있습니까? 매개변수가 지속되지 않으면 명령을 다시 작성하기가 어렵습니다.
전체 명령을 저장하지 않는 이유는 무엇입니까?
나는 이것을 Cygwin에서 실행하고 있는데 이것이 관련이 있다고 생각합니다.
답변1
새 버전은 다음과 같은 작업에 도움이 됩니다.
https://github.com/tmux-plugins/tmux-resurlect/blob/master/docs/restoring_programs.md
.tmux.conf
더 잘 작동하려면 다음을 추가해야 했습니다 .
# Plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# Plugin Config
set -g @resurrect-processes 'python sqlite3 nano'
set -g @resurrect-capture-pane-contents 'on'
set -g @continuum-boot 'on'
set -g @continuum-restore 'on'
플러그인 받기+나 (대문자 1)
플러그인 업데이트+유 (대문자 U)
저장: +Ctrl+S
회복: +Ctrl + R
생성된 날짜가 지정된 저장 파일은 .tmux/resurlect에서 편집할 수 있습니다.
last
tmux가 시작 시 충돌하는 경우 마지막 파일을 가리키는 심볼릭 링크입니다. cp
마지막 파일이 가리키는 최신 작업/이전 파일입니다.
일부 사용자.tmux.conf 시작 부분에 임시로 new-session을 추가하면 모든 것이 지워집니다.
원천:https://jdhao.github.io/2019/01/17/tmux_plugin_management
답변2
문제의 근본 원인은 ps
Cygwin에서 제공하는 버전이 불완전하다는 것입니다.
Windows에서 POSIX 환경을 시뮬레이션하는 데에는 한계가 있기 때문에 제공할 수 있는 정보가 거의 없습니다.특히 이 버전은 ps
명령 인수를 표시하지 않습니다. 해결책은 보다 유용한 대체품을 설치 ps
하고 이를 tmux-resurrent에 통합하는 것입니다.
설치부터 시작하세요 pgrep
. 이는 Cygwin 패키지에서 찾을 수 있습니다
psutils-ng
(64비트 Cygwin의 경우. 32비트의 경우 여전히 호출될 수 있음 psutils
).
tmux-resurrect
이제 우리는 그것을 어떻게 사용하는지 말해야 합니다 . 다행히도 이미
전략이 도구를 사용할 수 있습니다. 다만 Cygwin 버전과의 호환성이 별로 좋지 않으니 파일을 편집해서
[tmux-resurrect-install-dir]/save_command_strategies/pgrep.sh
변경해주세요.
\pgrep -lf -P "$PANE_PID" |
도착하다
\pgrep -af -P "$PANE_PID" |
l로 바뀌는 문자입니다 a.
.tmux.conf
마지막으로 플러그인이 이 전략을 사용하도록 지시하려면 다른 부활 구성 뒤에 다음 줄을 파일에 추가하세요.
set -g @resurrect-save-command-strategy 'pgrep'
이 작업이 가능해야 합니다. 다음에 세션을 저장할 때 위에 제공된 예는 다음과 유사해야 합니다.
pane 0 1 :bash 1 :* 2 :/tmp 0 vim :vim test.txt
복구 후 파일은 vim
.