Generally to display images in Linux you need the GUI (graphical user interface) to be running, which you've discovered how to start with the startx
command.
There are however some exceptions! Generally a Raspberry Pi connected directly to a monitor users a framebuffer console, which is a high-resolution psuedo-graphics console. If the text isn't massive, you're probably running in framebuffer mode. In this case, you can display images directly using an application that understands the framebuffer. Unfortunately, display
from imagemagick doesn't appear to do this. However, a tool called fbi
(short for framebuffer imageviewer) can show images in framebuffer mode.
To use fbi
to show images in the console, first it needs to be installed. This is done using the package management system commands sudo apt-get update; sudo apt-get -y install fbi
. Then, images can be shown full screen using the command fbi -a myimage.jpg
. Slideshows can be shown using fbi -a -t 5 *.jpg
where 5 is the number of seconds the image will show for. The manpage for fbi
has a full description of the command line arguments and is fairly straightforward to read.