De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Thiago Cesar Vieira
Data de Publicação: 03 de fevereiro de 2010
Você gostaria de abrir um arquivo em determinado programa apenas com o duplo clique?
Sente falta de um ícone em determinado tipo de arquivo para identificá-los facilmente no seu ambiente gráfico?
Então, esse artigo é para você!
MIME-type permite cadastrar determinada extensão de arquivo no ambiente gráfico. Com isso em mãos, é possível associar uma imagem a um arquivo e também abri-lo no aplicativo específico apenas clicando sobre o mesmo, sem precisar abrir o programa e carregá-lo por lá.
O ambiente gráfico GNOME permite fazer tudo isso facilmente.
Como exemplo criaremos o MIME-type para a extensão .kdb (KeePass Password Database). Esse arquivo binário armazena senhas criptografadas.
Keepass Password Safe é o programa (multiplataforma) que manipula esse arquivo. Em meu Linux uso o KeePassX.
Ao abrir o Nautilus (gerenciador de arquivos do GNOME) vemos que nenhum ícone especial é associado aos arquivos *.kdb e clicando sobre esse tipo de arquivo nenhum aplicativo é aberto:
"Could not display myfile.kdb. The file is of an unknown type."
Então, vamos iniciar o trabalho. Abaixo está o procedimento testado no GNOME 2.26.1. Os passos são similares no KDE.
Crie um arquivo chamado keepass.xml
em ~/.local/share/mime/packages/
.
~/.local/share/mime/
é a base de dados local de MIME-type, válido apenas para o usuário corrente. A base de dados global (válida para todos os usuários da máquina) está em: /usr/share/mime/
.
Mais informações sobre configurações globais veja a seção "Configurando (MIME) para todos os usuários" no final desse artigo.
O conteúdo do arquivo XML deve ser esse:
<?xml version="1.0" encoding="UTF-8"?> < mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <!-- Creating Mime-type for KeePass --> < mime-type type="application/keepassx"> < comment xml:lang="en">KeePass Password Database</comment> < glob pattern="*.kdb"/> </mime-type> </mime-info>
Veja que estamos associando a extensão .kdb ao MIME-type application/keepassx
.
Atualize a base de dados local de MIME.
$ update-mime-database ~/.local/share/mime/
Para ter certeza que o MIME-type foi instalado corretamente vamos fazer algumas verificações:
~/.local/share/mime/application/keepassx.xml
$ xdg-mime query filetype myfile.kdb application/keepassx
$ gnomevfs-info myfile.kdb ... MIME type : application/keepassx ...
KeePass Password Database (application/keepassx)
"
Se o novo MIME-type foi criado com sucesso, podemos proceder.
Associe o logo do KeePass a esse novo MIME-type criado. Salve essa imagem como keepass.png
e rode o comando abaixo.
$ xdg-icon-resource install --context mimetypes --size 64 --mode user keepass.png application-keepassx
Confira se ocorreu tudo certo. O logo deverá ser copiado para o caminho abaixo.
~/.local/share/icons/hicolor/64x64/mimetypes/application-keepassx.png
Atualize o Nautilus para conferir se o ícone foi associado aos arquivos *.kdb.
Para associar determinado aplicativo a um MIME-type, crie o arquivo ~/.local/share/applications/KeePass.desktop
e insira o conteúdo abaixo:
[Desktop Entry] Value=1.0 Name=KeePassX Comment=KeePassX Cross Platform Password Manager Categories=Utility Type=Application Exec=/usr/bin/keepassx MimeType=application/keepassx Icon=keepassx Encoding=UTF-8 StartupNotify=true Terminal=false NoDisplay=true
Perceba que estamos associando o MIME-type application/keepassx
ao programa /usr/bin/keepassx
.
Atualize a base de dados local de aplicativos.
$ update-desktop-database ~/.local/share/applications/
Confira se o arquivo '~/.local/share/applications/mimeinfo.cache
' foi atualizado.
Abra o Nautilus e dê 2 cliques sobre o arquivo myfile.kdb
. Abriu o programa KeePass? Legal!
As configurações acima para criar um MIME-type e ligá-lo a uma aplicação são válidas apenas para um único usuário (chamamos de configurações local).
Para aplicar essas configurações a todos os usuários do sistema (configurações globais), o procedimento é similar.
Alterações globais requerem permissões de root e atuam sobre diferente diretórios. Confira na tabela abaixo.
Local config (apenas para um único usuário) | Global config (válida para todos os usuários) |
---|---|
~/.local/share/mime/packages/ |
/usr/share/mime/packages/ |
~/.local/share/applications/ |
/usr/share/applications/ |
$ xdg-icon-resource install --mode user ... |
$ xdg-icon-resource install --mode system ... |
Isto é: para cadastrar um novo MIME-type a todos os usuários da máquina, copie o XML para /usr/share/mime/packages/
e não para ~/.local/share/mime/packages/
.
Perceba que não é apenas em casa que podemos encontramos utilidade a MIME-types. No ambiente corporativo eles também têm seu valor.
Se você trabalha num programa stand-alone e que manipula seus próprios arquivos, seria útil que na instalação do aplicativo você também instalasse o MIME-type para esse novo tipo de arquivo, não é?!
A documentação do GNOME sobre MIME-types é muito boa. Não é necessário nada a mais.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários