SSH를 통해 원격 파이어 폭스 창을 시작하려면 어떻게합니까?


56

원격 상자에 SSH로 연결할 때

$ ssh -X remotebox

그런 다음 원격 상자에서 파이어 폭스를 시작하십시오.

remotebox$ firefox

로컬 컴퓨터에서 firefox를 실행하면 로컬 firefox 창이 열립니다. 원격 상자에서 firefox 프로세스가 실행되고 있지 않습니다.

내 로컬 컴퓨터에서 firefox가 실행되고 있지 않으면 원격 firefox 창이 열립니다.

로컬 파이어 폭스 창을 여는 이유는 무엇입니까? 어떻게 방지 할 수 있습니까?


여기 내 로컬 시스템에 대한 추가 정보가 있습니다.

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

remotebox의 정보.

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

다음 명령은 원격 firefox 창으로 원격 firefox 세션을 시작합니다.

remotebox$ firefox -no-remote

다음 명령은 잠시 지연된 다음 다시 프롬프트로 돌아가고 로컬 파이어 폭스 창이 나타납니다. remotebox에서 firefox 프로세스가 실행되고 있지 않습니다.

remotebox$ firefox

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

remotebox2의 다음 명령은 예상대로 원격 firefox 세션을 시작합니다.

remotebox2$ firefox

remotebox2의 firefox가 로컬 세션 대신 원격 세션을 시작하는 이유를 모르겠습니다.


$DISPLAY로컬 머신과 원격 머신 모두에서 변수 의 내용을 얻을 수 있습니까 ?
사람 :

@ aperson, 업데이트 된 질문.
lesmana

감사 $DISPLAY합니다. 문제가되지 않는 것 같습니다 .ssh가 올바르게 설정 한 것으로 보입니다.
사람

답변:


46

이외의 firefox -no-remote 다른 매개 변수입니다 firefox -no-xshm그것이 작동되도록하는 데 사용되는 기술을 알 수있다.

X11 공유 메모리는 지정된 x 서버 세션에 연결된 모든 응용 프로그램에서 사용할 수있는 프로세스 간 통신 기술입니다. 끌어서 놓기와 다른 종류의 데스크탑 상호 작용을 수행하는 데 사용할 수 있습니다.

풋 프린트 (또는 창 수)를 줄이기 위해 "한 번만 열기"응용 프로그램을 구현하는 데에도 사용할 수 있습니다.

X11 프로토콜은 네트워크에 투명하므로 "공유 메모리"도 원격 X11 클라이언트로 확장됩니다.


x가 이것을하지 않도록 할 수있는 방법이 있습니까? 쉬운 배포를 위해 비디오 게임 / 와인 설정을 컨테이너화하려고하지만 컨테이너 사용자가 설치하고 실행하는 내용에 따라 지정되지 않은 동작이 발생하기 때문에 두통이 발생합니다. 이 솔루션을 사용하여 x 전달 : stackoverflow.com/a/25168483 을 수행 하고 컨테이너가 호스트와 메모리를 공유하지 않도록하십시오.
선생님 물질

그것은 나를 위해 작동하지 않습니다
Bob Ebert

낮은 제안을보십시오 : export MOZ_NO_REMOTE = 1
Kieveli

15

시험 firefox -no-remote


이것은 원격 파이어 폭스 창을 열 때 작동합니다. 그러나 여전히 원격 명령이 로컬 파이어 폭스 창을 열 수있는 이유를 이해하지 못합니다.
lesmana

@lesmana 이것은 x11 포워딩 때문일 수 있습니다-그것이 설정되어 있다면 sshd_config그것이 실행되고 터널링되는 상황이있을 수 있습니다.
Marco Ceppi

10

참고, 이것이 나를 괴롭히는 것으로 돔 파기를 했으므로 다음을 추가 할 수도 있습니다.

MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE

귀하의 프로필에.


4

머신에 연결했을 때 ( ssh user@host; 참고 : -X 옵션없이) 먼저 다음 명령을 입력하십시오.

export DISPLAY=:0 

이것은 기본 디스플레이를 현재 데스크탑 화면의 디스플레이로 변경합니다. 그런 다음 입력

firefox

데스크탑 창에 파이어 폭스가 생성되도록하십시오. 데스크탑에 로그인했는지 확인하십시오. 로그인하지 않으면 다음과 같은 오류가 발생합니다.

firefox: cannot connect to X server :0

이 방법은 잠긴 데스크톱에서도 작동합니다. 데스크탑과 ssh 쉘에 동일한 사용자 이름으로 로그인했는지 확인하십시오 .

여러 데스크톱 세션이있는 경우, 각 세션이 같은 다른 번호로 식별되고 :0, :1, :2, 등


그것은 나를 위해 일한 유일한 대답입니다.
answerSeeker

2

다른 솔루션 중 어느 것도 나를 위해 일하지 않았으므로 다른 사이트에서 약간의 검색을 한 후에였습니다.

로컬 시스템에서 모든 작업을 수행하는 것과 같은 방법으로 별도의 프로세스에서 firefox를 실행해야합니다. 프로파일 매니저를 사용하여 다음과 같이 새 프로파일을 작성하십시오.

export MOZ_NO_REMOTE=1
firefox -ProfileManager

일관성을 유지하기 위해 외부 컴퓨터의 각 새 프로필 이름을 호스트 이름과 동일하게 지정했습니다.


1

간단한 원격 브라우징

원격 상자 앞에 앉아있는 것처럼 웹을 로컬로 탐색하려면 다음을 수행하십시오.

$ ssh -X username@remote.example.com

그런 다음 원격 터미널 세션 에서 Firefox를 실행 하십시오 .

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

명령 -X에서 플래그 사용법을 확인 하십시오 ssh. 아래와 같이 한 번에 두 단계를 모두 수행 할 수도 있습니다.

$ ssh -X username@remote.example.com firefox http://test-ipv6.com/

원격 IP : 포트 터널링

어떤 종류의 웹 프론트 엔드를 노출시키는 응용 프로그램을 원격으로 실행하는 경우 원격 IP : 포트를 마치 로컬 IP : 포트 인 것처럼 노출하는 데 관심이 있습니다. 이 경우이 -L옵션은 아래 의사 명령에 표시된대로 localhost:localport와 사이의 대응 관계를 정의 remotehost:remoteport합니다.

ssh -L localhost:localport:remotehost:remoteport remoteuser@remotehost

예를 들면 다음과 같습니다.

$ ssh -L 127.0.0.1:18080:internal.example.com:8080 username@router.example.com

그런 다음 Firefox를 로컬로 실행하십시오 .

$ firefox http://127.0.0.1:18080

위의 예에서 SSH를 통해에 연결 username@router.example.com하고에 노출 된 웹 프런트 엔드에 관심이 internal.example.com:8080있습니다. 이 원격 IP : 포트는에 로컬로 노출됩니다 127.0.0.1:18080.


0

나는 나를 위해 일한 것을 추가 할 것이다. firefox -no-remote일반적인 오류로 단순히 사용 하지 못했습니다.

Error: GDK_BACKEND does not match available displays

그러나 다음과 같이 작동했습니다.

ssh -Y user@host
firefox -no-remote

-Y옵션은 신뢰할 수있는 X11 전달을 활성화합니다. 신뢰할 수있는 X11 전달에는 X11 SECURITY 확장 컨트롤이 적용되지 않습니다. 압축을 활성화 -C하기 위해 ssh명령에 옵션을 추가하는 것도 고려할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.