How-to Convert a Command Line Result into an Image in Linux

Here’s a technique to convert a command line result into an image in Linux using ImageMagick.

You could also do a screenshot (with PrtSrc key) and use Gimp to trim the image, but this method is faster and does not require a graphical interface.

command line to PNG example
Result of ./cmd2png.sh ifconfig ifconfig_cmd.png

The simplest command to convert the result of ifconfig into an image:

ifconfig | convert label:@- cmd.png

This will give an image with a white background and black text, but If you want to have a black background with white text you can use the following:

ifconfig | convert -background black -fill white \
label:@- cmd.png

If you want to change the font and the font size:

ifconfig | convert -background black -fill white \
-font Helvetica -pointsize 14 \
label:@- cmd.png

You can retrieve the list of fonts with this command:

convert -list font | grep Font:

Finally, use this command to add an extra black border for a better looking image:

ifconfig | convert -background black -fill white \
-font Helvetica -pointsize 14 \
-border 10 -bordercolor black \
label:@- cmd.png

If you are always going to use this command often and always apply the same style, you could also write a script:

#!/bin/sh

$1 | convert -background black -fill white \
-font Helvetica -pointsize 14 \
-border 10 -bordercolor black \
label:@- $2

Let’s name the script cmd2png.sh then run the script as follows:

./cmd2png.sh “ifconfig eth0” “ifconfig_cmd.png”

Those commands were tried in Ubuntu 10.04 LTS.

Support CNX Software - Donate via PayPal or become a Patron on Patreon
Advertisements
Subscribe
Notify of
guest
3 Comments
oldest
newest most voted
Siddharta
Siddharta
8 years ago
Dirk Haar
5 years ago

VERY helpful, even after this long time… All the other ways like batching GIMP, ImageMagick oder phatch have neither an easy way nor any good example how to add text to a wallpaper in a simple way. After hours of searching, installing and trying here I am – THANK YOU! Your help esulted in this little script: #——————————————- #!/bin/bash # gather some info and store it as text in ~/sysinfo.txt # especially to fill a text box on a wallpaper with GIMP echo > ~/sysinfo.txt echo >> ~/sysinfo.txt echo >> ~/sysinfo.txt echo >> ~/sysinfo.txt date >> ~/sysinfo.txt uname -o >>… Read more »

Dirk Haar
3 years ago

Of course my comment “GIMP” is fault – left over from an older version where I tried to use the gimp command line interface (without positive results). Sorry for that.

Btw., in Ubuntu 15(?) and so in my Linux Mint 18 (and I guess aready in 17.3) policies had been changed for security reasons so that the “label:@-“parameter doesn’t work anymore; a manual change of this policies was not succesful yet. :-((

Advertisements