운영 체제: GNU/Linux Debian 9 및 Cinnamon DE.
우리가 얻을 수 있었던 이후로Debian 서버에서 실행되는 VNC, 감사해요GAD3R이제 VNC를 다시 정규 서비스로 만들 차례입니다.
실행하는 동안 서버에 SSH를 연결하지 않고도 시작부터 실행되기를 원합니다.
x11vnc -rfbauth ~/.vnc/passwd
그리고 별도의 시나몬 세션을 실행하는 것이 아니라, 홈 화면에 있는 내용이나 무엇이라고 부르는지 직접 보고 해당 세션을 실시간으로 운영하고 싶습니다.
답변1
Vlastimil의 자체 솔루션과 유사하지만 몇 가지 추가 세부 정보가 있습니다.systemd가 포함된 Cinnamon VNC 서버)
파일 만들기 /etc/systemd/system/x11vnc.service
:
[Unit]
Description=VNC Server for X11
Requires=display-manager.service
After=syslog.target network-online.target ##optional for better performance
Wants=syslog.target network-online.target ##optional for better performance
[Service]
ExecStart=/usr/bin/x11vnc -display :0 -rfbauth /etc/x11vnc.pwd -shared -forever -o /var/log/x11vnc.log
ExecStop=/usr/bin/x11vnc -R stop
Restart=on-failure
RestartSec=2
[Install]
WantedBy=multi-user.target
VNC 비밀번호 생성 및 설정(MY_PASSWORD 교체)
x11vnc -storepasswd MY_PASSWORD /etc/x11vnc.pwd
마침내:
systemctl daemon-reload
systemctl enable x11vnc
systemctl start x11vnc
답변2
/etc/
먼저, 다음과 같이 비밀번호 파일을 복사해 두는 것이 좋습니다 .
sudo cp ~/.vnc/passwd /etc/vnc.passwd
이는 또한 아래와 같이 소유권 root
과 액세스 권한을 보장합니다.rw
$ ll /etc/vnc.passwd
-rw------- 1 root root 8 Nov 3 04:00 /etc/vnc.passwd
둘째, 서비스 파일을 직접 생성해야 합니다.
sudo nano /lib/systemd/system/vnc.service
제가 생각해낸 가장 간단한 해결책은 다음과 같이 구성된다는 것입니다.
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/vnc.passwd -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
이 파일은 가장 간단한 서비스 파일이지만 중지나 다시 시작도 지원하지 않습니다. 이 점은 제가 직접 알아내야 합니다.
부인 성명:매뉴얼 페이지꽤 오랜 시간이 걸렸습니다. 여기서 보안 실수와 같은 심각한 실수를 저질렀을 수도 있습니다. 자신의 책임하에 사용하십시오.
sudo systemctl enable vnc.service
sudo systemctl daemon-reload
컴퓨터를 다시 시작하기만 하면 됩니다.
그런데 클라이언트 측에서는 서버에서 비밀번호 파일을 복사하여 연결할 때마다 비밀번호를 입력할 필요가 없도록 하고 다음과 유사한 별칭을 정의할 수 있습니다.
alias vnc-server='(vncviewer 192.168.0.xxx:5900 -passwd /home/UserName/.vnc/server.passwd > /dev/null 2>&1 &)'
이렇게 하면 터미널이 침수되지 않습니다.