LXC 컨테이너 내에서 X 앱을 효율적으로 실행하려면 어떻게해야합니까?
ssh -Y guest
그래픽 가속이 너무 빠르기 때문에 ssh -Y
모든 것이 전통적인 X11 프로토콜로 가상 네트워크를 통해 이동해야합니다.
호스트와 게스트 응용 프로그램간에 복사하여 붙여 넣을 수있는 것이 바람직하지만 필수는 아닙니다. 호스트와 게스트에 각각 하나씩 두 개의 X 서버를 실행하는 것이 필수적입니다.
/dev/tty0
누락 된 것에 대해 불평하기 때문에 게스트 내에서 기본 Xorg를 실행할 수 없으며 mknod
루트로 할 때도 권한이 거부되어 게스트에서 해당 장치를 사용할 수 없습니다 .
답변
당신이 시도 할 수 있습니다 xpra 또한 한 번 봐 가지고, 등 또는 NX, VNC를 VirtualGL을 당신이 GL 가속을 원하는 경우.
호스트와 디렉토리를 공유 할 수 있으면 xpra와 함께 mmap을 사용하여 (mmap 파일의 경로 지정) 성능을 크게 향상시킬 수 있습니다.
답변
참고 :이 접근 방식은 약간의 해킹입니다. 또한 호스트와 게스트 사이의 복사 및 붙여 넣기를 지원하지 않으며 완전히 안전하지 않습니다!
- 추가
/tmp
로 통과 게스트 구성에 추가 파일 시스템으로/tmp
호스트. - 다음 단계는 X 보안을 사용하지 않기 때문에 X 서버가 모든 종류의 네트워크 연결을 허용하도록 구성되어 있지 않은지 확인하십시오.
xhost +
터미널 창에 입력하십시오 .- LXC 게스트 시작
- 게스트 내에서 원하는 일반 사용자로 로그인하고 (즉, 루트가 아닌) 다음을 입력하십시오.
DISPLAY=:0 Xephyr :2 -screen 1024x768 -dpi 96 &
DISPLAY=:2 /etc/X11/xinit/Xsession
게스트 내부 (여기 2
를 사용하여 여러 LXC VM에 연결하는 경우 사용할 화면 번호로 두 s를 교체 ) 해상도 ( -screen
) 및 DPI ( -dpi
) 매개 변수를 조정하십시오.
이 작업은 게스트에서 실행되는 Xephyr 중첩 X 서버 (UNIX 도메인 소켓과 MIT-SHM 확장을 모두 사용함)에 대한 “프록시”연결과 Xephyr에서 호스트 X 서버 (UNIX 도메인 소켓을 사용하는)에 대한 다른 연결을 설정합니다. LXC의 설계로 인해 MIT-SHM을 사용할 수있는 한 결정할 수는 없습니다. 이것은 적어도 내 하드웨어 (nvidia)의 오픈 소스 드라이버를 사용하여 LXC 게스트에서 가능한 가장 빠른 구성 인 것 같습니다.