Antworten:
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.
Ich habe versucht, das gleiche mit Conky auf Ubuntu 12.10 zu tun. Aber dann hatte ich eine bessere Idee:
devilspie
(Sie können auch die GTK-Version ausprobieren gdevilspie
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.
out_to_ncurses
Option, aber ich habe nicht damit gespielt.