ightvncserver는 동일한 버전이지만 다른 동작

ightvncserver는 동일한 버전이지만 다른 동작

이것이 StackOverflow에 속하는지 여기에 속하는지는 확실하지 않지만 이러한 프로그램은 Ubuntu의 한 버전에서 작동하므로 여기서 시도해 보겠습니다.

우리는 하루에 한 번 서버에서 가상 X 디스플레이를 시작한 다음 X 디스플레이가 필요한 여러 프로그램을 실행하는 작은 Python 애플리케이션을 가지고 있습니다. 이 프로그램은 Ubuntu 10.04에서 제대로 실행되었으며 12.04 서버에서도 계속해서 정상적으로 실행됩니다.

이제 우리는 모든 전제 조건이 충족되었음에도 불구하고 14.04로 서버 출시를 고려하고 있습니다(최신 버전의Py 가상 디스플레이 vnc 서버를 닫으세요).

14.04에서 이 프로그램은 실패합니다. 디버깅의 가장 큰 문제는 12.04 서버에서 볼 수 있는 것처럼 X 화면을 볼 수 없다는 것입니다.비밀번호를 물어보세요. 나는 이것이 tightvncserver소프트웨어의 일부 보안 변경일 것으로 예상했지만 12.04와 14.04 모두에서 Ubuntu 특정 버전은 다르지만(6.2 대 6.4) 버전 1.3.9입니다.

클라이언트 컴퓨터에서 동일한 VNC 클라이언트를 사용하여 두 서버에 연결합니다.

비밀번호 프롬프트를 없애고 어떤 (기타) 오류가 있는지 계속 확인하려면 어떻게 해야 합니까? 서버가 시작된 이후로 비밀번호가 설정되지 않았다고 확신합니다. 비밀번호가 무엇인지 추측할 수 없습니다.

답변1

Xvnc -version(14.04)이 다음을 제공하는지 확인해야 합니다 .

Xvnc version TightVNC-1.3.9

pyvirtualdisplay로 생성된 vnc 서버 인스턴스에 연결하면 비밀번호를 묻는 메시지가 표시되지 않을 수 있습니다.

/usr/bin/Xvnc그 이유는 pyvirtualdisplay가 파일이 존재하는지 확인하고 xnvc백엔드가 지정되면 실행 파일을 호출하여 ightvncserver가 설치되는지 확인하기 때문입니다 . 그러나 파일은 관리되는 대안 /etc/alternatives/에 대한 링크입니다 vnc4server(VNC를 통해 데스크톱을 공유하려는 경우 이 서버를 설치하려면 비밀번호 IIRC가 필요함).

다음 명령을 실행하여 대안을 변경할 수 있습니다 Xvnc.

sudo update-alternatives --config Xvnc

그리고 이 tightvncserver옵션을 선택하세요. 이것이 (현재) 선택한 다른 서버 대안에 의존하는 프로그램에 보안 부작용이 있는지 확실하지 않습니다.

따라서 가능하다면 당기는 소스를 변경 pyvirtualdisplay하고 다음 줄을 추가해야 합니다(호출하기 전에 Display()).

import pyvirtualdisplay.xvnc
pyvirtualdisplay.xvnc.PROGRAM = "Xtightvnc"

이렇게 하면 pyvirtualdisplay 라이브러리가 올바른 서버 바이너리를 사용하여 Xvnc선택한 대안을 우회하게 됩니다.

관련 정보