O gerenciador de arquivos (Nautilus, por padrão) usa o tipo MIME de um arquivo para determinar com qual programa abri-lo. Quando um aplicativo é instalado, ele pode especificar quais tipos MIME ele pode abrir e o comando a ser usado para abrir os arquivos no arquivo .desktop em que ele é colocado /usr/share/applications
. Esse é o arquivo usado para menus, atalhos da área de trabalho etc.
Por exemplo, o GIMP possui o seguinte arquivo .desktop:
[Desktop Entry]
Version=1.0
Type=Application
Name=GNU Image Manipulation Program
GenericName=Image Editor
Comment=Create images and edit photographs
Exec=gimp-2.7 %U
TryExec=gimp-2.7
Icon=gimp
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=GIMP
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.7.2
X-GNOME-Bugzilla-OtherBinaries=gimp-2.7
StartupNotify=true
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;application/pdf;image/x-wmf;image/jp2;image/jpeg2000;image/jpx;image/x-xcursor;
Consulte o MimeType
campo - isso lista os tipos MIME suportados. O Exec
campo instrui o sistema a usar o comando gimp-2.7 %U
, substituindo '% U' pelos arquivos a serem abertos. (Nota: O GIMP 2.7 é uma versão que instalei a partir de um PPA, portanto, é superior à versão atual nos repositórios do Ubuntu).
Quando o pacote de aplicativos é instalado, o sistema extrai esses dados do tipo MIME em um banco de dados mais facilmente acessível, porque a procura em cada arquivo .desktop levaria muito tempo se fosse feita toda vez que um arquivo fosse aberto.
Isso informa ao sistema quais aplicativos podem ser usados para esse tipo MIME e fornece os aplicativos na lista 'Abrir com'. O padrão é definido em outro lugar. O arquivo /usr/share/applications/defaults.list
fornece as informações para os padrões do sistema. A menos que você escolha o contrário, esses são os aplicativos usados quando você 'abre' um arquivo.
/usr/share/applications
.desktop
arquivos, existe um comando para recriar esse banco de dados MIME para ver novas associações em ação?sudo update-desktop-database
Veja jarrpa.net/2011/10/28/…/usr/local/share/applications
. Eu acho que o gtk também está lá, por padrão. Ele funciona no meu sistema, mas foi atualizado (não reinstalado) desde o Ubuntu 7.04 ou mais.Para complementar a excelente resposta do dv3500ea, gostaria de adicionar algumas informações sobre o que acontece quando você altera suas associações.
Enquanto o defaults.list (que você pode encontrar digitando 'localizar defaults.list') fornece a lista de aplicativos associados a cada tipo MIME, as personalizações feitas são armazenadas no diretório inicial, em ~ / .local / share / applications / mimeapps.list. Portanto, se você adicionar ou remover associações ou alterar a associação padrão, esse arquivo será atualizado.
O Guia de Administração do Sistema GNOME para Desktop em http://library.gnome.org/admin/system-admin-guide/stable/ não parece discutir o mimeapps.list, mas eu encontrei a seguinte descrição em http: //live.gnome .org / SysAdminGuideUpdate :
fonte
mimeapps.list
é substituído por entradas nodefaults.list
.~/.local/share/applications/mimeapps.list
e processos em execução como o pcmanfm capturavam as alterações sem reiniciar. . (mplayer.desktop é apenas executa mplayer eu tinha um em torno de mentir de uma mplayer velho instalar em / usr / local, eu acho IDK se ter um.MimeType=list;
era necessário ou não.mimeapps.list
pode estar em qualquer lugar no seguinte caminho de pesquisa: Specifications.freedesktop.org/mime-apps-spec/…Descobri que no meu sistema (Debian Jessie) também
~/.config/mimeapps.list
havia uma associação que eu criei acidentalmente para abrir um tipo de arquivo específico com o gedit. Nenhuma das maneiras padrão de corrigir isso (configurações padrão do aplicativo, Thunar é aberto com propriedade) refletia isso, mas o gedit era o aplicativo padrão.Consegui remover a linha
~/.config/mimeapps.list
e agora o aplicativo correto abre o arquivo.fonte
~/.config/mimeapps.list
.mimeapps.list
pode ser em qualquer lugar do seguinte caminho: specifications.freedesktop.org/mime-apps-spec/...Encontrei este link sobre a associação padrão, pode ser útil. https://wiki.archlinux.org/index.php/Default_Applications
para associação global:
por associação de usuário:
sintaxe é a seguinte:
A seção [Associações Adicionadas] é usada para especificar aplicativos preferidos (padrão) em preferência decrescente. o que significa que o arquivo de desktop1 é o mais preferido e o arquivo de desktopN é o menos preferido.
A seção [Associações removidas] é usada para remover explicitamente quaisquer associações herdadas anteriormente.
fonte
/usr/share/applications/mimeapps.list
não existe.mimeapps.desktop
comdefaults.desktop
Consegui definir uma associação como esta:
Você também pode remover associações e fazer outras coisas:
man xdg-mime
Eu não precisava correr
sudo update-desktop-database
.fonte
Crie um arquivo
truecrypt.desktop
em~/.local/share/applications
com as seguintes linhas:edite o arquivo
~/.local/share/applications/mimeapps.list
e adicione a seguinte linha:Eu descobri o tipo mime do Truecrypt seguindo este comando:
fonte
mimeapps.list
caminho de pesquisaOutros mencionaram este arquivo, mas nenhum explicou sua localização com precisão.
O padrão freedesktop.org diz em https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.html :
e os valores padrão para essas variáveis de ambiente são fornecidos em https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.6.html :
$XDG_DATA_HOME
:$HOME/.local/share
$XDG_CONFIG_HOME
:$HOME/.config
$XDG_DATA_DIRS
: none, anexado aXDG_DATA_HOME
$XDG_CONFIG_DIRS
: none, anexado aXDG_CONFIG_HOME
As versões mais antigas do Ubuntu podem não estar disponíveis
~/.config
, por isso tente~/.local/share
também.Comandos como:
irá editar automaticamente esses arquivos.
fonte
Para todos os usuários:
Cada usuário possui um arquivo de configuração para substituir esses padrões:
consulte também https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html para locais que podem ser usados para substituir padrões.
Você deve conhecer o tipo MIME do arquivo que deseja alterar sua associação.
Além disso, todas as associações podem ser alteradas na linha de comando usando:
fonte
O Freedesktop.org (anteriormente chamado de X Desktop Group, portanto, a abreviatura "XDG") é o grupo que atualmente dirige padrões X como este ( saiba mais na Wikipedia ).
A resposta de warvariuc já menciona o uso do xdg-mime como:
Depois de brincar muito com editores e visualizadores de imagens, acabei com visualizadores diferentes para diferentes tipos de imagem com quase nenhuma consistência, especialmente entre os tipos de imagem mais raros.
Peguei o comando acima e o atribuí a cada um dos tipos MIME controlados pelos visualizadores de imagens e, em seguida, criei um novo
image-viewer.desktop
clonando um deles (isso é opcional, você pode simplesmente reutilizar o seu favorito). Em seguida, verifiquei manualmente que nenhum dos tipos MIME seria incompatível com meu novo aplicativo preferido. Por fim, defino esse aplicativo como padrão para todos os tipos MIME de outros aplicativos:Isso examina os
.desktop
arquivos de cada um dos visualizadores ( Ristretto , Geeqie e GThumb no meu caso), extrai a definição MIME (que é precedida porMimeType=
e contém uma lista delimitada por ponto-e-vírgula), remove o rótulo de prefácio (correspondido anteriormente) e divide a lista em uma entrada por linha.sort -u
remove as linhas redundantes e são entreguesxdg-mime
para definir os novos padrões.(Se você quiser testar isso antes de executá-lo ao vivo, mude
xargs
paraxargs echo
e ele imprimirá o comando resultante em vez de executá-lo.)Essa técnica deve funcionar para qualquer coisa que você queira recuperar para um aplicativo de destino. Você nem precisa criar um novo
.desktop
arquivo (você pode usar um existente). Eu dei esse passo extra para que, quando eu inevitavelmente mudei minha fidelidade entre os visualizadores de imagens, eu apenas precisasse alterar esse arquivo.fonte
No Ubuntu 18.04, achei a ordem de precedência da seguinte forma, do mais forte ao mais fraco:
~/.local/share/applications/defaults.list
/usr/share/applications/defaults.list
~/.config/mimeapps.list
("Abrir com outro aplicativo" atualizará isso)~/.local/share/applications/mimeapps.list
mimeinfo.cache
registro de aplicativos compatíveis, que são gerados a partir dos.desktop
arquivos presentes em/usr/share/applications
e/usr/local/share/applications
, e podem ser regenerados usandoupdate-desktop-database
./etc/gnome/defaults.list
fonte