it-swarm.dev

Jak spustím vzdálené okno firefox přes SSH?

Když jsem SSH do vzdálené schránky

$ ssh -X remotebox

poté spusťte Firefox ve vzdálené schránce

remotebox$ firefox

a mám na svém lokálním počítači spuštěn firefox, otevře se místní okno firefox. Ve vzdálené schránce není spuštěn žádný proces Firefox.

Pokud na mém místním počítači není spuštěn firefox, otevře se vzdálené okno firefox.

Proč otevírá místní okno firefox? Jak tomu mohu zabránit?


Zde jsou další informace o mém místním systému.

Linux lesmana-laptop 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.1 LTS
Release:    10.04
Codename:   lucid

DISPLAY=:0.0

Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org

Informace o vzdálené schránce.

Linux dxray 2.6.22.19-0.4-default #1 SMP 2009-08-14 02:09:16 +0200 x86_64 x86_64 x86_64 GNU/Linux

LSB Version:    core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-AMD64:desktop-3.1-noarch:graphics-2.0-AMD64:graphics-2.0-noarch:graphics-3.1-AMD64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description:    openSUSE 10.3 (X86-64)
Release:    10.3
Codename:   n/a

DISPLAY=localhost:15.0

Mozilla Firefox 3.0.14, Copyright (c) 1998 - 2009 mozilla.org

Následující příkaz spustí vzdálenou relaci firefox se vzdáleným oknem firefox.

remotebox$ firefox -no-remote

Následující příkaz způsobí krátké zpoždění, poté klesne zpět do výzvy a objeví se místní okno firefox. Ve vzdálené schránce není spuštěn žádný proces Firefox.

remotebox$ firefox

Informace o Remotebox2.

Linux marvin 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 GNU/Linux

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 9.10
Release:    9.10
Codename:   karmic

DISPLAY=localhost:11.0

Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org

Následující příkaz na remotebox2 spustí vzdálenou relaci firefox podle očekávání.

remotebox2$ firefox

Nevím, proč firefox na remotebox2 spustí vzdálenou relaci namísto místní relace.

57
lesmana

kromě firefox -no-remote dalším parametrem je firefox -no-xshm, která odhaluje techniku ​​použitou k tomu, aby fungovala.

Sdílená paměť X11 je technika meziprocesové komunikace, kterou mohou používat všechny aplikace připojené k dané relaci x serveru. Může být použit k provádění drag & drop a jiných interakcí na ploše.

Může být (a používá se) také k implementaci aplikací „otevřeno jednou“, aby se snížila stopa (nebo počet oken).

Protože protokol X11 je síťově transparentní, je „sdílená paměť“ rozšířena i na vzdálené klienty X11.

49
ithkuil

Snaž se firefox -no-remote

Všimněte si, kopal jsem kopuli, protože mě to obtěžovalo a můžete také jen přidat:

MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE

do vašeho profilu.

11
user2577

Můžete to zkusit, když jste připojeni ke stroji (ssh [email protected]; poznámka: bez možnosti -X), nejprve zadejte příkaz follow

export DISPLAY=:0 

toto by změnilo výchozí zobrazení na aktuální obrazovku na ploše. A pak jen napište

firefox

aby se na ploše objevilo firefox. Ujistěte se, že jste se přihlásili na plochu, bez níž (bez přihlášení) se zobrazí následující chyba;

firefox: cannot connect to X server :0

Tato metoda by fungovala také pro uzamčené stolní počítače. Ujistěte se, že jste se přihlásili na plochu a ssh Shell pomocí stejného uživatelského jména.

Pokud existuje více relací na ploše, je každá relace označena jiným číslem jako :0, :1, :2, atd.

4
josip b

Žádné jiné řešení pro mě nefungovalo, takže to bylo po trošku hledání na jiných stránkách.

Firefox musíte spustit v samostatném procesu stejným způsobem, jako kdybyste to všechno dělali na místním počítači. Takto vytvořte nový profil pomocí správce profilů.

export MOZ_NO_REMOTE=1
firefox -ProfileManager

Z důvodu zachování konzistentnosti jsem se rozhodl pojmenovat každý nový profil na externím stroji stejně jako jméno hostitele.

2
verayth

Jednoduché vzdálené procházení

Pokud byste chtěli procházet web místně, jako byste seděli před vzdáleným boxem:

$ ssh -X [email protected]

pak spusťte Firefox vnitř vzdálené relace terminál:

$ firefox https://test-ipv6.com/

Všimněte si použití příznaku -X V příkazu ssh. Můžete také provést oba kroky najednou, jak je uvedeno níže:

$ ssh -X [email protected] firefox http://test-ipv6.com/

Tunelování vzdáleného IP: portu

Pokud máte aplikaci spuštěnou na dálku, která odhaluje nějaký druh webového rozhraní, bude vás zajímat odhalení vzdáleného portu IP: jako by to byl místní port IP:. V tomto případě volba -L Definuje korespondenci mezi localhost:localport A remotehost:remoteport, Jak je ukázáno v níže uvedeném příkazu pseudo:

ssh -L localhost:localport:remotehost:remoteport [email protected]

Například:

$ ssh -L 127.0.0.1:18080:internal.example.com:8080 [email protected]

pak spusťte Firefox místně:

$ firefox http://127.0.0.1:18080

Ve výše uvedeném příkladu se připojujete přes SSH na [email protected] A máte zájem o webové rozhraní vystavené na internal.example.com:8080. Tento vzdálený port IP: bude vystaven místně na 127.0.0.1:18080.

1
Richard Gomes

Přidám jen to, co pro mě fungovalo. Jednoduše pomocí firefox -no-remote selhalo s obvyklou chybou

Error: GDK_BACKEND does not match available displays

Následující však fungovaly:

ssh -Y [email protected]
firefox -no-remote

The -Y volba povoluje důvěryhodné předávání X11. Důvěryhodné předávání X11 nepodléhá ovládacím prvkům rozšíření X11 SECURITY. Můžete zvážit přidání -C možnost příkazu ssh pro povolení komprese.

0
oczkoisse