![xinetd를 사용하여 Xvnc 서버를 시작하고 vglrun으로 캡슐화합니다.](https://linux55.com/image/116952/xinetd%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20Xvnc%20%EC%84%9C%EB%B2%84%EB%A5%BC%20%EC%8B%9C%EC%9E%91%ED%95%98%EA%B3%A0%20vglrun%EC%9C%BC%EB%A1%9C%20%EC%BA%A1%EC%8A%90%ED%99%94%ED%95%A9%EB%8B%88%EB%8B%A4..png)
사용자가 Windows 클라이언트에서 TigerVNC를 사용하여 연결하고 gdm 로그인 화면에 도달할 수 있도록 사무실의 CentOS 7 시스템에 대한 원격 로그인을 설정하려고 합니다. 예전부터 관심을 갖고 있었는데이 지침XDMCP를 사용하면 모든 것이 예상대로 작동합니다. 로컬 네트워크의 누구나 포트 5950에서 서버에 연결할 수 있으며 로그인할 수 있는 gdm 시작 화면에 도달하게 됩니다. 그러나 이것은 nouveau 그래픽 드라이버를 사용하고 있습니다. 불행히도 우리가 사용하는 CAD 소프트웨어에는 nVidia 드라이버가 필요합니다(원격으로도 사용해야 함).
Nvidia 드라이버를 설치하고 모든 것(gnome, CAD 소프트웨어 등)이 서버에서 제대로 실행되는 것을 확인한 후 원격 로그인이 더 이상 작동하지 않는다는 것을 발견했습니다. TigerVNC. 나는 이것이 Gnome에 3D 가속이 필요하고 nVidia 그래픽 드라이버가 제대로 작동하지 않기 때문이라고 생각합니다. 그래서 VirtualGL을 사용해 본 결과 이제 vnc 서버를 시작하고 vglrun을 사용하여 3D 애플리케이션을 실행할 수 있다는 것을 알았습니다.
$ vglrun vncserver
사실 왜냐하면이 문제또한 명령 앞에 ssh-agent를 추가해야 했습니다.
$ /usr/bin/ssh-agent vglrun vncserver
vncserver에는 ~/.vnc/xstartup에 시작 스크립트가 있어서 사용자가 ssh를 사용하여 연결하고 자신의 vnc 서버를 시작할 수 있도록 vglrun 명령이 Xvnc보다 먼저 실행되도록 편집할 수 있습니다. 하지만 편의상 xinetd를 사용하고 싶습니다.하지만 ssh-agent 및 vglrun을 사용하여 Xvnc를 실행하도록 xinetd 서비스를 구성하는 방법을 모르겠습니다.. 이것은 /etc/xinetd.d/xvncserver에 저장된 초기 구성입니다.
service vnc { disable = no log_type = SYSLOG daemon debug protocol = tcp socket_type = stream wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -query localhost -once -geometry 1024x768 -depth 24 securitytypes=none # server = /usr/bin/ssh-agent # server_args = vglrun /usr/bin/Xvnc -inetd -query localhost -once -geometry 1024x768 -depth 24 securitytypes=none }
위의 구성으로 인해 VNC 화면에 "문제가 발생했습니다" 오류가 발생합니다(아마도 gnome을 시작할 수 없기 때문일 것입니다). 주석이 달린 줄 server = /usr/bin/ssh-agent
과 그 밖의 모든 항목을 바꾸려고 시도했지만 server_args
이로 인해 TigerVNC 클라이언트가 연결에 실패하고 "버전을 읽지 못했습니다: RFB 서버가 아닌가요?"라고 보고했습니다.
vglrun(및 ssh-agent)을 사용하여 Xvnc를 올바르게 시작하도록 xinetd 서버를 어떻게 구성합니까?