システムサービスのパーソナライズされたインスタンス

システムサービスのパーソナライズされたインスタンス

4人の異なるユーザーのために、Debian Busterコンピュータで4つのVNCサーバーインスタンスを実行しています。

Apache Guacamoleのおかげで、ユーザーはWebブラウザを介してリモートコンピュータから同時に自分のアカウントにログインできます。

各VNCインスタンスには独自のユニットファイルがあります。それらは次のとおりです。

[Unit]
Description=a wrapper to launch an X server for VNC
After=syslog.target network.target

[Service]
Type=forking
User=user2
Group=user2
WorkingDirectory=/home/user2

ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -rfbport 5902 -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

ユーザー、ユーザーのホームディレクトリ、およびVNCサーバーのポートが明示的に指定されます。 Guacamoleのユーザーマッピングファイルのデータと一致する必要があります。

    <connection name="User1">
        <protocol>vnc</protocol>
        <param name="hostname">localhost</param>
        <param name="port">5902</param>       
        <param name="password">user2's vnc password</param>                  
    </connection>
</authorize

起動時に一度に1つのVNCインスタンスのみを起動する非常に簡単なスクリプトがあります。

だからこれは私に効果があります。私はそれが非常にエレガントだとは思わない。 systemdに複数のユーザーをサポートさせるためのより良い方法はありますか?何になりますか?[Eメール保護]テンプレートファイルがユーザー名とポート番号を処理しているように見えますか?

ベストアンサー1

おすすめ記事