Equivalente do Linux para “iniciar” e “abrir” na linha de comando [duplicado]

8

Esta questão já tem uma resposta aqui:

A linha de comando do Windows utiliza começar programname e começar filename.ext para processar o arquivo como se o usuário tivesse clicado duas vezes-lo nas conchas GUI todos nós conhecemos e amamos. A linha de comando do MacOS faz o mesmo com o open . Isso é útil para aqueles que não conhecem o programa e o local exatos para abrir tipos de arquivos incomuns.

No Linux, ./filename.ext é para executar scripts, e iniciar filename.ext responde com um erro porque está esperando um "job". Assim...

Qual é o comando CLI padrão para abrir um arquivo não-script em qualquer que seja o manipulador de tipos registrado no Linux? Se não for padrão, o que a Red Hat usa?

Vlueboy
fonte
./filename.ext não é apenas para scripts, mas para qualquer arquivo executável.
Andrew Lambert

Respostas:

8

O padrão freedesktop.org usa xdg-open. Existem outros específicos para o KDE, GNOME e outros desktops, mas xdg-opendevem funcionar independentemente.

geekosaur
fonte
+1. Isso foi rápido! Fiz uma edição rápida como um segundo depois de postar e vi sua resposta. E isso funciona. Eu não achava que cada ambiente de desktop também incluía o seu. Obrigado!
Vlueboy
O xdg-open nem sempre funciona bem (e é compatível com o ambiente de desktop). Para um usuário gnome, o gnome-open provavelmente é melhor.
saeedgnu
@ilius: xdg-opené apenas um script de shell e deve ser chamado gnome-opense detectar que você está executando o GNOME. ("Patches bem-vindos.")
Grawity
Eu estava pensando que um emulador de terminal (como o gnome-terminal ou o konsole) pode fazer isso de uma maneira inteligente, por exemplo, quando você escreve um caminho como comando, verifica o tipo mime desse arquivo e se o tipo mime não estava uma lista configurável de tipos mime, basta executar esse arquivo com o xdg-open, em vez de executar o arquivo em si.
saeedgnu
1
@grawity: não há razão para o shell não poder e, de fato, versões recentes de zshpodem ser configuradas para reconhecer tipos de arquivos e executar o programa apropriado . Não é apenas parte do Unix-think.
geekosaur