Думаю, решение состоит в том, чтобы иметь скрипт, который
и интегрируйте этот скрипт в процедуру запуска OpenVPN. Это можно сделать
--up
)ExecStartPre=
в системе)Я не уверен в первом случае, но предполагаю, что в обоих случаях необходимо (как минимум полезно )предотвратить повторную попытку OpenVPN установить соединение после разрыва туннеля (или хотя бы ограничить время, используемое для повторных попыток ).
В обоих случаях необходимо openvpn
перезапустить извне, т.е. с Restart=always
в файле модуля systemd.
.exit-monitor.sh
, затем выполните chmod +x.exit-monitor.sh
. Напишите это:#!/bin/bash
if (( $1 == 0 )); then
tmux set-window-option status-left "#[fg=colour0]#[bg=colour2]$1"
else
tmux set-window-option status-left "#[fg=colour0]#[bg=colour1]$1"
fi
.bashrc
добавьте это:if echo "$PROMPT_COMMAND" | /bin/grep "exit-monitor" &>/dev/null; then
export PROMPT_COMMAND=${PROMPT_COMMAND/~\/.exit-monitor.sh \$?;/}
fi
if ps -aux | grep tmux | grep -v grep &>/dev/null; then
export PROMPT_COMMAND="~/.exit-monitor.sh \$?; $PROMPT_COMMAND"
fi
Это удалит скрипт из PROMPT _COMMAND, если он там уже есть, и повторно -добавит его в начало переменной, но только если запущен tmux. В противном случае вы бы продолжали добавлять скрипт в PROMPT _COMMAND снова и снова, и вы бы получали раздражающие сообщения об ошибках, если tmux не запущен.
Теперь маленький квадратик в левом углу строки состояния tmux будет отображаться либо зеленым, либо красным цветом, а также номером состояния выхода. Если вы хотите, вы также можете добавить текст, например. НЕУДАЧА/УСПЕХ с помощью
tmux set-window-option status-left "#[fg=colour0]#[bg=colour1]FAIL"
или аналогичный. Конечно, вы также можете изменить положение, например. используйте status-right
. Одно важное замечание заключается в том, что .exit-monitor.sh
должно быть первой записью в PROMPT_COMMAND
, чтобы это работало, и если у вас есть какие-либо другие инструменты, записывающие текст состояния, эти инструменты должны иметь возможность добавлять свой статус, а не заменять его.
Между прочим, очень интересная идея, я никогда не думал об этом, но обязательно сохраню это в своей настройке.