Ubuntu 12.10 çalıştıran bir sunucum var ve bu sunucuya oturum açmadan uzaktan erişebilmem gerekiyor.
Birçok çözüm buldum, ancak hiçbiri 12.10 ile çalışmıyor gibi görünüyor.
Birisi bana x11vnc
nin bir hizmet olarak (kullanıcı oturum açmadan önce) nasıl başlatılacağı konusunda adım adım talimat verebilir mi, böylece VNC ile bağlanırken grafiksel bir oturum açma ekranı ile karşılaşacağım?
Linux'ta yeniyim, bu yüzden lütfen yanıtlarınızda/yorumlarınızda mümkün olduğunca fazla ayrıntı verin.
Teşekkürler
x11vnc'yi yükleyin:
sudo apt-get install x11vnc
Kullanıcınız için bir parola oluşturun:
x11vnc -storepasswd
Eğer ssh kurulumunuz varsa, zaten oturum açmış olduğunuzu varsayarak x11vnc'yi başlatmak için kullanabilirsiniz, ancak şifre dosyanızı kullanmasını söylemeyi unutmayın:
x11vnc -usepw
Giriş yapmadıysanız, açıklamayla birlikte bir hata alırsınız:
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
Oturum açmak için lightdm kullandığınızı varsayarsak, bu sorunu çözebilirsiniz. x11vnc'yi şu komutla başlatabilirsiniz:
sudo x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw
Bunun x11vnc'yi root olarak çalıştırmak için en iyi fikir olduğundan emin değilim. Belki birisi sudo kullanmadan girişe erişmenin bir yolunu düzenleyebilir.
Bu çalıştıktan sonra krdc (KDE için) gibi bir vnc istemcisi kullanarak bağlanabilmeniz gerekir. Ssh oturumunun açık olmasına gerek kalmadan x11vnc'yi çalışır durumda tutmak için GNU Screen kullanmak isteyebilirsiniz
Bunu http://ubuntuforums.org/showthread.php?t=2039022 adresini kullanarak çözebildim.
İşte başlangıçta çalışmasını sağlamak için kullanabileceğiniz örnek bir upstart işi. Bunun /etc/init/x11vnc.conf dosyasına konulması gerekir. (Ubuntu'nun yeni sürümlerinin systemd kullandığını unutmayın, bu nedenle örnek bir systemd yapılandırmasına sahip diğer yanıta bakın):
# 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
Bu dosyayı oluşturduktan sonra çalıştırarak başlatabilirsiniz: sudo start x11vnc Günlüğü şu adresten kontrol edebilirsiniz: /var/log/upstart/x11vnc.log
Yukarıdaki cevaplar sorunu çözer, ancak systemd'li Ubuntu sürümleri (15.04+) için birkaç değişiklik aşağıdaki gibidir:
-auth guess
işlevinden yararlanın - bu yardımcı olur!Yüklemek için aşağıdakileri çalıştırın:
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
Bunu dosyaya ekleyin:
[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
O zaman şöyle başla:
sudo systemctl daemon-reload
sudo systemctl start x11vnc
Ve hizmetin açılışta başladığından emin olun:
sudo systemctl enable x11vnc
İşte nasıl yapılacağı:
X11VNC sunucusunu kurun (veya Ubuntu aracılığıyla Yazılım Merkezi -> X11VNC Sunucusu)
sudo apt-get install x11vnc
Bir VNC parola dosyası oluşturun.
sudo x11vnc -storepasswd yourVNCpasswordHERE /etc/x11vnc.pass
Nano editöründe (veya gedit, leafpad vb.) bir iş dosyası oluşturun.
sudo nano /etc/init/x11vnc.conf
Bunu dosyaya yapıştırın:
login-session-start üzerinde başlat
senaryo
/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
son senaryo
Dosyayı kaydedin. Upstart olayı login-session-start için bir iş oluşturdunuz.
Ubuntu'yu yeniden başlatın.
Bu kadar! Artık oturum açmadan önce bile herhangi bir VNC istemcisi ile bağlanabilmelisiniz.