Encontrando o aplicativo preferido para uma determinada extensão de arquivo via Unix Shell Comandos
-
21-09-2019 - |
Pergunta
Isso pode não ser estritamente Sobre a programação, mas se eu não encontrar solução pronta, pode se tornar uma tarefa de programação: No UNIX, o que é um método de linha de comando para determinar o aplicativo preferido pelo usuário para um determinado FileType?
Minha solução ideal aqui seria um comando que me impediu de fazer o seguinte:
okular foo.pdf
E me permitiu fazer algo assim, trabalhando com meus aplicativos preferenciais:
launch foo.pdf
Não encontrei nenhuma resposta pesquisando, e uma abordagem de bricolage não funcionaria, enquanto eu uso o Linux há um tempo, não tenho idéia dos internos que gerenciam meus aplicativos preferidos.
Solução
No Unix por si só Esse seria o que o usuário usou para abri -lo, porque não há noção de nível de OS de um aplicativo preferido.
No entanto, o principal ambiente de desktop X define essa noção e você precisa usar suas instalações:
gnome-open
no Gnome (duh)exo-open
Em XFCE [veja os comentários no link gnomexdg-open
Pode funcionar em muitos ambientes (supostamente funciona no KDE) [veja os comentários no link Gnome- Apenas simples
kfmclient exec
(oukfmclient4 exec
) em KDE (não consegui encontrar uma referência akde-open
Como Rob H sugere, e não tem um sistema KDE à mão para experimentá -lo)
Agora o Mac OS X fornece o open
Comando que funciona como clicar no arquivo no localizador (ou seja, ele pergunta ao sistema operacional ...)
Várias correções graças a efemiente Nos comentários. Não vou discutir mailcap
, porque eu nunca entendi e esqueci que existia ...
Outras dicas
A resposta difere dependendo do ambiente da área de trabalho que você está usando. Desde que você mencionou o Okular, vou assumir que você está usando o KDE. Então tente:
kde-open <file>
Para o Gnome, existe o equivalente:
gnome-open <file>
Para responder isso sozinho, eu defini uma função simples (Bash) que funciona da maneira que espero:
function show {
xdg-open $1 &> NUL
}
O XDG-Open era quase exatamente o que eu queria, mas permite que os avisos de programa feios deslizem para dentro da concha, que o acima parece consertar.
Obrigado a todos.