У меня проблема с плагином xfce4-genmon.Я использую это, чтобы контролировать мое соединение VPN.Всякий раз, когда я подключаюсь к своему VPN (NordVPN с использованием openpyn), он отображает символ и сервер, к которому я подключен с помощью этой команды: $ (ps ax | grep $ (pidof openvpn) | perl -n -e '//(\ w +) .nordvpn.com / && print $ 1 ')
Я недавно решил, что мне также хотелось бы, чтобы он отображал мой текущий IP-адрес (WAN)
Я написал короткий bashскрипт, который регулярно проверяет IP-адрес с помощью команды $ (wget http://checkip.dyndns.org/ -O - -o / dev / null | cut -d: -f 2 | cut -d \ <-f 1). Хранится впеременная окружения с именем IPPUBLIQUE, и она отлично работает.</p>
Следующим шагом было написание скрипта для универсального плагина монитора, который находится здесь:
#!/bin/bash
echo $IPPUBLIQUE
ip=$IPPUBLIQUE
echo $ip
ip="IP:$ip"
echo $ip
checkvpn=$(nmcli con |grep tun0)
if [ -n "$checkvpn" ]
then
echo "<img>/home/richard/Scripts/vpn.png</img>"
echo "<txt>$ip; "$(ps ax | grep $(pidof openvpn) | perl -n -e '/\/(\w+) \.nordvpn\.com/ && print $1')"</txt>"
echo "<click>/home/richard/bin/./killvpngenmon.sh</click>"
echo "<tool>Connected to VPN</tool>"
echo "<img>/home/richard/Scripts/novpn.png</img>"
else
echo "<img>/home/richard/Scripts/novpn.png</img>"
echo "<txt>$ip</txt>"
echo "<click>gksudo /home/richard/bin/autovpn</click>"
echo "<tool>Not connected to VPN</tool>"
echo "<img>/home/richard/Scripts/vpn.png</img>"
fi
Когда я тестирую скрипт в консоли, значения каждой переменной верны ираспечатывается с помощью команд эха.Они будут содержать правильные IP-адреса.Однако монитор отображает только $ ip как «IP:».Независимо от того, что я делаю, он отказывается отображать мой IP-адрес, но если я устанавливаю переменную вручную (например, ip = 192.168.0.1 вместо ip = $ IPPUBLIQUE), тогда он работает.
КонсольВывод
Вывод Genmon-плагина
Может кто-нибудь помочь выяснить, что происходит и как я могу это исправить?
Спасибомного