Gibt es überhaupt Nethogs, die in conky ausgegeben werden?

5

Ich habe viel gesucht, aber ich kann keinen Weg finden, Nethogs in conky zu zeigen. nethogs druckt auf das Terminal und es scheint keine Möglichkeit zu geben, die Ausgabe in Echtzeit zu erfassen. Das ist eine Sache, die ich mir für conky FOR AGES gewünscht habe.

koogee
quelle

Antworten:

2

Ich glaube nicht

nethogs ist ein interaktiver Prozess, der die Bibliothek ncurses verwendet. Es wird erwartet, dass es in einem Terminalfenster gestartet wird und Eingaben vom Benutzer erhält.

Conky kann Programme mit den Direktiven exec / execi / execp / execpi ausführen, diese sollen jedoch "einmal ausgeführt" werden und dann Text ausgeben. Conky nimmt diesen Text und zeigt ihn an.

Schreiben Sie an den Nethogs-Entwickler und sehen Sie, ob er den "Batched" -Modus hinzufügen wird, z top Befehl. Wenn Sie die Nethogs für eine Sekunde ausführen lassen und dann den Text anzeigen und beenden können, können Sie diesen Text in Conky verwenden.

suprjami
quelle
0

Ich habe versucht, das gleiche mit Conky auf Ubuntu 12.10 zu tun. Aber dann hatte ich eine bessere Idee:

  • Erstellen Sie ein neues Profil für gnome-terminal (transparent, kleine Schriftgröße, wie Sie möchten)
  • Installationspaket devilspie (Sie können auch die GTK-Version ausprobieren gdevilspie
  • Erstelle eine neue Konfigurationsdatei für devilspie Dies hilft, den Fensterrahmen und das Menü zu entfernen

z.B. /home/<user>/.devilspie/gnome-terminal.ds

Inhalt:

(if (is (window_role) "borderless")
  (begin
    (undecorate)
    (geometry "-0-0")
    (below)
    (skip_tasklist)
  )
)

(geometry "-0-0") Das Fenster wird unten rechts platziert

Bei der Konfigurationsdatei gnome-terminal.ds wurde nicht geschrieben / geändert Sie müssen es erstellen und den devilspie deamon stoppen / neu starten, um Änderungen zu sehen. Vergessen Sie nicht, den Dämon zu Ihren Startskripten hinzuzufügen (XFCE: Einstellung von & gt; Sitzung und Start).

Jetzt benötigen wir ein Start-Bash-Skript, das Sie wie Devilspie zu Ihrem Autostart hinzufügen können. Etwas wie das:

#!/bin/bash

if [ $# -lt 1 ]
then
  echo "Usage: `basename $0` <iface>"
  exit 1
fi

killall -9 nethogs 2>/dev/null
sleep 5
`sudo -H -u <username> gnome-terminal -e "/usr/bin/nethogs -d 4 $1" --profile=<profile-name> --role=borderless`

exit 0

Sie müssen dem Skript ein Argument übergeben, um das Zielgerät anzugeben. Beachten Sie, dass es eine gibt sleep Befehl innerhalb des Skripts, nur um sicherzustellen, dass vorherige Nethog-Prozesse nicht ausgeführt werden.

user269748
quelle
Schön gemacht. btw conky scheint einen zu haben out_to_ncurses Option, aber ich habe nicht damit gespielt.
koogee