Tengo una máquina Linux a la que inicio sesión regularmente a través de ssh (masilla) desde Windows. Estoy ejecutando VcXsrv X-server en mi escritorio de Windows. Principalmente uso esto para ejecutar un depurador (ddd) y firefox para acceder a nuestro sistema de revisión de código basado en la web. Es conveniente utilizar Linux Firefox para poder iniciarlo desde un script. Normalmente ejecuto esto con "-new-tab" para no seguir creando nuevas ventanas.
Ahora tengo una nueva máquina Linux de actualización que estoy ejecutando junto a la anterior por el momento. Lo que he notado es un comportamiento extraño: cuando inicio una nueva sesión de Firefox si ya hay una en ejecución en cualquiera de las máquinas, entonces la usa.
Lo que me gustaría poder hacer es iniciar como una nueva pestaña, pero solo bajo la instancia de Firefox de la máquina actual, no una instancia de una máquina diferente que se muestra en el mismo servidor X.
He estado jugando con varias banderas, incluyendo -no-remote, -new-instance y también definiendo y usando perfiles específicos. Sin embargo, no he podido obtener el resultado deseado. O aparece el comportamiento que describí anteriormente, o aparece un error que dice algo como "Firefox ya se está ejecutando pero no responde, ciérrelo".
EDITAR: Me han pedido que edite esto para proporcionar algunos ejemplos.
OKAY. En lo que sigue me referiré a M_OLD y M_NEW. Estas son máquinas separadas que ejecutan diferentes versiones de Linux con diferentes versiones de Firefox (1.5 y 19). Me conecto a ambos a través de un cliente ssh llamado Putty y reenvío X a un servidor X en mi escritorio de Windows. Solo hay un servidor X involucrado.
Ejemplo 1:
Entonces, desde mi sesión de masilla hasta M_OLD, ejecuto:
firefox www.google.com &
y desde mi sesión de masilla M_NEW ejecuto:
firefox www.imdb.com &
entonces obtengo una ventana de Firefox 1.5 con dos pestañas. Si hago lo mismo a la inversa, obtengo el mismo resultado pero con firefox 19. En otras palabras, como se describe en un comentario a continuación, el primer comando lanza una instancia de firefox, el segundo simplemente le dice a la instancia existente que abra una nueva pestaña. Incluso si la instancia está en otra máquina, siempre que sea el mismo servidor X.
Sin embargo, no quiero esto. Quiero tener instancias separadas para máquinas separadas. Entonces:
Ejemplo 2
Entonces, desde mi sesión de masilla hasta M_OLD, ejecuto:
firefox -no-remote www.google.com &
y desde mi sesión de masilla M_NEW ejecuto:
firefox -no-remote www.imdb.com &
Ahora tengo dos instancias separadas de firefox. Sin embargo, si ejecuto en M_NEW:
firefox -no-remote www.google.com &
Lo tendré
Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system.
e incluso si lo intento
firefox -no-remote -new-instance www.google.com &
o solo
firefox -new-instance www.google.com &
entonces aún tendré el error.
Lo que realmente quiero, y puede que no sea posible, es tener una instancia separada para cada máquina, pero si se inicia una nueva URL desde esa máquina, se abre una nueva pestaña. Parece que solo puedo tener una instancia con nuevas pestañas para cada URL, o una instancia por máquina, pero solo una a la vez.
Esperemos que sea más claro.
ssh -X
correcta?
--no-remote
. ¿Podrías editar tu pregunta y decirnos cuándo recibes el mensaje "Firefox ya se está ejecutando"? La ejecución firefox -no-remote
debería iniciar una nueva instancia de Firefox que se ejecute en la máquina remota pero se muestre en su servidor X local.
-p -no-remote
. Esto permite comenzar con un nuevo perfil Fx. Ver las opciones de la línea de comando . Para conectarse al proceso Fx existente, puede probar firefox https://www.mozilla.org
ofirefox -remote "openURL(https://www.mozilla.org, new-tab)"