Ağ Trafiği ve CPU Sıcaklığı İzleyici Scripti

Pardus masaüstünde, terminal üzerinden akan veriyi şık bir şekilde panel gibi takip edebileceğin basit ama etkili bir Bash script. Bu araç, saniyede bir kez /sys dizinine giderek ağ kartından geçen veriyi okur ve canlı bir hız göstergesi sunar.

Ağ Trafiği İzleyici Scripti

Aşağıdaki kodu bir metin dosyasına (örneğin: trafik_izle.sh) yapıştır:

Bash:
#!/bin/bash

# Ağ kartı adını buraya yaz (wlan0, eth0, enp3s0 vb.)
INTERFACE="wlan0"

# İlk veri okuma
OLD_RX=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
OLD_TX=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)

echo "--- $INTERFACE Ağ Trafiği İzleniyor (Çıkış için Ctrl+C) ---"

while true; do
    sleep 1
    
    # Yeni veri okuma
    NEW_RX=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
    NEW_TX=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
    
    # Farkı hesapla (Byte -> KB)
    RX_SPEED=$(( (NEW_RX - OLD_RX) / 1024 ))
    TX_SPEED=$(( (NEW_TX - OLD_TX) / 1024 ))
    
    # Ekrana yazdır
    printf "\rİndirme: %d KB/s | Yükleme: %d KB/s   " "$RX_SPEED" "$TX_SPEED"
    
    # Değerleri güncelle
    OLD_RX=$NEW_RX
    OLD_TX=$NEW_TX
done

Nasıl Çalıştırılır?

  1. Dosyayı Oluştur: Masaüstünde sağ tıkla ve yeni bir metin dosyası oluşturup içine kodu yapıştır.

  2. İzin Ver: Terminali aç ve dosyanın olduğu konuma gelip şu komutu yaz:

    chmod +x trafik_izle.sh

  3. Çalıştır: ./trafik_izle.sh


Bu Widget Neden Önemli?

Bu küçük araç, Pardus'un arkasındaki felsefeyi özetliyor: Şeffaflık. * Harici bir yazılım yüklemeden, sadece sistem dosyalarını okuyarak veri çekiyoruz.

  • /sys dizini sayesinde, donanımdan gelen ham bilgiyi doğrudan kullanıcıya ulaştırıyoruz.

  • Sistem kaynaklarını (CPU/RAM) neredeyse hiç tüketmez çünkü sadece basit bir metin okuma işlemi yapar.


Şimdi widget'ımızı biraz daha "akıllı" hale getirelim. /sys/class/hwmon/ dizinini kullanarak işlemci sıcaklığını da bu canlı takip listesine ekleyeceğiz.

Linux çekirdeği, donanım sensörlerini genellikle hwmon (Hardware Monitor) altında tutar. İşte hem ağ trafiğini hem de CPU sıcaklığını gösteren güncellenmiş script:

Gelişmiş Pardus Sistem İzleyici

Bash:
#!/bin/bash

# Ayarlar
INTERFACE="wlan0"
# Not: Sıcaklık dosyası yolu sisteme göre değişebilir. 
# Genellikle /sys/class/hwmon/hwmon0/temp1_input veya benzeridir.
TEMP_FILE=$(find /sys/class/hwmon/hwmon*/temp1_input | head -n 1)

OLD_RX=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
OLD_TX=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)

echo "--- Pardus Sistem Takibi Başladı ---"

while true; do
    sleep 1
    
    # Ağ Verileri
    NEW_RX=$(cat /sys/class/net/$INTERFACE/statistics/rx_bytes)
    NEW_TX=$(cat /sys/class/net/$INTERFACE/statistics/tx_bytes)
    RX_SPEED=$(( (NEW_RX - OLD_RX) / 1024 ))
    TX_SPEED=$(( (NEW_TX - OLD_TX) / 1024 ))
    
    # Sıcaklık Verisi (mili-derece cinsinden olduğu için 1000'e bölüyoruz)
    CPU_TEMP=$(($(cat $TEMP_FILE) / 1000))
    
    # Ekranda Güncelle
    printf "\r[İndirme: %4d KB/s] [Yükleme: %4d KB/s] [CPU: %d°C]    " \
           "$RX_SPEED" "$TX_SPEED" "$CPU_TEMP"
    
    OLD_RX=$NEW_RX
    OLD_TX=$NEW_TX
done

Makale İçin Teknik Notlar: Veri Akış Şeması

Bu scriptin çalışma mantığını anlamak, /sys yapısını kavramak demektir. Donanımdan ekrana giden yol şöyledir:

  1. Donanım Katmanı: Ethernet kartı veya CPU sensörü ham veri üretir.

  2. Kernel (Çekirdek) Katmanı: Sürücüler bu veriyi işler ve sysfs yapısına uygun hale getirir.

  3. Sanal Dosya Sistemi (/sys): Veri, anlık olarak /sys/class/... altındaki dosyalara yazılır.

  4. Kullanıcı Alanı (Script): Hazırladığımız Bash scripti bu "dosyaları" okur ve size anlamlı bir hız/sıcaklık birimi olarak sunar.

Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu