2011-02-25 23 views

Respuesta

69

La mayor parte de una distribución de cruz es xdg-open http://stackoverflow.com

+5

Por desgracia no está presente en RHEL –

+0

Creo http: //stackoverflow.com/a/9293402/2498188 debería ser la respuesta correcta. –

+0

@ OndraŽižka sensible-browser también es Debian, ¿no? ¿Qué funcionaría en RHEL? – cmc

8

En Java (versión 6+), también se puede hacer:

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

Aunque esto no funcionará en todos los Linuxes . En el momento de escribir, Gnome es compatible, KDE no lo es.

1

creo que una combinación de xdg-abierta como se describe por shellholic y - si falla - la solución a la búsqueda de un navegador usando el comando which como se describe here es probablemente la mejor solución.

3

Creo que el uso de xdg-open http://example.com es probablemente la mejor opción.

En caso de que no lo tienen instalado supongo que podría tener sólo kde-open o gnome-open (ambos de los cuales toman un único archivo/url) o alguna otra solución alternativa, como un bucle sobre los nombres ejecutables comunes del navegador hasta que encuentre una que puede ser ejecutado (usando cual) Si desea una lista completa de soluciones alternativas, sugiero leer xdg-open (es un script de shell que invoca kde-open/gnome-open/etc. O alguna otra alternativa).

Pero dado que xdg-open y xdg-mime (utilizados para uno de los retrocesos,) son guiones de shell, recomiendo incluirlos en su aplicación y si no se puede llamar al which xdg-open, agréguelos a la variable PATH temporal en el entorno de subprogramas y llamarles. Si xdg-open falla, recomendaría arrojar una excepción con un mensaje de error de lo que salió en stderr y capturar la excepción e imprimir/mostrar el mensaje de error.

Ignoraría la solución java awt Desktop ya que el error parece indicar que no planean admitir escritorios que no sean gnome en el corto plazo.

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

Considere agregar algunos detalles a su respuesta. –

11

creo que el método más simple sería utilizar Python:

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

funciona como un encanto.también plataforma cruzada (al menos funciona en Mac y Linux) –

0

En las distribuciones que vienen con la orden de apertura,

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

En Ubuntu 16.04 no funciona porque intenta abrir el archivo. – omikron

Cuestiones relacionadas