VNC 세션이 graphic.target을 사용하지 못하도록 방지 CentOS Stream 8 RHEL 8 |

VNC 세션이 graphic.target을 사용하지 못하도록 방지 CentOS Stream 8 RHEL 8 |

홈 서버를 설정 중인데 다음과 같은 문제가 발생했습니다.

  • 사용tiger-vnc
  • CentOS 스트림 8 사용
  • 루트 사용자 사용

서버를 시작하면 여전히 연결된 디스플레이가 표시되지만 localhost login: vnc multi-user.target 를 통해 연결하면 루트 사용자의 데스크톱 환경이 표시됩니다. 그래서 정말 필요할 때 데스크탑 환경을 수동으로 시작하고 싶습니다. 내가 뭘 잘못했나요? VNC가 세션을 시작하지 못하도록 설정 systemctl set-default한 것 같은데요 , 앞으로 주의하고 변경해야 할 사항이 있나요?multi-user.targetgraphical.target

이것이 get-default결과 이다

[root@localhost ~]# systemctl get-default
multi-user.target

여기에서 매개변수를 사용하여 vnc 서비스를 활성화합니다.:1

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/libexec/vncsession-start %i
PIDFile=/run/vncsession-%i.pid
SELinuxContext=system_u:system_r:vnc_session_t:s0

[Install]
WantedBy=multi-user.target

결과는 다음과 같습니다.systemctl status vncserver@\:1.service

vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2021-12-12 12:03:05 CET; 21min ago
  Process: 1139 ExecStart=/usr/libexec/vncsession-start :1 (code=exited, status=0/SUCCESS)
 Main PID: 1157 (vncsession)
    Tasks: 0 (limit: 100263)
   Memory: 2.4M
   CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
           ‣ 1157 /usr/sbin/vncsession root :1

Dec 12 12:03:00 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
Dec 12 12:03:05 localhost.localdomain systemd[1]: Started Remote desktop service (VNC).

답변1

귀하의 systemd 장치는 VNC 서버를 루트로 실행하고 있으며(사용자가 정의되지 않았기 때문에) multi-user.target을 사용하여 시작하도록 지시했으므로 이제 시작됩니다. 귀하의 서비스에는 graphic.target과 관련된 것이 없습니다.

/usr/share/doc/tigervnc/HOWTO.mdsystemd 서비스를 올바르게 설정하는 방법에 대한 문서를 읽어 보시기 바랍니다 (온라인 버전은 여기).

기본적으로 특정 디스플레이/사용자 매핑을 설정한 /etc/tigervnc/vncserver.users다음 systemctl start vncserver@:1디스플레이 1과 관련된 사용자 세션 시작을 실행하여 시작합니다.

관련 정보