2011-02-25 4 views

Répondre

69

Le plus une distribution croisée est xdg-open http://stackoverflow.com

+5

Malheureusement pas présent dans RHEL –

+0

Je crois http: //stackoverflow.com/a/9293402/2498188 devrait être la bonne réponse. –

+0

@ OndraŽižka sensible-browser est aussi seulement debian, n'est-ce pas? Qu'est-ce qui fonctionnerait chez RHEL? – cmc

8

En Java (version 6+), vous pouvez aussi le faire:

Desktop d = Desktop.getDesktop(); 
d.browse(uri); 

Bien que cela ne fonctionnera pas sur tous les systèmes Linux . Au moment de l'écriture, Gnome est supporté, KDE ne l'est pas.

1

Je pense qu'une combinaison de xdg ouvert tel que décrit par shellholic et - si elle ne parvient - la solution à la recherche d'un navigateur en utilisant la commande which comme décrit here est probablement la meilleure solution.

3

Je pense qu'utiliser xdg-open http://example.com est probablement le meilleur choix.

Dans le cas où ils ne l'ont pas installé je suppose qu'ils pourraient avoir juste kde-open ou gnome-open (les deux qui prennent un seul fichier/url) ou une autre solution de contournement, comme une boucle sur les noms exécutables du navigateur commun jusqu'à ce que vous trouviez un qui peut être exécuté (en utilisant lequel). Si vous voulez une liste complète de solutions de contournement/fallbacks, je vous suggère de lire xdg-open (c'est un script shell qui appelle kde-open/gnome-open/etc ou un autre moyen de secours). Mais comme xdg-open et xdg-mime (utilisé pour l'une des fallbacks) sont des scripts shell, je recommande de les inclure dans votre application et si l'appel which xdg-open échoue, ajoutez-les à la variable temporaire PATH dans votre environnement de sous-programmes et appelez-les. Si xdg-open échoue, je recommanderais de lancer une exception avec un message d'erreur à partir de ce qui est sorti sur stderr et d'attraper l'exception et d'imprimer/afficher le message d'erreur.

Je voudrais ignorer la solution de bureau java awt car le bug semble indiquer qu'ils ne prévoient pas de prendre en charge des postes de travail non-gnome de sitôt.

1
sensible-browser [options] [URL or filename]; # Said to be the best. 
# Server translates to: 
echo $BROWSER; 
w3m [options] [URL or filename] 
# Desktop (X11): I use/prefer, 
x-www-browser http://tv.jimmylandstudios.com 
+4

S'il vous plaît envisager d'ajouter quelques détails à votre réponse. –

11

Je crois que la méthode la plus simple serait d'utiliser Python:

python -m webbrowser "http://www.example.com/" 
+0

fonctionne comme un charme.aussi cross plate-forme (au moins fonctionne sur mac & linux) –

0

Sur les distributions qui viennent avec la commande ouverte,

$ open http://www.google.com 
+1

Sur Ubuntu 16.04 cela ne fonctionne pas car il essaie d'ouvrir le fichier. – omikron

Questions connexes