시작 시 여러 X 디스플레이 실행

시작 시 여러 X 디스플레이 실행

저는 7개의 모니터와 2개의 GPU가 있는 컴퓨터를 실행하고 있습니다. 각 모니터는 X 입력(마우스나 키보드 없음)이나 데스크톱 환경이 필요하지 않은 독립적인 전체 화면 응용 프로그램을 실행합니다.

시스템 서비스를 생성하려면 어떻게 해야 합니까?

  • 특정 모니터에 연결된 X 디스플레이 만들기
  • 이 X 디스플레이에서 전체 화면 응용 프로그램 실행
  • 이 X 디스플레이에서 VNC 서버(지정된 포트)를 실행합니다.

저는 7개의 모니터 각각에 대해 이러한 서비스 중 하나를 만들 계획입니다.


업데이트: 점점 가까워지고 있어요. 이제 각 모니터에 대해 Windows와 VNC를 실행할 수 있습니다. 여전히 자동으로 실행할 수 없으며 스크립트를 여러 서비스로 분할하는 방법을 알 수 없습니다.

먼저, 별도의 화면에서 각 모니터에 대해 하나를 생성했습니다 nvidia-settings. xorg.conf그런 다음 헤드리스 환경으로 부팅합니다.

sudo mv xorg.conf /etc/X11/xorg.conf
sudo systemctl mask gdm
sudo reboot

스크립트를 만듭니다.

#!/bin/bash
DISPLAY=0.0 cvlc video1.mp4 & 
DISPLAY=0.1 cvlc video2.mp4 &

x11vnc -display :0.0 &
x11vnc -display :0.1

나는 tty2에서 실행합니다:

$ xinit /path/to/script

이렇게 하면 비디오 1이 모니터 1에서 재생되고 비디오 2가 모니터 2에서 재생됩니다. 그런 다음 포트 5900 및 5901을 사용하여 VNC를 통해 두 모니터에 연결할 수 있습니다.

서비스로 실행하려고 하면 다음과 같습니다.

[Service]
ExecStart=xinit /path/to/script

다음과 같은 이유로 서비스가 실패합니다.

/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server`
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

다음 /var/log/Xorg.0.log을 포함합니다:

(WW) NVIDIA(GO): Unable to get display device for DPI computation.
(WW) NVIDIA(GO): Option "metamodes" is not used
(WW) NVIDIA(GO): Failed to set the display configuration
(WW) NVIDIA(GO):  - Setting a mode on head 0 failed: Insufficient permissions
(WW) NVIDIA(GO):  - Setting a mode on head 1 failed: Insufficient permissions
(WW) NVIDIA(GO):  - Setting a mode on head 2 failed: Insufficient permissions
(WW) NVIDIA(GO):  - Setting a mode on head 3 failed: Insufficient permissions

업데이트 2: 훨씬 더 가까워졌습니다.

TTY2에서 실행합니다. xinit TTY3에서 실행합니다 systemctl --user start disp@{0,1,2,3,4,5,6} vnc@{0,1,2,3,4,5,6}.

어디:~/.config/systemd/user/[email protected]

[Service]
Environment=DISPLAY:0.%i
ExecStart=cvlc /path/to/file%i.mp4

그리고 ~/.config/systemd/user/의 위치[이메일 보호됨]`는:

[Service]
Environment=DISPLAY:0.%i
ExecStart=x11vnc -display :0.%i

이제 시작 시 해당 사용자가 로그인하고 실행하도록 하는 방법을 알아내면 됩니다 xinit.

관련 정보