나는 최근에 여기에서 찾은 가이드를 따랐습니다.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
이것은 그 자체로 답이 아닐 수도 있지만 다음 두 소스에서 찾은 정보를 기반으로 필요한 것을 더 간단하게 구현하는 방법을 찾았으므로 공유해야겠다고 생각했습니다.
다음 단계에서는 이미 설치했으며 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
파일을 올바른 디렉터리에 복사한 후 다음 두 줄을 사용하여 수정했습니다.
Restart=on-success
RestartSec=15
이 두 줄을 추가한 이유는 VNC 세션을 사용하는 동안 데스크톱 환경에서 로그아웃하면 실제로 systemd
파일 제공이 중단된다는 점을 알아차렸기 때문입니다. 이러한 추가 라인은 이를 확인한 후 15초 후에 서비스를 다시 시작합니다.
수행할 마지막 단계는 먼저 systemd
다음 명령을 실행하여 서비스를 시작하는 것입니다.
$ sudo systemctl start vncserver@:1
systemd
그런 다음 다음 명령을 통해 서비스가 성공적으로 시작되었는지 확인합니다.
$ sudo systemctl status vncserver@:1
서비스가 시작되었음을 확인한 후 systemd
포트를 사용하여 IP 주소에 연결을 시도합니다 5901
.
모든 것이 만족스러우면 systemd
부팅 중에 서비스가 시작되도록 서비스를 활성화했습니다.
$ sudo systemctl enable vncserver@:1
이 정보가 다른 사람들에게 도움이 되기를 바랍니다.