Ubuntu 18.04
A ExpressVPN não possui GUI ou ícone para a versão Linux. Então eu juntei um arquivo .desktop e adicionei botões clicáveis na minha barra de tarefas para acioná-los. Os arquivos .desktop acionam scripts que executam comandos para conectar a VPN, desconectá-la ou exibir uma mensagem pop-up indicando o status atual.
É o status que eu preciso de alguns conselhos. O comando para obter o status é:
expressvpn status
Ao executar esse comando no terminal, se a VPN estiver desconectada, o que você vê é:
Se a VPN estiver conectada, o que você verá é:
Meu botão da barra de tarefas aciona este script:
#!/bin/bash
MESSAGE="expressvpn status"
notify-send --expire-time=500 "`$MESSAGE`"
Agora, isso funciona. Eu recebo as informações que eu preciso. Mas há algo sobre isso que eu não gosto. Não é crítico, mas gostaria de entender por que isso acontece e se pode ser alterado.
Funciona muito bem se a VPN estiver desconectada, vejo um pop-up que diz "Não conectado":
No entanto, se a VPN estiver conectada, o que vejo é bastante feio. Se parece com isso:
Se eu escrever a mesma saída em um arquivo de texto, ele conterá este texto:
[1;32;49mConnected to UK - East London
[0m
- If your VPN connection unexpectedly drops, internet traffic will be blocked to protect your privacy.
- To disable Network Lock, disconnect ExpressVPN then type 'expressvpn preferences set network_lock off'.
Idealmente, gostaria que ele contivesse apenas a linha em verde mostrada na captura de tela acima - " Conectado a [qualquer conexão que estiver ativa] ".
Alguma ideia?
Obrigado!
O script está usando códigos de escape ANSI para colorir a saída. Livrar-se deles é discutido aqui em geral.
Se você conseguir instalar pacotes,
ansi2txt
do pacote ,colorized-logs
conforme mencionado nesta resposta , os removerá.Algo como
expressvpn status | ansi2txt | grep -i connected
deve fornecer uma saída com a qual você possa trabalhar.