Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Zura! - Busque. Compare. Compre.

Outras ofertas

Notebook

Monitor

Impressora

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Criando meu próprio MIME-type

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ê!

Introdução

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.

Criando um MIME-type (extensão de arquivo -> MIME-type)

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:

  1. Confira se o seguinte arquivo foi criado:

    ~/.local/share/mime/application/keepassx.xml
  2. Rode os 2 comandos abaixo utilizando um arquivo .kdb como modelo
      $ xdg-mime query filetype  myfile.kdb
      application/keepassx
    

      $ gnomevfs-info  myfile.kdb
      ...
      MIME type         : application/keepassx
      ...
    
  3. No Nautilus, clique com o botão direito do mouse sobre o arquivo .kdb e clique em "Properties". A propriedade "Type" deverá ter o valor: "KeePass Password Database (application/keepassx)"

Se o novo MIME-type foi criado com sucesso, podemos proceder.

Associando uma imagem a um MIME-type (imagem -> extensão)

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.

Associando um programa a um MIME-type (programa -> extensão)

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!

Configurando (MIME) para todos os usuários

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/.

Instalando MIME-type para o aplicativo desenvolvido pela sua empresa

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 é?!

Referências

A documentação do GNOME sobre MIME-types é muito boa. Não é necessário nada a mais.

Veja a relação completa dos artigos de Thiago Cesar Vieira

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato PDF
Newsfeed RSS
Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 4.11/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 4.1 /5 (322 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Criando Aplicações para Redes Sociais


Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

Grupo MBS