起動時に複数のXディスプレイを実行する

起動時に複数のXディスプレイを実行する

私は7つのモニターと2つのGPUを持つコンピュータを実行しています。各モニタは、X入力(マウスやキーボードなし)やデスクトップ環境を必要としない独立したフルスクリーンアプリケーションを実行します。

システムサービスを作成するにはどうすればよいですか?

  • 特定のモニターに接続されたXディスプレイを作成する
  • このXディスプレイでフルスクリーンアプリケーションを実行する
  • このXディスプレイでVNCサーバー(指定されたポート)を実行します。

私は7つのモニターごとにこれらのサービスの1つを作成する予定です。


アップデート:ますます近づいています。これで、各モニターに対してWindowsとVNCを実行できます。それでも自動的には実行できず、スクリプトを複数のサービスに分割する方法がわかりません。

まず、別の画面で各モニターに1つを作成しましたnvidia-settingsxorg.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/ の場所[Eメール保護]`は:

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

これで、起動時にそのユーザーにログインして実行する方法を理解できますxinit

ベストアンサー1

おすすめ記事