저는 매일 밤 iTerm 2를 사용하고 있으며 왼쪽 상태 표시줄에는 다음과 같은 tmux 구성 설정이 있습니다.
set -g status-left "#[fg=green]#h @ #[fg=cyan]#(extip | awk '{print \"ip \" $1}') #[fg=yellow]#(ifconfig en0 | grep 'inet ' | awk '{print \"en0 \" $2}') #[fg=red]#(ifconfig tun0 | grep 'inet ' | awk '{print \"vpn \" $2}'"
en0
내 외부 IP 와 VPN 연결(연결된 경우)이 인쇄되어야 합니다 . extip
는 내가 직접 작성했지만 오랫동안 손대지 않은 도구이며 명령줄에서 제대로 작동합니다(그리고 디버거가 연결되면 이 도구가 호출되고 올바르게 반환되는 것을 볼 수 있습니다). 몇 주 전까지는 모든 것이 잘 작동했는데 그 이후로는 <'extip | awk '{print "ip " $1}'' not ready>
외부 IP 주소 대신 표시될 뿐입니다 . 나머지는 여전히 문제 없이 완벽하게 실행됩니다. 처음에는 단지 iTerm의 야간 불안정성인 줄 알았는데, 몇 번의 업데이트 후에도 여전히 작동하지 않아서 아예 수행해서는 안 될 것 같고 단순한 우연일 수도 있다고 생각합니다. 작동이 중지된 이유와 다시 작동하게 하는 방법에 대해 알려줄 수 있는 사람이 있나요?
답변1
https://github.com/tmux/tmux/issues/733#issuecomment-277230881말하는
준비되지 않음 메시지는 정상입니다. tmux는 명령 실행이 아직 완료되지 않았음을 알려주며 명령이 완료되자마자 출력을 표시합니다.
Ubuntu 16.04에서 16.10으로 업그레이드한 후 SSH 서버를 창 상태 형식으로 표시하는 스크립트에서 이를 확인했습니다. 연결되면 깜박입니다. 실제로 다음을 수행하여 재현할 수 있습니다.
tmux setw -g window-status-current-format '#(echo `tmux display-message -p "#W #{pane_pid}"`)'
그러면 ssh aslkfdsdkljfslkdsajf
연결을 시도할 때 깜박입니다.
결과가 다시 나오는 데 시간이 좀 걸릴 것 같아요 . extip
이것을 OR만 수행하는 쉘 스크립트로 바꾸면 echo 1
어떻게 될까요 sleep 1; echo 1
?
(또한 tmux는 해당 창/창에서 명령이 한 번 이상 실행되면 캐시해야 하지만 명령 자체가 변경되면 위의 예에서와 같이 캐시를 사용하지 않습니다. 제출했습니다.오류 보고서이 경우 "준비 안 됨" 명령을 음소거하는 방법에 대해 설명합니다. )
답변2
나는 과거에 기본 display-message
명령(예: "Welcome, $USER..."
)으로 tmux를 인스턴스화하여 이 문제를 해결했는데, 처음으로 외부 애플리케이션을 실행하는 데 1초 정도 걸리는 것 같습니다.
물론 귀하의 필요에 따라 다릅니다. 내 프로필 스크립트에서 tmux를 시작하지만 필요에 따라 tmux를 실행하면 별칭을 사용할 수 있습니다...
# /usr/bin/tmux -V
tumx 2.4
# /usr/bin/tmux new-session \; display-message "Welcome, $USER..."