15-09-2019, Saat: 12:03
(Son Düzenleme: 15-09-2019, Saat: 13:42, Düzenleyen: Norm Arslan.)
Her yeni sunucu açtığınızda veya sunucunuzu sıfırladığınızda vnc serveri baştan kurmak ve ayarlamak ekstra bir iş gibi gelir. Hele ki sunucunuzu her açtığınızda vnc serveri çalıştırmak için komut girmek benim gibi sizi de bıktırmış olmalı. Bu yüzden vnc serveri python ile tek seferde kurup her seferinde komut girmenize gerek olmadan sunucunuz açıldığı vakit vnc serveri otomatik açılacak şeklide ayarlayan aşağıdaki python scripti eminim ki çok işinize yarayacaktır .
Gnome, KDE vs. desktop kurulumunuzu yaptığınızı farzediyorum ve devam ediyorum.
Kullanım için yapmanız gereken kodun içerisinde vnc_server_sifresi yazan yere KENDİ SİFRENİZİ EKLEMEK ve kodu sunucunuza vncserver.py şeklinde kaydetmek olacaktır. Sonrasında terminalde "python vncserver.py" komutunu çalıştırmanız yeterli olacaktır.
Kurulum tamamlandığında sunucunuz yeniden başlatılacak ve vnc server çalışır vaziyette açılacaktır.
NOT: Ubuntu Server 16.04 LTS 64 bit ve Ubuntu Server 18.04 LTS 64 bit işletim sistemlerinde GNOME ile birlikte denenmiştir. Diğer sistemlerde de deneyebilirsiniz.
Gnome, KDE vs. desktop kurulumunuzu yaptığınızı farzediyorum ve devam ediyorum.
Kullanım için yapmanız gereken kodun içerisinde vnc_server_sifresi yazan yere KENDİ SİFRENİZİ EKLEMEK ve kodu sunucunuza vncserver.py şeklinde kaydetmek olacaktır. Sonrasında terminalde "python vncserver.py" komutunu çalıştırmanız yeterli olacaktır.
Kurulum tamamlandığında sunucunuz yeniden başlatılacak ve vnc server çalışır vaziyette açılacaktır.
NOT: Ubuntu Server 16.04 LTS 64 bit ve Ubuntu Server 18.04 LTS 64 bit işletim sistemlerinde GNOME ile birlikte denenmiştir. Diğer sistemlerde de deneyebilirsiniz.
PHP Kod:
#-*- coding: utf-8 -*-
import os, time
from subprocess import call, Popen, PIPE
vnc_server_sifresi = ""### BURAYA KENDI SIFRENIZI YAZMAYI UNUTMAYIN!
vnc_original = '''#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &'''
autostart_vnc_icerigi= '''#!/bin/sh
### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO
USER=root
HOME=/root
export USER HOME
case "$1" in
start)
echo "Starting VNC Server"
#Insert your favoured settings for a VNC session
/usr/bin/vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565
;;
stop)
echo "Stopping VNC Server"
/usr/bin/vncserver -kill :1
;;
*)
echo "Usage: /etc/init.d/vncboot {start|stop}"
exit 1
;;
esac
exit 0'''
def vnc_autostart_yap():
vncboot = open('/etc/init.d/vncboot', 'w+')
vncboot.write(autostart_vnc_icerigi)
vncboot.close()
call('chmod 755 /etc/init.d/vncboot'.split(' '))
call('update-rc.d vncboot defaults'.split(' '))
def vnc_server_kur():
print 'VNC Server Kuruluyor...'
time.sleep(2)
call('sudo apt-get update'.split(' '))
call('sudo apt-get upgrade -y'.split(' '))
call('sudo apt-get install vnc4server -y'.split(' '))
p = Popen(['vncserver', ':1'], stdout=PIPE, stdin=PIPE, stderr=PIPE)
grep_stdout = p.communicate(input=vnc_server_sifresi + '\n' + vnc_server_sifresi + '\n')[0]
print grep_stdout.decode()
time.sleep(4)
with open('/root/.vnc/xstartup', 'w') as vnc:
vnc.write(vnc_original)
time.sleep(2)
vnc_autostart_yap()
call(['vncserver', '-kill', ':1'])
print 'VNC server kuruldu. Sunucu yeniden baslatilacak'
call(['reboot'])
vnc_server_kur()