How to find out which program can open a given file?

Let’s say I have a file thesis.pdf or picture.jpg

Is there a command which returns a program to open this file with?

I am aware of the command file, but it just returns the correct type of the file (I know that this is not specified by its extension in Linux) and not a program.

I am expecting something like:

$ program 'picture.jpg' 
gimp, gwenview, eog
Asked By: schrobe

||

mimeopen -a ‘picture.jpg’

This is what you need

It will give you output like this

Please choose an application

    1) Shotwell Viewer  (shotwell-viewer)
    2) Firefox Web Browser  (firefox)
    3) Image Viewer  (eog)
Answered By: SHW

Use: mimeopen -a 0001.jpg

-a will first Ask you to choose, not run it.

Please choose an application

1) Wine Internet Explorer  (wine-extension-jfif)
2) Wine Internet Explorer  (wine-extension-jpe)
3) Firefox Web Browser  (firefox)
4) Luminance HDR  (luminance-hdr)
5) ImageMagick (display)  (display.im6)
6) Image Viewer  (eog)
7) Shutter  (shutter)
8) Phatch Image Inspector  (phatch-inspector)
9) Phatch PHoto bATCH Processor  (phatch)
10) Shotwell Viewer  (shotwell-viewer)
11) GIMP Image Editor  (gimp)

use application #

Answered By: Ruslan Gerasimov