feat: portar panel Sistema del widget previo + servicio de captura

Pestaña Sistema:
- Reproduce las 9 gráficas del widget anterior dibujadas con Cairo
  sobre históricos en memoria: CPU, RAM, CPU temp, GPU, GPU temp,
  VRAM, red (down/up superpuestos) y disk I/O, más las barras de uso
  de los discos /, /mnt/1tb, /mnt/2tb y /mnt/16tb.
- metric.sh portado (nvidia-smi + coretemp hwmon) para temperaturas
  y métricas de GPU.
- Paleta Nord, igual que el panel original.

Widget redimensionado a 290x545 para acomodar el panel Sistema.

Servicio de captura (service/):
- packet-capture.service: dumpcap en ring buffer (~10 min, 10 archivos
  de hasta 60s/50MB, tope ~500MB) escribiendo en /var/log/pktcap.
- install-capture.sh: crea el directorio, instala y activa el unit.

El botón Wireshark abre ahora el .pcapng más reciente del buffer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Egutierrez
2026-06-02 21:01:17 +02:00
parent e4d2a5fe3f
commit effb1c08f7
5 changed files with 276 additions and 119 deletions
Executable
+16
View File
@@ -0,0 +1,16 @@
#!/bin/sh
# Helper de metricas para conky_widget — imprime UN valor "pelado" (sin etiquetas).
# Portado del widget previo. Toda la logica con comillas/awk vive aqui para no
# romper el parser de conky ni el de widget.lua.
case "$1" in
gpu_util) nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits ;;
gpu_temp) nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits ;;
gpu_memp) nvidia-smi --query-gpu=memory.used,memory.total --format=csv,noheader,nounits \
| awk -F', ' '{printf "%d", $1/$2*100}' ;;
gpu_memi) nvidia-smi --query-gpu=memory.used,memory.total --format=csv,noheader,nounits \
| awk -F', ' '{printf "%d/%d MB", $1, $2}' ;;
cpu_temp) for h in /sys/class/hwmon/hwmon*; do
[ "$(cat "$h/name" 2>/dev/null)" = coretemp ] && { cat "$h/temp1_input"; break; }
done | awk '{printf "%d", $1/1000}' ;;
*) echo 0 ;;
esac