Je crée une page Web en ce moment et je me demande s'il est possible de saisir une commande en HTML qui ouvrira une application Ubuntu installée comme Chromium, ou une fenêtre de terminal, ou Nautilus.
Est-ce que quelque chose comme ça est possible? Merci!
Réponses:
Oui, vous pouvez en ajoutant un nouveau gestionnaire de protocole dans votre Ubuntu. La méthode suivante vous montrera comment enregistrer le processus d'ouverture d'une application en tant que
app://[application_name]
gestionnaire de protocole dans Ubuntu.1. Créer un script de lancement d'application
Dans une exécution de terminal:
Cette commande crée un
bin
répertoire dans votrehome
dossier si vous ne l'avez pas déjà.Après la course:
Cela créera le nouveau fichier
open_app.sh
dans gedit.Copiez et collez le script suivant dans le nouveau fichier créé:
Enregistrez le fichier et fermez-le.
Retournez dans le terminal et exécutez:
pour accorder un accès d'exécution au script.
2. Créez un fichier .desktop pour le lanceur d'applications
Vous devez maintenant créer un lanceur .desktop pour le script ci-dessus et dire à Ubuntu d'utiliser ce lanceur comme
app://
gestionnaire de protocole. Créez un/usr/share/applications/appurl.desktop
fichier à l'aide de la commande suivante:et ajoutez le contenu suivant:
Enregistrez le fichier et fermez-le.
3. Actualiser la base de données des types MIME
Dans le fichier ci-dessus, le gestionnaire de schéma de
MimeType=x-scheme-handler/app;
registre de ligneapp://
, mais pour le faire fonctionner, nous devons mettre à jour le cache de la base de données des types MIME en exécutant la commande:4. Test depuis le terminal
Maintenant, tout devrait fonctionner. Pour tester son fonctionnement à partir du terminal, exécutez par exemple cette commande:
4. Testez à partir du navigateur en utilisant HTML
Vous pouvez tester à partir du navigateur en utilisant par exemple la page Web HTML suivante:
Le résultat:
la source
app://
gestionnaire de schéma. En utilisant laexec()
fonction de PHP, par exemple, ce script peut être exécuté pour s'exécuter dans le navigateur.radu
votre nom enappurl.desktop
. Comme:Exec=/home/{YOUR NAME HERE}/bin/open_app.sh %u
app://shell-exec myscript.sh
où shell-exec n'est qu'un autre script (#!/bin/sh "$@" exec "$SHELL"
)Oui, cela s'appelle des "gestionnaires de protocoles basés sur le Web". Vous avez besoin de Chrome 13 ou Firefox 3.0 ou supérieur. Je l'ai vu utilisé pour ouvrir LibreOffice.
Les deux Mozilla et updates.html5rocks ont une explication sur la façon dont cela fonctionne. (Ouvrir dans Chrome / Chromium
chrome://settings/handlers
et il affichera une liste des gestionnaires actuels. Firefox les répertorieraabout:config
.)Pièces du 1er lien:
Enregistrement
La configuration d'une application Web en tant que gestionnaire de protocole n'est pas un processus difficile. Fondamentalement, l'application Web utilise registerProtocolHandler () pour s'enregistrer auprès du navigateur en tant que gestionnaire potentiel pour un protocole donné. Par exemple:
Où les paramètres sont:
Lorsqu'un navigateur exécute ce code, il doit afficher une invite à l'utilisateur, demandant la permission d'autoriser l'application Web à s'enregistrer en tant que gestionnaire du protocole. Firefox affiche une invite dans la zone de barre de notification.
Exemple
la source
scheme
n'est limité qu'à quelques-uns. La solution acceptée offrira une meilleure résolution (bien sûr avec quelques ajustements si nécessaire).