Eu não acho que você conseguirá fazer isso com screen
a menos que a saída seja realmente renderizada em uma janela, o que provavelmente anula o ponto de usar a tela.
No entanto, a janela não precisa estar em primeiro plano.
A suíte ImageMagick contém um utilitário chamado import
que você pode usar para isso. Se import --help
lhe der "comando não encontrado", instale o pacote imagemagick, ele estará disponível em qualquer distribuição linux.
import
precisa do nome da janela. iftop
é uma interface de terminal, portanto, para ter certeza de usar o nome correto, você terá que configurar o título do terminal GUI em que ele roda. Como você faz isso depende de qual terminal da GUI você usa. Por exemplo, eu prefiro o Terminal XFCE, que seria:
Terminal -T Iftop -e iftop
Abre um novo terminal executando iftop
com o título "Iftop". Uma captura de tela pode ser tirada:
import -window Iftop ss.jpg
Se você for fazer isso a cada cinco segundos, provavelmente desejará abrir a janela executando um script para poder reutilizar o mesmo terminal:
count=0;
while ((1)); do
iftop &
pid=$!
sleep 1 # make sure iftop is up
count=$(($count+1))
import -window Iftop iftop_sshot$count.jpg
kill $pid
sleep 5
done
Se o script for "iftopSShot.sh", você iniciará este Terminal -T Iftop -e iftopSShot.sh
- exceto que provavelmente você não está usando Terminal
. A maioria dos terminais GUI do Linux está associada a DEs específicos, embora sejam aplicativos independentes que podem ser usados independentemente. Acredito que o nome do terminal padrão no KDE seja Konsole
e siga as convenções -T
e -e
; para o GNOME é provavelmente gnome-terminal
(isso pode ter mudado) e parece usar -t
e não -T
.
Cuidado import
por padrão toca o sino, o que vai ficar irritante, mas existe uma opção -silent
.