No meu conhecimento, você pode definir um aplicativo padrão por meio do xdg-mime.
xdg-mime default okular.desktop application/pdf
Para verificar se funcionou:
xdg-mime query default application/pdf
Há muito tempo atrás, era possível definir aplicativos padrão por meio da linha de comando no arquivo ~/.local/share/applications/defaults.list
. Mas esse arquivo não está mais por aí.
Como eu poderia definir o Okular como o leitor de documentos padrão no Ubuntu 16.04 usando a linha de comando?
No meu conhecimento, você pode definir um aplicativo padrão por meio do xdg-mime.
xdg-mime default okular.desktop application/pdf
Para verificar se funcionou:
xdg-mime query default application/pdf
Os aplicativos padrão parecem estar definidos globalmente nos pares de associação /usr/share/applications/defaults.list
entre o aplicativo e o arquivo. Associações de arquivos específicas do usuário podem ser definidas no arquivo ~/.local/share/applications/defaults.list
. Este arquivo pode não existir - talvez após uma nova instalação do Ubuntu - mas pode ser criado pelo usuário.
Agora, uso um script como o abaixo para associar aplicativos a tipos de arquivo. Neste exemplo, o Okular está associado a todos os tipos de documentos (substituindo o Evince).
#!/bin/bash
if [ -e ~/.local/share/applications/defaults.list ]
then
echo "The file exists"
sed 's/evince/okular/' ~/.local/share/applications/defaults.list > ~/.local/share/applications/defaults.list
else
echo "The file does not exist"
sed 's/evince/okular/' /usr/share/applications/defaults.list > ~/.local/share/applications/defaults.list
fi