2 votes

créer un nouveau type de fichier avec une extension existante

J'ai fait une application Qt, appelons-la "alpha", qui ouvre et génère .zip fichiers. Donc en gros, mes fichiers créés par l'application ont l'extension .alpha mais ils sont essentiellement .zip les dossiers. Comment puis-je associer .alpha avec mon application "alpha" ? Actuellement, par défaut, l'application .alpha ouverts avec le gestionnaire d'archives (parce que le système les voit comme des .zip ).

J'ai examiné de nombreuses solutions possibles, sans succès. J'ai essayé les méthodes suivantes :

  1. J'ai créé un alpha.xml dans /usr/share/mime/packages

    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
        <mime-type type="application/alpha">
            <comment>ALPHA File</comment>
            <glob pattern="*.alpha"/>
        </mime-type>
    </mime-info>

    Maintenant, quand je clique sur abc.alpha j'obtiens une erreur disant :

    Could not display "abc.alpha". There is no application installed for "ALPHA File" files.
  2. J'ai édité le /etc/mime.types pour inclure la ligne suivante :

    application/alpha                zip
  3. J'ai créé le fichier alpha.desktop - cela fonctionne bien, car ALPHA est maintenant affiché dans "ouvrir avec d'autres applications". Cependant, je ne peux toujours pas double-cliquer sur un .alpha pour l'ouvrir dans mon programme.

Comment puis-je résoudre ce problème ? Merci d'avance.

3voto

Dimitri Podborski Points 2326

De Applications par défaut d'Archlinux :

  1. Créez votre fichier xml dans ~/.local/share/mime/packages (Je suppose que /usr/share/mime/packages est également acceptable, mais je ne l'ai pas testé)

    mkdir -p ~/.local/share/mime/packages
    touch ~/.local/share/mime/packages/application-alpha.xml
  2. Editar application-alpha.xml :

    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
        <mime-type type="application/alpha">
            <comment>alpha file</comment>
            <glob-deleteall/>
            <glob pattern="*.alpha"/>
        </mime-type>
    </mime-info>
  3. Maintenant, créez le fichier de bureau ~/.local/share/applications/alpha.desktop :

    [Desktop Entry]
    Name=Alpha
    Exec=/PATH/TO/YOUR/alpha
    MimeType=application/alpha
    Terminal=false
    Type=Application

    ajoutez le bon chemin d'exécution à votre application alpha, et si c'est une application console, changez Terminal en true.

  4. Maintenant, mettez à jour les applications et la base de données mime avec :

    update-desktop-database ~/.local/share/applications
    update-mime-database    ~/.local/share/mime

Maintenant si vous double-cliquez sur votre fichier abc.alpha /PATH/TO/YOUR/alpha devrait ouvrir votre fichier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X