명령줄에서 Tightvnc를 설치합니다. Windows에서 Linux를 원격 제어합니다. TightVNC 감염 방법

VNC 클라이언트로 작업하기. 이 자료는 경험이 없는 사용자를 대상으로 합니다.

1. VNC 클라이언트 설치
2. VNC 클라이언트를 원격 컴퓨터에 연결
3. 원격 컴퓨터에서 VNC 클라이언트 연결 끊기
4. VNC 클라이언트 조정
5. 일반적인 문제

VNC를 통해 원격 컴퓨터로 작업하려면 사용자 컴퓨터에서 클라이언트 프로그램(VNC 뷰어, VNC 클라이언트)을 실행해야 합니다. 이 프로그램은 사용자의 키 입력 및 마우스 움직임에 대한 데이터를 원격 컴퓨터로 전송하고 화면에 표시할 정보를 표시합니다.

1. VNC 클라이언트 설치
Windows OS의 경우 VNC 클라이언트 UltraVNC 및 TightVNC를 무료로 다운로드하여 설치할 수 있습니다.

Mac OS X 버전 10.5부터 RemoteDesktop의 VNC 클라이언트를 지원합니다. 을 위한 이전 버전 VNC 클라이언트 JollysFastVNC 및 .

Debian(Ubuntu)의 Linux 분기의 경우 VNC 클라이언트는 다음 명령을 사용하여 저장소에서 설치됩니다.

Apt-get 설치 vncviewer

RedHat 분기(CentOS, Fedora)의 경우 - 다음 명령을 사용합니다.

Yum vnc 설치

FreeBSD의 경우 VNC 클라이언트(TightVNC)는 다음 명령을 사용하여 패키지에서 설치됩니다.

Pkg_add -r Tightvnc

2. VNC 클라이언트를 원격 컴퓨터에 연결
VNC 클라이언트를 원격 컴퓨터에 연결하려면 IP 주소나 DNS 이름, 디스플레이 번호(기본값:0) 또는 TCP 포트 번호(기본값: 5900)를 지정해야 합니다. VNC 서버에 인증이 필요한 경우 VNC 서버에 연결할 때 VNC 클라이언트는 비밀번호를 묻습니다. VNC 서버 접속 비밀번호는 원격 컴퓨터의 어떤 계정(사용자 계정)과도 연관되어 있지 않으며 VNC 서버 디스플레이에 대한 접속을 제한하는 역할만 한다는 점에 유의하십시오.

연결을 설정하고 화면을 연 후 VNC 서버의 설정에 따라 사용자 인증이 필요할 수 있습니다. 가상 서버또는 이미 실행 중인 사용자의 작업 세션이 열릴 수도 있습니다.

한 컴퓨터에서 여러 VNC 서버가 동시에 실행될 수 있으므로 매개변수를 사용하여 이들을 구분합니다. 표시 번호. 예를 들어, 한 VNC 서버는 display:0에서 실행되고 다른 VNC 서버는 display:1에서 실행될 수 있습니다. 각 디스플레이 번호는 VNC 서버가 연결을 수락하는 TCP 포트 번호에 해당합니다. 디스플레이의 포트 번호는 기본 포트 번호인 5900에 디스플레이 번호를 추가하여 얻습니다. 디스플레이:0은 TCP 포트 5900에 해당하고, 디스플레이:1 - 포트 5901에 해당합니다.

3. 원격 컴퓨터에서 VNC 클라이언트 연결 끊기
VNC 클라이언트 창을 닫거나 데스크톱 도구를 사용하여 환경을 떠난 후 VNC 서버의 설정에 따라 사용자의 작업 세션은 사용 중인 모든 프로그램이 중지된 상태로 닫히거나 작업을 계속했다가 VNC 서버에 연결하면 다시 사용할 수 있습니다. 다시.
4. VNC 클라이언트 조정
화면에 전송되는 정보의 양이 많아지면 채널 속도(처리량 및 패킷 전송 시간)에 대한 요구 사항이 높아집니다. 대역폭이 부족하면 화면에 표시되는 정보(새 창 열기, 스크롤 등)에 큰 변화가 있을 때 불편한 지연이 발생합니다. 사진, 기타 이미지 또는 색상이 많고 모양이 복잡한 인터페이스 요소를 표시할 때 지연 시간이 특히 길어집니다.

전송되는 데이터의 양에 영향을 미치는 주요 매개변수는 전송되는 그래픽의 인코딩 알고리즘입니다. 볼륨을 줄이고 그에 따라 작업 속도를 높이려면 Tight, ZLib, ZRLE 알고리즘을 사용하는 것이 좋습니다. 압축되지 않은 데이터(Raw)와 비교하여 수십 배의 압축을 제공하여 프로세서에 상당한 부하를 줍니다. 이러한 인코딩 알고리즘은 256-512Kbps 속도의 채널에서도 편안한 작동을 제공합니다.

네트워크를 통해 전송되는 정보의 양을 줄이려면 높은 압축 수준(압축 수준, 압축 값), 낮은 JPEG 품질 수준(JPEG 품질)을 설정하고 색상 감소 모드(-bgr233, 제한된 색상)를 활성화할 수도 있습니다. 이미지 품질이 눈에 띄게 저하되는 가장 큰 효과는 색상 수를 줄이는 모드-볼륨에 의해 제공됩니다. 전송된 정보각각 1.5~3배씩 감소하고, 화면 표시가 1.5~3배 가속됩니다.

JPEG는 엄격한 인코딩 알고리즘에 의해 사진과 많은 색상이 포함된 기타 복잡한 이미지가 포함된 화면 영역을 압축하는 데 사용됩니다. Tight+JPEG를 사용하면 전송되는 데이터 양이 2~5배 줄어듭니다. 다른 JPEG 인코딩 알고리즘은 지원되지 않습니다.

1. 드롭다운 메뉴 “시스템 -> 옵션”

드롭다운 메뉴 "시스템 -> 매개변수"를 열 때 전송된 데이터의 양과 채널의 표시 속도는 1Mbit/초입니다(메뉴는 그림에서 녹색 점선으로 강조 표시됨).

5. 일반적인 문제
VNC 서버에 연결할 수 없습니다
확인해야 할 사항:
  1. 인터넷에 접속할 수 있습니까?
  2. 가상 서버가 핑에 응답하는지 여부
  3. VNC 서버가 가상 서버에서 실행 중인지 여부
  4. VNC 서버의 TCP 포트에 대한 액세스를 차단하는 방화벽이 있습니까?
  5. VNC 서버의 디스플레이 번호 또는 TCP 포트가 올바르게 지정되어 있습니까(포트 번호 = 5900 + 디스플레이 번호).
상당히 빠른 채널을 통한 느린 작동
VNC 클라이언트가 데이터 압축이 포함된 그래픽 인코딩 알고리즘 사용에 대해 VNC 서버와 동의할 수 없는 경우 기본 알고리즘(압축 없이 데이터를 전송하는 Raw)이 선택됩니다. 또한 빠른 속도로 작업할 때 VNC 클라이언트에서 압축 없이 인코딩하거나 낮은 압축 수준으로 인코딩을 자동으로 선택할 수 있습니다. 지역 네트워크. 이 문제 VNC 클라이언트 설정에서 인코딩 알고리즘을 높은 압축 수준(ZLib, ZRLE, Tight)으로 강제 적용하여 문제를 해결할 수 있습니다.

그러나 클라이언트와 서버의 일부 조합에서는 인코딩 알고리즘 협상 오류로 인해 이 솔루션이 유용하지 않을 수 있습니다. 예를 들어 RealVNC 서버가 있는 TightVNC 클라이언트는 Raw 인코딩에서만 작동할 수 있는 경우가 많습니다. 이 경우 해결 방법은 VNC 클라이언트 또는 VNC 서버를 변경하는 것입니다.

2009년 11월 25일 오후 01:21

VNC를 통해 원격 컴퓨터에 연결

  • 리눅스 설정

VNC 클라이언트로 작업하기. 이 자료는 경험이 없는 사용자를 대상으로 합니다.

1. VNC 클라이언트 설치
2. VNC 클라이언트를 원격 컴퓨터에 연결
3. 원격 컴퓨터에서 VNC 클라이언트 연결 끊기
4. VNC 클라이언트 조정
5. 일반적인 문제

VNC를 통해 원격 컴퓨터로 작업하려면 사용자 컴퓨터에서 클라이언트 프로그램(VNC 뷰어, VNC 클라이언트)을 실행해야 합니다. 이 프로그램은 사용자의 키 입력 및 마우스 움직임에 대한 데이터를 원격 컴퓨터로 전송하고 화면에 표시할 정보를 표시합니다.

1. VNC 클라이언트 설치
Windows OS의 경우 VNC 클라이언트 UltraVNC 및 TightVNC를 무료로 다운로드하여 설치할 수 있습니다.

Mac OS X 버전 10.5부터 RemoteDesktop의 VNC 클라이언트를 지원합니다. 이전 버전의 경우 VNC 클라이언트 JollysFastVNC 및 .

Debian(Ubuntu)의 Linux 분기의 경우 VNC 클라이언트는 다음 명령을 사용하여 저장소에서 설치됩니다.

Apt-get 설치 vncviewer

RedHat 분기(CentOS, Fedora)의 경우 - 다음 명령을 사용합니다.

Yum vnc 설치

FreeBSD의 경우 VNC 클라이언트(TightVNC)는 다음 명령을 사용하여 패키지에서 설치됩니다.

Pkg_add -r Tightvnc

2. VNC 클라이언트를 원격 컴퓨터에 연결
VNC 클라이언트를 원격 컴퓨터에 연결하려면 IP 주소나 DNS 이름, 디스플레이 번호(기본값:0) 또는 TCP 포트 번호(기본값: 5900)를 지정해야 합니다. VNC 서버에 인증이 필요한 경우 VNC 서버에 연결할 때 VNC 클라이언트는 비밀번호를 묻습니다. VNC 서버 접속 비밀번호는 원격 컴퓨터의 어떤 계정(사용자 계정)과도 연관되어 있지 않으며 VNC 서버 디스플레이에 대한 접속을 제한하는 역할만 한다는 점에 유의하십시오.

연결을 설정하고 화면을 연 후, VNC 서버의 설정에 따라 가상 서버에 대한 사용자 인증이 필요할 수도 있고, 이미 실행 중인 사용자의 작업 세션이 열릴 수도 있습니다.

한 컴퓨터에서 여러 VNC 서버가 동시에 실행될 수 있으므로 매개변수를 사용하여 이들을 구분합니다. 표시 번호. 예를 들어, 한 VNC 서버는 display:0에서 실행되고 다른 VNC 서버는 display:1에서 실행될 수 있습니다. 각 디스플레이 번호는 VNC 서버가 연결을 수락하는 TCP 포트 번호에 해당합니다. 디스플레이의 포트 번호는 기본 포트 번호인 5900에 디스플레이 번호를 추가하여 얻습니다. 디스플레이:0은 TCP 포트 5900에 해당하고, 디스플레이:1 - 포트 5901에 해당합니다.

3. 원격 컴퓨터에서 VNC 클라이언트 연결 끊기
VNC 클라이언트 창을 닫거나 데스크톱 도구를 사용하여 환경을 떠난 후 VNC 서버의 설정에 따라 사용자의 작업 세션은 사용 중인 모든 프로그램이 중지된 상태로 닫히거나 작업을 계속했다가 VNC 서버에 연결하면 다시 사용할 수 있습니다. 다시.
4. VNC 클라이언트 조정
화면에 전송되는 정보의 양이 많아지면 채널 속도(처리량 및 패킷 전송 시간)에 대한 요구 사항이 높아집니다. 대역폭이 부족하면 화면에 표시되는 정보(새 창 열기, 스크롤 등)에 큰 변화가 있을 때 불편한 지연이 발생합니다. 사진, 기타 이미지 또는 색상이 많고 모양이 복잡한 인터페이스 요소를 표시할 때 지연 시간이 특히 길어집니다.

전송되는 데이터의 양에 영향을 미치는 주요 매개변수는 전송되는 그래픽의 인코딩 알고리즘입니다. 볼륨을 줄이고 그에 따라 작업 속도를 높이려면 Tight, ZLib, ZRLE 알고리즘을 사용하는 것이 좋습니다. 압축되지 않은 데이터(Raw)와 비교하여 수십 배의 압축을 제공하여 프로세서에 상당한 부하를 줍니다. 이러한 인코딩 알고리즘은 256-512Kbps 속도의 채널에서도 편안한 작동을 제공합니다.

네트워크를 통해 전송되는 정보의 양을 줄이려면 높은 압축 수준(압축 수준, 압축 값), 낮은 JPEG 품질 수준(JPEG 품질)을 설정하고 색상 감소 모드(-bgr233, 제한된 색상)를 활성화할 수도 있습니다. 이미지 품질이 눈에 띄게 저하되는 가장 큰 효과는 색상 수를 줄이는 모드에서 제공됩니다. 전송되는 정보의 양은 각각 1.5-3 배 감소하고 화면 표시는 1.5 씩 가속됩니다. -3번.

JPEG는 엄격한 인코딩 알고리즘에 의해 사진과 많은 색상이 포함된 기타 복잡한 이미지가 포함된 화면 영역을 압축하는 데 사용됩니다. Tight+JPEG를 사용하면 전송되는 데이터 양이 2~5배 줄어듭니다. 다른 JPEG 인코딩 알고리즘은 지원되지 않습니다.

1. 드롭다운 메뉴 “시스템 -> 옵션”

드롭다운 메뉴 "시스템 -> 매개변수"를 열 때 전송된 데이터의 양과 채널의 표시 속도는 1Mbit/초입니다(메뉴는 그림에서 녹색 점선으로 강조 표시됨).

5. 일반적인 문제
VNC 서버에 연결할 수 없습니다
확인해야 할 사항:
  1. 인터넷에 접속할 수 있습니까?
  2. 가상 서버가 핑에 응답하는지 여부
  3. VNC 서버가 가상 서버에서 실행 중인지 여부
  4. VNC 서버의 TCP 포트에 대한 액세스를 차단하는 방화벽이 있습니까?
  5. VNC 서버의 디스플레이 번호 또는 TCP 포트가 올바르게 지정되어 있습니까(포트 번호 = 5900 + 디스플레이 번호).
상당히 빠른 채널을 통한 느린 작동
VNC 클라이언트가 데이터 압축이 포함된 그래픽 인코딩 알고리즘 사용에 대해 VNC 서버와 동의할 수 없는 경우 기본 알고리즘(압축 없이 데이터를 전송하는 Raw)이 선택됩니다. 또한 빠른 로컬 네트워크를 통해 작업할 때 VNC 클라이언트가 비압축 또는 저압축 인코딩을 자동으로 선택할 수 있습니다. 이 문제는 VNC 클라이언트 설정에서 인코딩 알고리즘을 높은 압축 수준(ZLib, ZRLE, Tight)으로 강제 적용하여 해결할 수 있습니다.

그러나 클라이언트와 서버의 일부 조합에서는 인코딩 알고리즘 협상 오류로 인해 이 솔루션이 유용하지 않을 수 있습니다. 예를 들어 RealVNC 서버가 있는 TightVNC 클라이언트는 Raw 인코딩에서만 작동할 수 있는 경우가 많습니다. 이 경우 해결 방법은 VNC 클라이언트 또는 VNC 서버를 변경하는 것입니다.

때로는 Linux 시각적 셸에 대한 원격 액세스가 필요합니다. 이 작업극히 드물지만 필요한 경우 불가능한 것은 없습니다. :) 이를 위해 다음을 사용하는 것이 좋습니다. 꽉vnc, 왜 VNC를 꽉 조이나요? 이 소프트웨어는 두 가지 모두 가능합니다. 리눅스, 그리고 에서 창문들데스크톱에 원격으로 연결하면 설치가 매우 간단하고 탬버린과 함께 특별한 춤을 추는 것이 필요하지 않습니다. :) 아마도 더 많은 것이 있을 것입니다. 최고의 소프트웨어, 음, 우리와 공유해보세요 :)
다른 모든 것 위에 꽉VNC낮은 통신 채널에서 작업할 수 있으므로 이는 최적화에 좋은 장점입니다.
설치를 진행해보겠습니다!

연결하려는 시스템에 Tightvnc 서버를 설치하십시오.
sudo apt-get install Tightvncserver
안에 최신 업데이트우분투, 즉 버전 14.04부터 슬레이브 대신 연결할 때 gnome에 작은 버그가 있었습니다. 테이블에 회색 화면이 표시되었으므로 연결하려면 다른 쉘 모듈을 사용해야 합니다.
sudo apt-get xfce4 xfce4-goodies 설치
접근을 위한 비밀번호 설정:
vncpasswd ~/.vnc/passwd passwd 파일은 다음 위치에 생성됩니다. 숨겨진 폴더홈 디렉터리에... 이 폴더를 직접 만들 수 있습니다.vnc...

필요한 설정으로 실행하십시오.
sudo Tightvncserver -geometry 1024x768 -깊이 16 1024x768 해상도 및 16비트 색 심도로 TightVNC 실행

표준 출시:
sudo vnc서버:1
완료 후 프로세스를 종료합니다.
sudo vncserver -kill:1

메모:

기본 TightVNC 포트를 변경하는 방법은 무엇입니까?
원격 시스템에 액세스하려면 포트를 전달해야 합니다. 5901, 이는 표준 TightVNC 포트입니다., 연결할 때 변경할 수 있습니다. 표준 사례로 연결할 때 다음을 사용합니다. 1 - 포트 5901입니다. 포트 5911을 사용하려는 경우 연결 시 11이 됩니다. 예를 들어 포트가 필요합니다. 7829, vnc서버 실행이 규칙을 사용하면:
sudo vncserver:7829에서 5900 = 1929를 뺀 다음 원격 컴퓨터에 연결할 때쓰기: IP:1929 또는 다음과 같이: IP:7829, 원하는 대로 사용하세요. 필요한 포트를 전달하는 것을 잊지 마세요.
연결 시 TightVNC 회색 화면
연결 시 회색 화면이 나타나는 버그가 있었고 패키지를 설치한 경우 xfce4, 그러면 파일을 변경해야 합니다 xstartup:
sudo nano root/.vnc/xstartup 모든 내용을 주석 처리합니다. 이 파일그리고 다음을 추가하세요:
#!bin/sh xrdb $HOME/.Xresources startxfce4 &
키보드 레이아웃을 변경할 때 TightVNC가 작동하지 않습니다
키보드 레이아웃이 전환되지 않으면 다음을 추가하세요.
#!bin/sh xrdb $HOME/.Xresources startxfce4 & XKL_XMODMAP_DISABLE=1 내보내기 하지만 이것은 불필요합니다. 이 버그는 극히 드물게 발생합니다.
아래에 설치 패키지를 첨부하겠습니다. 꽉VNC 뷰어그리고 섬기는 사람을 위한 윈도우 32 그리고 64 조금. Jack Wallen이 크로스 플랫폼 관리를 위해 TightVNC를 원격으로 사용하는 방법과 그 반대로 사용하는 방법을 설명합니다.

관리자의 관점에서 볼 때 시스템의 가장 중요한 기능 중 하나는 원격으로 유지 관리하는 기능입니다. 이 작업을 수행하는 도구는 거의 모든 OS에서 사용할 수 있지만, 원격 관리크로스 플랫폼 환경에 필요합니까? 이 경우 원격 데스크톱 프로토콜은 옵션이 아닙니다. Linux 컴퓨터에서 Windows에 연결하려면 VNC(Virtual Network Computing), 특히 TightVNC를 사용하는 것이 가장 좋습니다.

TightVNC는 무료 솔루션 Windows용 뷰어와 서버, Linux용 서버가 포함된 VNC 작업용입니다. 두 플랫폼 모두에서 서버를 설정하여 활성화하는 방법을 살펴보겠습니다. 원격 연결.

Linux에서 Windows로 연결

Windows에 TightVNC를 설치하는 것은 매우 쉽습니다. TightVNC 웹사이트에서 적절한 버전의 설치 프로그램을 다운로드하고 파일을 두 번 클릭한 후 마법사의 지시를 따르십시오. 하지만 그러면 모든 것이 조금 더 복잡해집니다.

컴퓨터에 연결하려면 먼저 컴퓨터에서 TightVNC 서버를 구성하고 실행해야 합니다. 이렇게 하려면 시작 | 모든 프로그램"(시작 | 모든 프로그램) 폴더 "TightVNC | TightVNC 서버(응용 프로그램 모드)”에서 “TightVNC 서버 - 오프라인 구성” 도구를 실행합니다. 나타나는 창에서 "서버" 탭(그림 A)을 열고 필요에 따라 TightVNC 서버를 구성합니다.

그림 A: 들어오는 연결에 대해 비밀번호를 설정해야 하며 비워둘 수 없습니다.

최소한 들어오는 연결에 대한 비밀번호를 설정해야 합니다. 그런 다음 서버를 시작할 수 있습니다. 이렇게 하려면 동일한 폴더에 있는 "TightVNC 서버 실행" 바로가기를 사용하세요. 이 경우에는 창이 열리지 않습니다. 대신, 배경 TightVNC 데몬이 시작됩니다.

이제 Linux 컴퓨터에서 다음을 실행하세요. 표준 치료법원격 데스크톱 연결에 Windows VNC 서버의 IP 주소를 입력하고 연결합니다. 비밀번호를 입력하라는 메시지가 나타나면 원격 연결이 설정됩니다.

어떤 VNC 클라이언트를 선택해야 할지 모르겠다면 Vinagre를 추천합니다. 편리한 적용그놈 데스크탑 환경용.

Windows에서 Linux로 연결

Windows에서 Linux로 연결하는 것이 조금 더 쉽습니다( 센티미터.). 실행 중인 컴퓨터에서 연결을 설정하는 방법을 설명하겠습니다. 우분투 관리 10.10. 먼저 Tightvncserver를 설치해야 합니다.

1. Ubuntu 소프트웨어 센터를 시작합니다.
2. 검색창에 "tightvncserver"(따옴표 제외)를 입력하세요.
3. Tightvncserver를 강조 표시하고 설치 버튼을 클릭합니다.
4. 비밀번호를 입력하세요 계정뿌리.

설치 후에는 서버를 구성해야 합니다. 이를 위해:

1. 터미널을 엽니다.
2. Tightvncserver 명령을 실행합니다.
3. 비밀번호를 입력하세요.
4. 필요한 경우 시청 비밀번호를 설정하세요.

이제 Windows의 TightVNC 뷰어 애플리케이션을 사용하여 이 컴퓨터에 연결할 수 있습니다. 처음부터 호출 | 모든 프로그램 | 타이트VNC | TightVNC Viewer"를 선택하고 포트 5901을 나타내는 Linux 컴퓨터의 IP 주소를 나타나는 창에 "192.168.100.21:5901" 형식으로 입력합니다. 포트 번호를 지정하지 않으면 TightVNC 뷰어는 포트 5900에 연결을 시도하며 연결이 실패합니다.

연결 시 Linux를 실행하는 컴퓨터에서 서버를 시작할 때 설정한 비밀번호를 제공해야 합니다. 인증이 성공적으로 완료되면 연결이 설정됩니다(그림 B).


그림 B. TightVNC 뷰어를 사용하여 Tightvncserver에 연결하면 Windows에서 Linux 컴퓨터를 원격으로 관리할 수 있습니다.

마지막으로

원격 컴퓨터에 연결하는 방법은 다양하지만 TightVNC와 같은 범용 크로스 플랫폼 솔루션을 사용하면 이 작업이 훨씬 쉬워집니다. 어떤 원격 연결 수단을 사용하시나요? VNC, RDP 또는 타사를 사용하고 있습니까? 소프트웨어로그메인처럼요? 댓글로 여러분의 경험을 공유해주세요!

  • 지도 시간

이 가이드는 noVNC를 설정하는 방법에 관한 것입니다. 원격 액세스 Windows 컴퓨터에.

왜 VNC가 없나요?

- Windows에는 원격 액세스를 위한 "기본" 도구인 원격 데스크톱 연결이 있습니다. 그러나 모든 버전의 Windows에서 사용할 수 있는 것은 아닙니다. 예를 들어 Home 버전에는 없습니다.
- 또한 어떤 용도로든 많은 VNC 서버와 클라이언트가 있습니다. 윈도우 버전. 하지만 이를 사용하려면 VNC 클라이언트를 설치해야 합니다. 그리고 아무것도 설치할 수 없거나(권한 제한) 다른 사람의 컴퓨터에 흔적을 남기지 않는 것이 바람직하지 않은 경우도 있습니다.
- 클라이언트 측의 브라우저 확장만 필요한 Chrome 원격 데스크톱도 있습니다. 하지만 조직에서 Chrome 프로토콜을 차단하고(모든 것이 차단됨) noVNC가 일반 HTTP를 사용하여 작동하는 경우가 있었습니다.

내가 아는 한, noVNC는 클라이언트를 설치하지 않고 원격 컴퓨터에 연결할 수 있는 유일한 도구입니다. 브라우저만 사용됩니다.
SPICE도 있지만 Windows에서는 해당 서버를 찾지 못했습니다.

이 가이드의 결과로 브라우저에서 링크를 열고 비밀번호를 입력하고 원격 시스템을 사용할 수 있습니다.

전제 조건은 포트 전달 또는 원격 컴퓨터의 화이트 IP입니다. VNC 중계기를 사용할 수도 있습니다. 그러나 이는 이 기사의 범위를 벗어납니다.

일반 계획

먼저 포트 5900에 일반 VNC 서버를 설치합니다.

그런 다음 포트 5901에 noVNC 및 WebSockify를 설치합니다.

목표는 다음과 같이 보이는 것입니다.


이제 관리자 권한으로 명령 프롬프트를 실행하십시오.


WebSockify를 실행합니다:

C:\> cd c:\noVNC\websockify c:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 --web c:\noVNC\noVNC-master 경고: "리소스" 모듈 없음, 데몬화 지원 비활성화됨 WebSocket 서버 설정: - ​​수신 대기:5901 - 플래시 보안 정책 서버 - 웹 서버. 웹 루트: c:\noVNC\noVNC-master - SSL/TLS 지원 없음(인증서 파일 없음) - 프록시:5901에서 127.0.0.1:5900
위의 첫 번째 매개변수는 noVNC가 수신 대기하는 포트입니다. 5901 . 이 포트는 클라이언트가 사용할 수 있어야 합니다.

두 번째 매개변수는 VNC 서버가 위치한 IP 및 포트입니다. 127.0.0.1:5900

세 번째 매개변수 --편물 noVNC에 디렉토리의 내용을 제공하도록 지시합니다. c:\noVNC\noVNC-마스터 HTTP를 통해. 기본적으로 noVNC는 VNC 웹소켓만 제공하지만 이 옵션을 사용하면 동일한 포트에 HTTP 서버를 가질 수 있습니다.

디렉토리에서 c:\noVNC\noVNC-마스터파일 이름 바꾸기 vnc.html V index.html그래서 기본적으로 제공됩니다.

이제 noVNC 클라이언트를 포트 5901에서 사용할 수 있습니다.


또한 다른 컴퓨터/스마트폰에서 noVNC 페이지를 열어서 외부에서 액세스할 수 있는지 확인하세요. 그렇지 않은 경우 다음을 확인하십시오.

당신은 무엇을 가지고 있습니까? 윈도우 방화벽차단하지 않습니다 외부 연결이 항구로,
- 라우터가 이 포트에 대한 요청을 올바르게 전달하는지 올바른 컴퓨터; 필요한 경우 Google의 "포트 전달"을 사용하세요.

연결(Connect)하고 VNC 비밀번호를 입력하면 원격 컴퓨터의 바탕화면이 보입니다!

문제가 발생하면 콘솔에 오류가 표시됩니다.

콘솔에서 Ctrl-C를 눌러 noVNC 서버를 중지할 수 있습니다. 위에 설명된 구성은 HTTP(및 WS)를 통해 작동합니다.

자체 서명된 인증서로 SSL 추가

SSL 추가는 선택사항입니다. 다음과 같이 자체 서명된 인증서를 만들 수 있습니다.

Openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
Windows openssl의 경우 .

결과적으로 noVNC를 시작할 때 가리켜야 하는 self.pem 파일을 얻습니다.

C:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 --web c:\noVNC\noVNC-master --cert=c:\noVNC\self.pem
이제 HTTPS와 WSS(WebSocket Secure)가 작동합니다. WSS의 경우 설정에서 암호화를 지정해야 합니다. 흥미롭게도 noVNC는 HTTP와 HTTPS에 동일한 포트를 사용합니다. 즉, 요청을 구별하고 올바르게 응답하는 "방법"을 알고 있습니다.

인증서는 자체 서명되므로 브라우저는 이 인증서를 수락해야 합니다.

암호화하자

Let's Encrypt가 자동으로 우리 시스템에 맞는 인증서를 생성하도록 시스템을 구성하는 방법에 대한 지침이 없습니다. 이렇게 하려면 noVNC가 포트 80에서 실행되어야 하며 이는 물론 가능하지만 불편할 수 있습니다. certbot을 통합하여 해당 파일들이 원하는 디렉터리에 게시되도록 하는 방법 가능하다고 생각하지만 하지 않았습니다. 다 마치면 댓글로 공유해주세요.

제 경우에는 Lets Encrypt에서 자동으로 인증서를 받도록 구성된 NGINX와 DDNS 이름이 있는 홈 서버가 이미 있습니다.

비슷한 것을 직접 실행할 수 있습니다. Linux 및 Windows용 Let's Encrypt 설정에 대한 지침이 있습니다.

그러므로 noVNC저는 그냥 기존것들을 사용하고 있어요 -다음을 위해 생성된 파일 nginx.

Let's Encrypt는 다음 파일을 생성합니다.

Cert.pem: 도메인의 인증서 chain.pem: Let"s Encrypt 체인 인증서 fullchain.pem: cert.pem과 chain.pem이 결합된 privkey.pem: 인증서의 개인 키
Ubuntu에서는 /etc/letsencrypt/live/your_domain_name 경로에서 찾을 수 있습니다.

복사(병합)해야 합니다. 풀체인.pem그리고 privkey.pem예를 들어 하나의 파일로 encrypt.pem, 이것이 우리가 사용할 파일입니다 noVNC.

물론 이것은 다음과 같은 경우에만 작동합니다. nginx서버와 noVNC- 하나의 도메인에서. 포트는 다를 수 있습니다.

그리고 인증서는 몇 달 동안만 유효하므로 업데이트된 파일을 복사해야 한다는 점을 잊어서는 안 됩니다.

noVNC를 Windows 서비스로 추가

zip 아카이브를 다운로드하고 거기에서 파일의 압축을 풀어 파일과 동일한 폴더에 위치하도록 합니다. websockify.exe즉, 우리의 경우에는 c:\noVNC\websockify.

서비스가 시작되면 파일의 매개변수를 사용합니다. noVNCConfig.ini. 내 구성의 예는 다음과 같습니다.

5901 127.0.0.1:5900 --웹 C:\noVNC\noVNC-마스터 --cert=c:\noVNC\encrypt.pem
관리자 권한으로 시작된 콘솔에서 새 서비스를 만듭니다.

Sc create "noVNC Websocket Server" binPath= "c:\noVNC\websockify\noVNC Websocket Service.exe" DisplayName= "noVNC Websocket Server"
서비스를 삭제해야 하는 경우 다음과 같이 하세요.

Sc 삭제 "noVNC 웹소켓 서버"
서비스를 열고(제어판 → 관리 도구 → 서비스) noVNC Websocket Server를 시작합니다. Windows에서 매번 시작되도록 서비스를 구성할 수도 있습니다.

알려진 문제

키보드 레이아웃

나는 러시아어 키보드 레이아웃이 다소 특이한 방식으로 작동한다는 것을 발견했습니다.
클라이언트가 러시아어를 선택한 경우 원격 컴퓨터키 입력이 전혀 전송되지 않습니다.원격 데스크탑레이블 추가