如何在Ubuntu 20.04(GNOME Shell)桌面顶部栏持续显示vnstat的网络使用统计数据?
如何在Ubuntu 20.04(GNOME Shell)桌面顶部栏持续显示vnstat的网络使用统计数据?
嗨,我明白你想在Ubuntu 20.04的GNOME顶部栏用Argos清晰展示vnstat的网络使用数据,之前直接输出vnstat -t格式乱糟糟的对吧?咱们来调整一下脚本,让它显示得更规整,同时满足你跟踪每日下载和上传的需求~
方案一:显示每日下载/上传总量(适合日常流量监控)
咱们用vnstat -d来获取每日统计数据,把关键信息提取后让Argos在顶部栏简洁展示,点击还能查看详细数据。
创建一个新的Argos脚本,比如~/.config/argos/vnstat-daily.sh,内容如下:
#!/bin/bash # Argos 脚本:每日vnstat流量统计 # 获取今日的下载/上传数据 today_stats=$(vnstat -d | grep "today") down=$(echo "$today_stats" | awk '{print $2 $3}') up=$(echo "$today_stats" | awk '{print $5 $6}') # 顶部栏显示简洁的流量信息 echo "📥 $down | 📤 $up" echo "---" # 点击顶部栏后展开显示详细的每日统计 echo "$(vnstat -d)"
然后给脚本添加执行权限:
chmod +x ~/.config/argos/vnstat-daily.sh
方案二:显示实时流量(对应你最初用的vnstat -t需求)
如果你还是想跟踪实时流量速度,咱们可以提取vnstat -t里的关键数据,避免格式混乱:
创建脚本~/.config/argos/vnstat-realtime.sh,内容如下:
#!/bin/bash # Argos 脚本:实时vnstat流量统计 # 提取实时的下载/上传速度 real_time_data=$(vnstat -t | grep -A1 "rx" | tail -1) down_speed=$(echo "$real_time_data" | awk '{print $2 $3}') up_speed=$(echo "$real_time_data" | awk '{print $5 $6}') # 顶部栏显示实时速度 echo "📥 $down_speed | 📤 $up_speed" echo "---" # 点击后显示完整的`vnstat -t`输出 echo "$(vnstat -t)"
同样给脚本加执行权限:
chmod +x ~/.config/argos/vnstat-realtime.sh
为什么之前的脚本不行?
直接用echo "$(vnstat -t)"会把vnstat带格式的多行文本一股脑输出到顶部栏,Argos没法解析这种格式,所以看起来乱糟糟的。咱们通过awk和grep提取关键信息,再用Argos的分隔符---把顶部栏的简洁显示和展开后的详细内容区分开,就能得到你想要的整洁视图啦。
备注:内容来源于stack exchange,提问作者Sahan
相关产品推荐
相关产品推荐

