localhost의 LXC 게스트용 Fast X?

localhost의 LXC 게스트용 Fast X?

LXC 컨테이너 내에서 X 애플리케이션을 효율적으로 실행하는 방법은 무엇입니까?

ssh -Y guest

너무 느립니다. 그래픽 가속이 없습니다 ssh -Y. 모든 것이 기존 X11 프로토콜을 사용하여 가상 네트워크를 통해 전송되어야 합니다.

호스트 애플리케이션과 게스트 애플리케이션 간에 복사하여 붙여넣는 기능이 바람직하지만 필수는 아닙니다. 두 개의 X 서버(호스트용 하나, 게스트용 하나)를 실행하는 것은 (나의 목적을 위해) 필수적입니다.

게스트에서 네이티브 Xorg가 누락되었다고 불평하기 때문에 실행할 수 없으며 , 루트로 실행하는 경우에도 내 권한이 거부되기 때문에 게스트에서 장치를 실행할 /dev/tty0수 없습니다 .mknod

답변1

당신은 시도하고 싶을 수도 있습니다XPula아니면 NX, VNC 등을 확인해 보세요.가상 GLGL 가속을 원하는 경우.

호스트와 디렉토리를 공유할 수 있는 경우 xpra와 함께 mmap을 사용할 수 있으며(mmap 파일에 대한 경로 지정) 이는 매우 중요한 성능 향상을 제공할 수 있습니다.

답변2

노트: 이 방법은 약간 해킹적입니다. 또한 호스트와 게스트 간 복사 및 붙여넣기를 지원하지 않습니다.전혀 안전감이 없습니다!

  1. 게스트 구성에 추가 파일 시스템으로 추가되면 구성이 호스트 /tmp에 전달됩니다 ./tmp
  2. 다음 단계에서는 X 보안이 비활성화되므로 X 서버가 모든 종류의 네트워크 연결을 허용하도록 구성되어 있지 않은지 확인하십시오.
  3. xhost +터미널 창에 입력하세요.
  4. LXC 게스트 시작
  5. 원하는 일반 사용자(예: 루트가 아님)로 게스트에 로그인하고 다음을 입력합니다.

DISPLAY=:0 Xephyr :2 -screen 1024x768 -dpi 96 &

DISPLAY=:2 /etc/X11/xinit/Xsession

게스트 내부( 2이를 사용하여 여러 LXC VM에 연결하는 경우 두 개의 를 사용하려는 화면 번호로 바꿉니다.) 해상도( -screen) 및 DPI( -dpi) 매개 변수를 적절하게 조정합니다.

그 역할은 게스트에서 실행 중인 Xephyr 중첩 X 서버(UNIX 도메인 소켓 및 MIT-SHM 확장 사용)에 대한 "프록시" 연결을 설정하고 Xephyr에서 호스트 X 서버(UNIX 도메인 소켓 A 사용)로의 또 다른 연결을 설정하는 것입니다. 연결이 가능하지만 제가 아는 한 LXC 설계상 MIT-SHM은 사용할 수 없습니다. 이것은 적어도 내 하드웨어(nvidia)용 오픈 소스 드라이버를 사용하여 LXC 게스트에서 가능한 가장 빠른 구성인 것 같습니다.

관련 정보