Ubuntu 18.04
ExpressVPN 没有适用于 Linux 版本的 GUI 或图标。所以我把一个 .desktop 文件放在一起,然后在我的任务栏上添加了可点击的按钮来触发它们。.desktop 文件触发脚本,这些脚本运行命令以连接 VPN,或断开它,或显示指示当前状态的弹出消息。
这是我需要一些建议的状态。获取状态的命令是:
expressvpn status
在终端中运行该命令时,如果 VPN 已断开连接,您会看到:
如果 VPN 已连接,您会看到:
我的任务栏按钮触发此脚本:
#!/bin/bash
MESSAGE="expressvpn status"
notify-send --expire-time=500 "`$MESSAGE`"
现在,这行得通。我得到了我需要的信息。但有一些我不喜欢的地方。这并不重要,但我想了解它为什么会发生以及是否可以更改。
如果 VPN 断开连接,它会很好用,我看到一个显示“未连接”的弹出窗口:
但是,如果 VPN 已连接,我所看到的会非常难看。它看起来像这样:
如果我将相同的输出写入文本文件,它包含以下文本:
[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'.
理想情况下,我希望它只包含上面屏幕截图中显示的绿色行 - “已连接到 [无论哪个连接处于活动状态] ”。
有任何想法吗?
谢谢!
该脚本使用ANSI 转义码对输出进行着色。这里一般讨论摆脱它们。
如果您能够安装软件包,
ansi2txt
则从本答案colorized-logs
中提到的软件包中将它们删除。类似的东西
expressvpn status | ansi2txt | grep -i connected
应该提供您可以使用的输出。