Ubuntu 12.10을 실행하는 서버가 있으며 로그인하지 않고이 서버에 원격으로 연결할 수 있어야합니다.
많은 솔루션을 찾았지만 12.10에서 작동하지 않는 것 같습니다.
누구나 x11vncVNC에 연결할 때 그래픽 로그인 화면이 표시되도록 서비스로 시작 하는 방법 (사용자 로그인 전에)을 구성하는 방법에 대한 단계별 지침을 제공 할 수 있습니까?
저는 Linux를 처음 사용하므로 응답 / 코멘트에 최대한 자세하게 설명하십시오.
감사
Ubuntu 12.10을 실행하는 서버가 있으며 로그인하지 않고이 서버에 원격으로 연결할 수 있어야합니다.
많은 솔루션을 찾았지만 12.10에서 작동하지 않는 것 같습니다.
누구나 x11vncVNC에 연결할 때 그래픽 로그인 화면이 표시되도록 서비스로 시작 하는 방법 (사용자 로그인 전에)을 구성하는 방법에 대한 단계별 지침을 제공 할 수 있습니까?
저는 Linux를 처음 사용하므로 응답 / 코멘트에 최대한 자세하게 설명하십시오.
감사
답변:
x11vnc 설치 :
sudo apt-get install x11vnc
사용자의 비밀번호를 작성하십시오.
x11vnc -storepasswd
ssh 설정이있는 경우 이미 로그인 한 것으로 가정하여 x11vnc를 시작할 수 있지만 암호 파일을 사용하도록 지시해야합니다.
x11vnc -usepw
로그인하지 않으면 설명과 함께 오류가 발생합니다.
If NO ONE is logged into an X session yet, but there is a greeter login
program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
to find and use the raw display manager MIT-MAGIC-COOKIE file.
Some examples for various display managers:
gdm: -auth /var/gdm/:0.Xauth
-auth /var/lib/gdm/:0.Xauth
kdm: -auth /var/lib/kdm/A:0-crWk72
-auth /var/run/xauth/A:0-crWk72
xdm: -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
dtlogin: -auth /var/dt/A:0-UgaaXa
로그인에 lightdm을 사용한다고 가정하면이 문제를 해결할 수 있습니다. 다음 명령으로 x11vnc를 시작할 수 있습니다.
sudo x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw
이것이 x11vnc를 루트로 실행하는 것이 가장 좋은 아이디어인지 확실하지 않습니다. 누군가 sudo를 사용하지 않고 로그인에 액세스하는 방법으로 편집 할 수 있습니다.
이것이 실행되면 krdc (KDE의 경우)와 같은 vnc 클라이언트를 사용하여 연결할 수 있어야합니다. ssh 세션을 열지 않고도 GNU Screen 을 사용 하여 x11vnc를 계속 실행할 수 있습니다.
나는 http://ubuntuforums.org/showthread.php?t=2039022 를 사용하여 이것을 알아낼 수있었습니다 .
시작시 실행할 수있는 샘플 시작 작업은 다음과 같습니다. /etc/init/x11vnc.conf에 넣어야합니다. (최신 버전의 Ubuntu는 systemd를 사용하므로 샘플 systemd 구성이있는 다른 답변을 참조하십시오.)
# description "start and stop x11vnc"
description "x11vnc"
start on runlevel [2345]
stop on runlevel [^2345]
console log
#chdir /home/
#setuid 1000
#setgid 1000
respawn
respawn limit 20 5
exec x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw
이 파일을 만들었 으면 다음을 실행하여 시작할 수 있습니다. sudo start x11vnc 다음 위치에서 로그를 확인할 수 있습니다. /var/log/upstart/x11vnc.log
x11vnc정상적인 사용자로 실행할 수 있으며 문제 없습니다. 예를 들어 호스트로 ssh x11vnc -safer -forever -display :0 2>&1 &하고 tmux 세션에서 실행 하는 것이 좋습니다 (모범 사례) $USER.
위의 답변은 다음과 같이 systemd (15.04+)가있는 Ubuntu 버전에 대한 몇 가지 수정 사항을 해결하여 문제를 해결합니다.
-auth guessx11vnc 의 새로운 기능을 활용하십시오 .다음을 실행하여 설치하십시오.
sudo apt-get install x11vnc
sudo x11vnc -storepasswd yourVNCpasswordHERE /etc/x11vnc.pass
# for Ubuntu 15.04+
sudo nano /lib/systemd/system/x11vnc.service
# for Ubuntu 16.10+
sudo nano /etc/systemd/system/x11vnc.service
이것을 파일에 삽입하십시오 :
[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service
[Service]
ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth guess -rfbauth /etc/x11vnc.pass
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2
[Install]
WantedBy=multi-user.target
그런 다음 시작하십시오.
sudo systemctl daemon-reload
sudo systemctl start x11vnc
부팅시 서비스가 시작되는지 확인하십시오.
sudo systemctl enable x11vnc
sudo xrandr --fb 1920x1080좋습니다 : .
Restart-sec해야RestartSec
RestartSec오히려 원하는 것 같습니다 Restart-sec.
방법은 다음과 같습니다.
X11VNC 서버를 설치하십시오 (또는 Ubuntu Software Center-> X11VNC Server를 통해)
sudo apt-get install x11vnc
VNC 비밀번호 파일을 작성하십시오.
sudo x11vnc -storepasswd yourVNCpasswordHERE /etc/x11vnc.pass
편집기 nano (또는 gedit, leafpad 등)에서 작업 파일을 작성하십시오.
sudo nano /etc/init/x11vnc.conf
이것을 파일에 붙여 넣으십시오.
start on login-session-start
script
/usr/bin/x11vnc -xkb -forever -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -bg -o /var/log/x11vnc.log
end script
파일을 저장하십시오. Upstart 이벤트 login-session-start에 대한 작업을 작성했습니다 .
그게 다야! 이제 로그인하기 전에도 VNC 클라이언트와 연결할 수 있습니다.
x11vnc매번 자동 시작 되지 않습니다. 그 문제에 대해서는 서비스로 시작하지도 않습니다. 파일 구문이 정확하고 x11vnc쉘에서 잘 시작할 수 있습니다 . 내가 무엇을 놓치고 있습니까?
babelmonks는 bash 스크립트로 응답하고 x11vnc.sh로 복사하여 저장하고 sudo bash /path/to/file/x11vnc.sh로 실행하십시오 (죄송합니다.
#!/bin/bash
#install x11vnc & set password
apt-get install x11vnc -y
x11vnc -storepasswd 123456 /etc/x11vnc.pass
#create config file for system service
cat > /lib/systemd/system/x11vnc.service <<-EOF
[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service
[Service]
ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth guess -rfbauth /etc/x11vnc.pass
ExecStop=/usr/bin/killall x11vnc
[Install]
WantedBy=multi-user.target
EOF
#restart new services & enable on boot
systemctl daemon-reload
systemctl start x11vnc
systemctl enable x11vnc
쉬운 설정을 위해 내 스크립트를 사용하십시오 : installvncubuntu1604.sh
용법:
chmod +x ./installvncubuntu1604.sh; sudo ./installvncubuntu1604.sh
다음은 sddmKDE 5에 대한 구성 입니다. 현재 -auth guess는 작동하지 않습니다 sddm. 인증 파일은 매번 다르므로와 같은 것이 필요합니다 -auth /var/run/sddm/*. 서비스는 다음과 같습니다.
[Unit]
Description="x11vnc"
After=multi-user.target
[Service]
ExecStart=/bin/sh -c "/usr/bin/x11vnc -xkb -noxrecord -display :0 -auth /var/run/sddm/* -rfbauth /etc/x11vnc.pass"
ExecStop=/usr/bin/killall x11vnc
[Install]
WantedBy=multi-user.target
난 후에 넣어해야 multi-user.target후 경우 display-manager.service, x11vnc어쩌면, 인증 파일을 찾을 수 없습니다 sddm나중에 인증 파일을 생성합니다. 이것은 Manjaro 18에서 테스트되었습니다.
내 자신의 쉘을 사용합니다 : https://github.com/dvdvideo1234/UbuntuBatches/tree/master/x11VNC
start on login-session-start
script
sudo /usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /var/srv/x11vnc/x11vnc.pass -forever -bg -rfbport <your_port> -o /var/srv/x11vnc/x11vnc.log
end script
파일에 :
/etc/init/x11vnc.conf
로그온 화면에서 암호를 묻는 경우에도 부팅시 자동으로 시작됩니다.
x11vnc 패키지 설치
#sudo apt-get install x11vnc
그런 다음 암호를 설정하십시오
#x11vnc -usepw
그런 다음 x11vnc에 대한 시작 스크립트를 작성하십시오.
#sudo nano /etc/x11vnc.sh
파일에서 :
/usr/bin/x11vnc -bg -forever -shared -reopen -usepw
그런 다음 저장
#sudo chmod 777 /etc/x11vnc.sh
그런 다음 제어 파일 => 시작 응용 프로그램에 스크립트 파일을 추가 한 다음 추가를 클릭하십시오
> Name-----------x11vnc
> Command-----<map the script file
> Comment------service
모든 사용자에게 추가해야합니다.
이것은 사용자 로그인 후에 만 실행됩니다