X 서버를 설치하지 않고도 VNC 서버가 작동합니까? vnc가 X Server와 함께 사용될 수 있다는 것을 알고 있지만 vnc가 존재하지 않으면 어떻게 됩니까?
답변1
아니요. 일반적으로 VNC를 사용하여 원격 서버에 X를 설치해야 합니다. 해당 서버의 X 데스크탑만 표시하기 때문입니다.
컴퓨팅 세계에서 가상 네트워크 컴퓨팅(VNC)은 원격 프레임 버퍼 프로토콜(RFB)을 사용하여 다른 컴퓨터를 원격으로 제어하는 그래픽 데스크탑 공유 시스템입니다. 키보드 및 마우스 이벤트를 한 컴퓨터에서 다른 컴퓨터로 전송하고 그래픽 화면 업데이트를 네트워크를 통해 다른 방향으로 다시 전달합니다.
이 점은 사람들을 혼란스럽게 할 수 있습니다.
VNC 서버를 실행하는 컴퓨터에는 물리적 모니터가 필요하지 않습니다. 일반적인 작동 방법에서 뷰어는 서버의 포트(기본 포트 5900)에 연결됩니다.
"디스플레이"라고 하면 실제 모니터를 의미합니다. GUI 데스크탑을 실행하려면 원격 서버에 X를 설치하고 구성해야 합니다.
Xvnc, X11vnc 및 vncserver는 어떻습니까?
xVxV은(는) 독립 실행형으로 실행할 수 있는 X11 서버이지만 작동하려면 여전히 데스크톱이 필요합니다. 그렇지 않으면 시작할 때 검은색 창이 표시됩니다. 따라서 기술적으로 Xvnc에는 자체 X 서버가 포함되어 있으므로 X를 설치할 필요가 없습니다.
따라서 Xvnc는 실제로 두 개의 서버가 하나로 통합된 것입니다. 응용 프로그램에서는 X 서버이고, 원격 VNC 사용자에게는 VNC 서버입니다. 관례적으로 VNC 서버 디스플레이 번호가 X 서버 디스플레이 번호와 동일하도록 정렬합니다. snoopy:2는 X 세계와 VNC 세계의 "snoopy" 머신에 있는 디스플레이 2를 나타냅니다.
일반적으로 프로세스를 단순화하도록 설계되었으며 Perl로 작성된 vncserver 스크립트를 사용하여 Xvnc를 시작합니다. 귀하의 선호도와 현지 상황에 맞게 이 내용을 편집해야 할 수도 있습니다. Xvnc를 직접 실행하는 것보다 vncserver를 사용하는 것이 좋지만 Xvnc에는 기본적으로 일부 확장을 제외하고 표준 X 서버와 동일한 옵션이 있습니다. Xvnc -h를 실행하면 목록이 표시됩니다.
$ export DISPLAY=localhost:1.0
$ /usr/bin/Xvnc :1 -ac -auth "/root/.Xauthority" \
-geometry "1200x700" -depth 8 -rfbwait 120000 \
-rfbauth /root/.vnc/passwd 2> /root/.vnc/ServerDaemon.log &
$ /bin/sleep 10
$ /usr/bin/fvwm 2> /root/.vnc/fvwm.log &
x11vnc
Xvnc에는 자체 X 서버가 포함되어 있습니다.x11vnc확실히. 이미 실행 중인 X 서버인 Xvnc 또는 Xvfb와 통합된 VNC 서버입니다. 프레임버퍼가 있는 사물에 연결할 수 있는 독특한 기능이 있습니다.
발췌발췌x11vnc는 X 서버 프레임 버퍼의 복사본을 RAM에 보관합니다. X11 프로그래밍 인터페이스 XShmGetImage는 프레임 버퍼 픽셀 데이터를 검색하는 데 사용됩니다. x11vnc는 X 서버의 프레임 버퍼를 복사본과 비교하여 어떤 픽셀 영역이 변경되었는지 확인합니다(따라서 VNC 뷰어로 전송해야 함).
가상 네트워크 서버이를 통해 원격 클라이언트에서 X Window 세션 및 x11vnc 소프트웨어를 호스팅하는 컴퓨터로 원격 액세스할 수 있으며 X 서버의 프레임 버퍼에서 변경 사항을 지속적으로 폴링합니다. 이를 통해 사용자는 마치 사용자가 컴퓨터 앞에 앉아 있는 것처럼 자신의 네트워크나 인터넷을 통해 원격 컴퓨터에서 X11 데스크탑(KDE, GNOME, XFCE 등)을 제어할 수 있습니다. x11vnc는 웹캠이나 TV 튜너 카드, iPAQ, Neuros OSD, Linux 콘솔 및 Mac OS X 그래픽 디스플레이와 같은 비X11 프레임 버퍼 장치도 폴링할 수 있습니다.
x11vnc는 원격 제어를 위한 추가 모니터(또는 X 데스크탑)를 생성하지 않습니다. 대신, TightVNC 서버와 같은 다른 Linux 대안과 달리 Unix와 같은 컴퓨터 모니터에 실시간으로 표시되는 기존 X11 디스플레이를 사용합니다. 그러나 Xvnc 또는 Xvfb를 사용하여 "가상" 추가 모니터를 만들고 x11vnc를 여기에 연결하면 X-11이 헤드리스 서버에 액세스할 수 있습니다.
vncserver
VNC를 사용하여 연결할 원격 서버에서 VNC+X를 설정하는 복잡성을 단순화하는 데 도움이 되는 프런트 엔드 Perl 스크립트입니다.
vncserver는 VNC(가상 네트워크 컴퓨팅) 데스크톱을 시작하는 데 사용됩니다. vncserver는 Xvnc 서버 시작 프로세스를 단순화하는 Perl 스크립트입니다. 적절한 옵션으로 Xvnc를 실행하고 VNC 데스크탑에서 창 관리자를 시작합니다.
인용하다
답변2
X11(X)을 실행하지 않고 프레임버퍼를 사용하는 경우, 프레임버퍼-vncserver를 사용할 수 있습니다.https://github.com/ponty/framebuffer-vncserver 이것은 잘 작동하지만 입력을 지원하지 않습니다. 이는 서버 측에 직접 입력을 주입하면 쉽게 해결됩니다.