私は最近ここで見つけたガイドに従いました。RHEL 8にVNCサーバーをインストールする方法指定されたユーザーのVNCセッションを作成します。新しいユーザーアカウントを作成し、engineer
次のように新しいユーザーアカウントを指すようにsystemdサービスファイルを更新しました。
[engineer@localhost ~]$ cat /etc/systemd/system/[email protected]
[Unit]
Description=Remote Desktop Service (VNC)
After=syslog.target network.target
[Service]
Type=forking
WorkingDirectory=/home/engineer
User=engineer
Group=engineer
PIDFile=/home/engineer/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
engineer
アカウントの新しいvncパスワードを作成し、サービスファイルを作成してsystemctl daemon-reload
コマンドを実行しました。systemctl start vncserver@:1
ガイドに従って、次のエラーメッセージが表示されます。
Failed to import environment: Process org.freedesktop.systemd1 exited with status 1
面倒なことに、サービスファイルを更新するまで、すべてがうまくいきましたvncserver@
。
興味深いことに、サービスファイルのすべての設定を元のユーザーに復元しても失敗しません。
答え1
これはそれ自体では答えではないかもしれませんが、次の2つのソースで見つけた情報に基づいて必要なものをより簡単に実装する方法を見つけたので、共有する必要があると思いました。
次の手順では、すでにインストールしており、TigerVNC
他の操作を実行していないと想定しています。
まず、ユーザーアカウントにログインし、次を実行してvncパスワードを作成しました。
$ vncpasswd
メッセージが表示されたときに表示専用パスワードを設定していません。
vncserver.user
次に、次の場所のファイルを変更し、ファイル/etc/tigervnc/
の例に従ってユーザーを追加しました。
変更を保存したら、次のコマンドを実行して、ディレクトリ/etc/tigervnc/
から自分のユーザーアカウントディレクトリにユーザー環境設定テンプレートをコピーしました。home
$ cp /etc/tigervnc/vncserver-config-mandatory ~/.vnc/config
テンプレートをコピーしたら、ファイルを編集してconfig
セッションと希望の画面解像度を定義しました。
session=xfce4-session
geometry=1920x1080
systemd
次に、次のコマンドを実行してサービステンプレートをコピーしました。
$ sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
ファイルを正しいディレクトリにコピーした後、次の2行を使用して修正しました。
Restart=on-success
RestartSec=15
この2行を追加した理由は、VNCセッションの使用中にデスクトップ環境からログアウトすると、実際にsystemd
ファイルの提供が中断されることに気付いたためです。これらの追加行は、これを確認してから15秒後にサービスを再起動します。
実行する最後のステップは、まずsystemd
次のコマンドを実行してサービスを開始することです。
$ sudo systemctl start vncserver@:1
systemd
次に、次のコマンドでサービスが正常に開始されたことを確認します。
$ sudo systemctl status vncserver@:1
サービスが開始されたことを確認したら、systemd
ポートを使用してIPアドレスに接続しようとします5901
。
すべてがうまくいったら、systemd
起動中にサービスが開始されるようにサービスを有効にしました。
$ sudo systemctl enable vncserver@:1
この情報が他の人に役立つことを願っています。