VNC와 ssh -X의 차이점


27

왜 그냥을 사용하는 대신 VNC (또는 문제 NX)를 사용하겠습니까 ssh -X (-Y)? VNC는 적은 대역폭을 사용하지만 각 도구마다 다른 차이점 / 장점이 있습니까?

답변:


30

대역폭 및 대기 시간 문제 (약간 다를 수 있음) 외에도 큰 차이점은 제공하는 기능입니다.

VNC는 전체 세션, 데스크탑 및 전체를 내보내는 반면 ssh는 단일 프로그램을 실행하고 워크 스테이션에 창을 표시합니다.

VNC 서버는 화면 연결을 끊어도 남아있는 세션을 내보내고 나중에 모든 창을 열어 놓고 다시 연결할 수 있습니다. X 서버가 죽으면 창이 사라지기 때문에 ssh X 터널에서는 불가능합니다. .


5
그것이 항상 VNC를 사용하고 X 윈도우를 지시하지 않는 가장 큰 이유입니다. (ssh 터널을 통해 VNC를 사용합니다). 랩톱의 덮개를 닫으면 연결이 끊어집니다. ssh -X를 사용하면 다시 시작할 수있는 방법이 없습니다. 처음부터 응용 프로그램을 다시 시작해야합니다. VNC (직접 및 ssh 터널을 통해)를 사용하여 중단 한 지점부터 다시 연결하고 계속 진행할 수 있습니다.
David Cary

8
비트 OT이지만 (이 Q는 아마도 GUI 응용 프로그램에 관한 것이므로) : 실제 GUI 응용 프로그램이 필요하지 않고 기본 쉘 액세스 (예 : xterm) 만 수행하는 경우 "ssh"와 "screen bash"를 수행하십시오. 연결이 끊어지면 (랩탑 닫힘, vpn 연결 끊기 등) 원격 셸은 활성 상태를 유지합니다. "screen -r"을 통해 다시 로그인하고 다시 연결하십시오. 사람들이 기본 쉘 액세스를 위해 vnc를 실행하거나 로컬로 표시된 원격 xterm을 실행하는 것을 보았 기 때문에 이것을 가져옵니다. 대부분의 경우 (물론 항상 그런 것은 아님) 간단한 쉘 액세스만으로 충분합니다.
마이클

1
@ michael_n 화면 bash에 대해 말한 것에 관심이 있지만 작동시킬 수는 없습니다. 'ssh -X -t myusername @ remotehost screen bash'를 입력하고 연결이 끊어진 후 'screen -r'을 입력했지만 '재개 할 화면이 없습니다'라는 메시지가 표시됩니다. 어떻게해야합니까?
simona

2
성공적인 ssh 로그인 후 @simona 다음 화면을 실행하십시오 ssh user@host.; 그리고 로그인 후 : screen bash; 연결을 끊은 ctrl+actrl+d. 당신은 로그 아웃하고 다시 로그인 한 후 수 screen -lsscreen -r. bash를 종료하면 화면 세션이 종료됩니다. 자세한 내용 은 GNU 화면 에서 다양한 자습서 를 참조하십시오.
michael

9

ssh -XX11 명령을 로컬 X 서버로 리디렉션합니다. 마치 마치 다른 쪽 컴퓨터에서 실제로 실행될 때 마치 로컬에서 프로그램을 실행하는 것과 같습니다. 그건 아주 는 대역폭의 큰 거래를 사용하기 때문에 속도가 느린. (이것은 X11이 "네트워크 투명"이라고 말할 때 사람들이 말하는 것입니다.)

대신 VNC 및 기타 원격 데스크톱 앱을 통해 다른 컴퓨터에서 모든 그래픽 드로잉 등을 처리하고 본질적으로 스크린 샷을 캡처하여 컴퓨터로 다시 보냅니다. 모든 것을 표시하는 데 필요한 정보가 훨씬 적기 때문에 훨씬 더 빨리 보일 수 있습니다. 그러나 단일 응용 프로그램이 아닌 전체 데스크톱을 보냅니다.

ssh -X한 가지 간단한 이유로 인터넷을 통해 사용하지 않는 것이 좋습니다. 사용 가능한 모든 대역폭 사용 됩니다 . 내 의견으로는 LAN을 통해 상당히 유용하므로 하나의 응용 프로그램 만 필요하고 전체 데스크톱을 실행하지 않으려는 경우 좋은 방법입니다. 그렇지 않으면 VNC를 사용하십시오.


3
"많은 대역폭을 사용하기 때문에 속도가 느립니다. X11 프로토콜은 매우 복잡하며 종종 연결을 통해 큰 픽스맵을 앞뒤로 전송해야합니다." -이것은 잘못된 것입니다. X11 프로토콜은 그다지 복잡하지 않으며 연결을 통해 큰 픽스맵을 앞뒤로 보내지 않아도됩니다. X 윈도우 시스템에 대한 자세한 내용을 보려면이 제안에 참여하십시오. area51.stackexchange.com/proposals/20129/the-x-window-system

1
@ Sherlock : 글쎄, 사실은 많은 대역폭을 사용한다는 사실이 남아 있습니다. 문제가되는 문장을 삭제했습니다.
greyfade

1
NX는 네트워크를 통해 X11 프로토콜 데이터를 전송하는 효율적인 방법입니다. 데이터를 압축하고 SSH를 통한 광범위한 캐싱 및 터널 세션을 제공합니다.
Adam Byrtek

4

VNC는 원격 시스템에서 전체 데스크톱을 공유합니다. 원격 시스템에는 본격적인 데스크톱이 필요합니다.

ssh -X를 사용하면 원격 서버에서 단일 X 응용 프로그램을 실행할 수 있습니다. 원격 시스템은 완전한 데스크탑을 실행할 필요가 없으며 종종 원격 시스템에 소수의 패키지 만 설치하면됩니다.

ssh -X원격 연결을 통해 복잡한 소프트웨어 패키지를 설치할 때 유용 할 수 있습니다. 일부 소프트웨어 제품은 GUI 설치 프로그램 (Oracle Database 등)을 사용할 수 있습니다. 원격 서버에 본격적인 Gnome 데스크탑을 설치하고 싶지 않습니다. 따라서 원격 서버에 하나 또는 두 개의 X11 패키지 (Xauth?)를 설치하고 DBA가 'ssh -X / media / cdrom / oracle-installer'와 같은 간단한 것을 사용하여 Oracle 설치 프로그램을 원격으로 실행할 수 있습니다.

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