Kiedy przesyłam SSH do zdalnego urządzenia
$ ssh -X remotebox
następnie uruchom Firefoksa na zdalnym urządzeniu
remotebox$ firefox
i mam firefox działający na moim komputerze lokalnym, otworzy się lokalne okno firefox. na zdalnym urządzeniu nie działa żaden proces firefox.
Jeśli firefox nie działa na moim komputerze lokalnym, otworzy się okno zdalnego firefoxa.
Dlaczego otwiera lokalne okno Firefoksa? Jak mogę temu zapobiec?
Oto więcej informacji o moim systemie lokalnym.
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
Informacje o pilocie.
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
Następujące polecenie uruchamia zdalną sesję firefox ze zdalnym oknem firefox.
remotebox$ firefox -no-remote
Poniższe polecenie powoduje krótkie opóźnienie, a następnie wraca do monitu i pojawia się lokalne okno firefox. Brak programu firefox uruchomionego na pilocie.
remotebox$ firefox
Informacje 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
Następujące polecenie w remotebox2 uruchamia zdalną sesję firefox zgodnie z oczekiwaniami.
remotebox2$ firefox
Nie wiem, dlaczego firefox na remotebox2 rozpoczyna sesję zdalną zamiast sesji lokalnej.
$DISPLAY
zmiennej zarówno na maszynie lokalnej, jak i zdalnej?$DISPLAY
wydaje się , że to nie problem, ssh wydaje się poprawnie konfigurować.Odpowiedzi:
poza tym jest
firefox -no-remote
inny parametr,firefox -no-xshm
który ujawnia technikę zastosowaną do jego działania.Pamięć współdzielona X11 to technika komunikacji międzyprocesowej, z której mogą korzystać wszystkie aplikacje podłączone do danej sesji x serwera. Można go używać do przeciągania i upuszczania oraz innego rodzaju interakcji na pulpicie.
Może być (i jest) wykorzystywany również do implementacji aplikacji „otwórz raz”, aby zmniejszyć powierzchnię (lub liczbę okien).
Ponieważ protokół X11 jest przezroczysty dla sieci, „pamięć współdzielona” zostaje rozszerzona również na zdalnych klientów X11.
źródło
Próbować
firefox -no-remote
źródło
sshd_config
, możesz mieć sytuację, w której jest wykonywany i tunelowany z powrotem.Uwaga: kopałem kopułę, ponieważ mnie to wkurzyło i możesz również dodać:
do twojego profilu.
źródło
Możesz tego spróbować po podłączeniu do komputera (
ssh user@host
; uwaga: bez opcji -X), najpierw wpisz polecenie followspowoduje to zmianę domyślnego wyświetlania na bieżący ekran pulpitu. A potem po prostu wpisz
, aby firefox pojawił się w oknie pulpitu. Upewnij się, że zalogowałeś się na pulpicie, bez którego (bez logowania) pojawi się następujący błąd;
Ta metoda działa również w przypadku zablokowanych komputerów stacjonarnych. Upewnij się, że zalogowałeś się na pulpicie i powłoce ssh z tą samą nazwą użytkownika.
Gdy istnieje wiele sesje stacjonarne, każda sesja jest identyfikowany przez inną liczbę jako
:0
,:1
,:2
, itd.źródło
Żadne inne rozwiązanie nie działało dla mnie, więc było to po odrobinie wyszukiwania na innych stronach.
Musisz uruchomić Firefoksa w osobnym procesie w taki sam sposób, jak gdybyś robił to wszystko na komputerze lokalnym. Użyj menedżera profili, aby utworzyć nowy profil w następujący sposób.
Aby zachować spójność, postanowiłem nazwać każdy nowy profil na komputerze zewnętrznym taką samą nazwą hosta.
źródło
Proste zdalne przeglądanie
Jeśli chcesz przeglądać Internet lokalnie, tak jakbyś siedział przed zdalnym urządzeniem:
następnie uruchom Firefox w zdalnej sesji terminalowej :
Zwróć uwagę na użycie
-X
flagi wssh
poleceniu. Możesz również wykonać oba kroki za jednym razem, jak pokazano poniżej:Tunelowanie zdalnego portu IP:
Jeśli masz aplikację działającą zdalnie, która udostępnia interfejs sieciowy, będziesz zainteresowany ujawnieniem zdalnego portu IP: tak, jakby to był lokalny port IP:. W takim przypadku
-L
opcja określa zgodność międzylocalhost:localport
iremotehost:remoteport
, jak pokazano w pseudo poleceniu poniżej:Na przykład:
następnie uruchom Firefox lokalnie :
W powyższym przykładzie łączysz się przez SSH
[email protected]
i jesteś zainteresowany frontendem internetowym widocznym nainternal.example.com:8080
. Ten zdalny port IP: zostanie ujawniony lokalnie pod adresem127.0.0.1:18080
.źródło
Dodam tylko to, co dla mnie zadziałało. Po prostu użycie
firefox -no-remote
nie powiodło się ze zwykłym błędemJednak następujące działały:
-Y
Opcja umożliwia przekazywanie zaufaną X11. Zaufane przekazywanie X11 nie podlega kontrolom rozszerzenia X11 SECURITY. Można również rozważyć dodanie-C
opcji dossh
polecenia włączania kompresji.źródło