VNC servisi oluşturmak

Ali Orhun Akkirman - Jul 15 '20 - - Dev Community

Çok basit şekilde x11vnc kullanarak VNC sunucusu açabiliyorsunuz. Fakat ilgili VNC oturumuna bir kere girdikten sonra oturum kapandığında ilgili işlem de sonlanmaktadır. Bunun için x11vnc'yi servis olarak açmanız gerekir.

Kurulum

x11vnc'nin kurulumu için aşağıdaki komutu uygulayabilirsiniz:

sudo apt install x11vnc
Enter fullscreen mode Exit fullscreen mode

Servis oluşturma

VNC oturumunu mevcut açık bir oturumla paylaşılmış bir şekilde yapabilmek için açık olan X oturumu gerekmektedir. Ve tabi ki bu oturumun XAuthority dosyası gerekmektedir. Bunun için /etc/systemd/system/x11vnc.service dosya yolunda bir dosya oluşturulur. İçeriği ise aşağıdaki gibi olabilir.

[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -xkb -noxrecord -skip_lockkeys -noxfixes -noxdamage -display :0 -auth /home/aciklab/.Xauthority
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2

[Install]
WantedBy=multi-user.target
Enter fullscreen mode Exit fullscreen mode

İlgili dosyayı kaydettikten sonra aşağıdaki komutlar ile servisi başlatıp, kalıcı olarak açılışta başlatma sağlanır.

sudo systemctl daemon-reload
sudo systemctl start x11vnc
sudo systemctl enable x11vnc
Enter fullscreen mode Exit fullscreen mode

Burada önemli olan nokta hep açık olması gereken kullanıcı adı olarak aciklab yerine kendi kullanıcı adınızı yazmanız olacaktır. İlgili session açık değilse vnc bağlantısı da açık olmayacaktır. Bu çözüm için lightdm ve gdm üzerinde VNC ayar yapılması lazım. İlgili ayarları yapıldıktan sonra istenilen sayıda kullanıcı kendisi ayrı ayrı oturum açabilmektedir. Bu örnekte ise var olan bir oturuma VNC ile ortak kullanma işlemi yapılmıştır.

Bağlantıya Parola oluşturma

İlgili oturuma bağlanırken herhangi bir parola sorulmamaktadır. Burada bir parola sorması istenirse aşağıdaki komut uygulanır;

sudo x11vnc -storepasswd şifreyazınız /etc/x11vnc.pass
Enter fullscreen mode Exit fullscreen mode

Bu şekilde parola oluştuktan sonra servis dosyası içindeki ExecStart içeriği aşağıdaki gibi düzenlenmelidir:

ExecStart=/usr/bin/x11vnc -xkb -noxrecord -skip_lockkeys -noxfixes -noxdamage -display :0 -auth /home/aciklab/.Xauthority -rfbauth /etc/x11vnc.pass
Enter fullscreen mode Exit fullscreen mode

Esse quam videri

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .