Como abrir o arquivo com o programa padrão na linha de comando?

8

Se eu clicar em um arquivo em um explorador de arquivos GUI, um programa padrão é usado para abri-lo. Isso é útil para arquivos que não sei como abrir a partir da linha de comando.

Existe uma maneira de abrir um arquivo com o programa padrão usando a linha de comando?

Alternativamente, existe uma maneira, dada uma extensão de arquivo, de determinar um comando para abri-lo?

    
por Gradient 31.01.2013 / 02:56

1 resposta

12

Is there a way to open a file with the default program using command-line instead?

Este é um trabalho para xdg-open :

xdg-open opens a file or URL in the user's preferred application. If a URL is provided the URL will be opened in the user's preferred web browser. If a file is provided the file will be opened in the preferred application for files of that type. xdg-open supports file, ftp, http and https URLs.

  • Sintaxe para abrir um arquivo com seu aplicativo padrão:

    xdg-open {file}
    

O xdg-open vem pré-instalado no Ubuntu.

Alternatively, is there a way, given a file extension, to determine a command to open it?

Pela extensão, não. O aplicativo padrão é escolhido com base no tipo MIME, não na extensão. O Linux não tem "extensões".

Para um arquivo específico, você pode usar xdg-mime para determinar o tipo MIME do arquivo e o aplicativo padrão associado a ele:

  • Sintaxe para exibir o tipo MIME de um arquivo:

    xdg-mime query filetype {file}
    
  • Sintaxe para exibir o aplicativo padrão do tipo MIME:

    xdg-mime query default {mimetype}
    
  • Sintaxe para exibir o aplicativo padrão de um arquivo:

    xdg-mime query default "$(xdg-mime query filetype {file})"
    

Como solução alternativa (hacky) você pode usar o comando

xdg-mime query default \
    'xdg-mime query filetype "$(find ~ / -iname '*.png' -print -quit)"'

para exibir o aplicativo padrão para, por exemplo, imagens PNG.

Isso funcionará se, e somente se, você tiver uma imagem PNG no computador e o primeiro arquivo encontrado que termina com .png for uma imagem PNG válida.

    
por 31.01.2013 / 03:21