Upload e velocidade de download na linha de status do Tmux

6

Existe uma maneira de obter velocidades de upload e download na linha de status do Tmux?

    
por Sol 22.06.2012 / 07:32

3 respostas

7

Você pode chamar um script de shell da linha de status do tmux, especificando sua interface requerida da seguinte forma:

set -g status-left '#[fg=blue]#(speed eth0)#[default]'

E coloque este script, velocidade 1 , no seu $ PATH:

#!/bin/bash

iface=$1
RXB=$(</sys/class/net/"$iface"/statistics/rx_bytes)
TXB=$(</sys/class/net/"$iface"/statistics/tx_bytes)
sleep 2 
RXBN=$(</sys/class/net/"$iface"/statistics/rx_bytes)
TXBN=$(</sys/class/net/"$iface"/statistics/tx_bytes)
RXDIF=$(echo $((RXBN - RXB)) )
TXDIF=$(echo $((TXBN - TXB)) )

echo -e "$((RXDIF / 1024 / 2))K/s $((TXDIF / 1024 / 2))K/s"

1. Não lembro onde encontrei isso ...

    
por 22.06.2012 / 09:06
2

Eu queria a resposta acima por jasonwryan para lidar com todas as interfaces, então fiz essa modificação:

#!/bin/bash

RXB=0
TXB=0

for rxbytes in /sys/class/net/*/statistics/rx_bytes ; do
  let RXB+=$(<$rxbytes)
done

for txbytes in /sys/class/net/*/statistics/tx_bytes ; do
  let TXB+=$(<$txbytes)
done

sleep 2 

RXBN=0
TXBN=0

for rxbytes in /sys/class/net/*/statistics/rx_bytes ; do
  let RXBN+=$(<$rxbytes)
done

for txbytes in /sys/class/net/*/statistics/tx_bytes ; do
  let TXBN+=$(<$txbytes)
done    

RXDIF=$(echo $((RXBN - RXB)) )
TXDIF=$(echo $((TXBN - TXB)) )

echo -e "$((RXDIF / 1024 / 2))K/s $((TXDIF / 1024 / 2))K/s"

Obviamente, você pode alterar o curinga para fazer apenas todas as interfaces eth * ou wlan * ou usar o find para fazer uma correspondência mais complicada das duas.

    
por 28.05.2013 / 20:18
1

Com base no Above, isso deve exibir os indicadores para cima e para baixo usando ^ e v, use o símbolo correto (Ki é Kilobytes binários, etc.) mude para Mi e Gi conforme necessário e também exiba valores fracionais não zero de uma decimal Lugar, colocar.

link

    
por 22.08.2013 / 10:57

Tags