Menjalankan desktop di server jauh
Biasanya Anda akan menggunakan terminal ssh saat bekerja di server linux jarak jauh. Namun ada kalanya Anda perlu menjalankan aplikasi gui di server dan tetap menjalankannya selama beberapa waktu.
Baru-baru ini saya harus melakukan hal serupa dan oleh karena itu saya menyiapkan server Ubuntu dengan desktop dan mengaksesnya melalui VNC.
Idenya sederhana. Instal lingkungan desktop apa pun pilihan Anda di server. Dalam tutorial ini kita akan menggunakan Xfce, karena memiliki footprint yang ringan dibandingkan dengan yang lebih besar seperti Gnome dan KDE.
Kemudian gunakan server vnc untuk meluncurkan lingkungan desktop dan buat sesi tampilan X yang akan kita akses dari mesin desktop lokal kita melalui klien vnc.
Instal lingkungan Desktop dan server VNC
Xfce adalah desktop yang ringan dan ideal untuk digunakan pada server jarak jauh. Pertama instal paket xfce dan server tightvnc. Sebaiknya perbarui cache paket sebelum melakukan penginstalan yang sebenarnya.
sudo apt-get updateudo apt-get install xfce4 xfce4-goodies tightvncserver
Perhatikan bahwa ini hanya akan menginstal paket dan tidak memulai apa pun. Kami akan memulai vncserver dengan pengaturan khusus kami sendiri, nanti dalam panduan ini.
Jika proses dpkg keluar secara tidak terduga, Anda mungkin harus menjalankan perintah berikut -
# sudo dpkg --configure -a
Buat pengguna baru untuk vnc
Hal berikutnya yang harus dilakukan adalah membuat pengguna unix yang akan digunakan selama sesi vnc. Nama pengguna bisa apa saja. Gunakan perintah adduser.
# adduser mikeMenambahkan pengguna `mike' ...Menambahkan grup baru `mike' (1001) ...Menambahkan pengguna baru `mike' (1001) dengan grup `mike' ...Membuat direktori home `/home/mike ' ...Menyalin file dari `/etc/skel' ...Masukkan kata sandi UNIX baru:Ketik ulang kata sandi UNIX baru:passwd:kata sandi berhasil diperbarui Mengubah informasi pengguna untuk mikeMasukkan nilai baru, atau tekan ENTER untuk Nama Lengkap default [] :Nomor Kamar []:Telepon Kantor []:Telepon Rumah []:Lainnya []:Apakah informasinya benar? [Y/n]#
Vncserver akan meluncurkan lingkungan desktop dengan pengguna unix ini. Artinya, Anda akan menjadi pengguna ini saat bekerja di desktop jarak jauh
Atur "kata sandi vnc" untuk pengguna
Server vnc menyimpan kata sandi terpisah yang digunakan untuk masuk ke server vnc melalui klien vnc. Kata sandi ini berbeda dengan kata sandi pengguna unix. Ini dikonfigurasi menggunakan perintah vncpasswd.
Pertama-tama alihkan ke pengguna "mike" yang dibuat pada langkah sebelumnya dan atur kata sandi server vnc.
# su - mike
Selanjutnya gunakan perintah vncpasswd
$ vncpasswdMenggunakan file kata sandi /home/mike/.vnc/passwdVNC direktori /home/mike/.vnc tidak ada, membuat.Kata Sandi:Verifikasi:Apakah Anda ingin memasukkan kata sandi hanya lihat (y/n)? [email protected]:~$
Perhatikan bahwa file passwd tidak ada dan dibuat untuk pertama kalinya pada langkah ini.
Jika Anda sudah menjalankan perintah vncserver sebelumnya, maka itu akan membuat file. Saat Anda menjalankan vncserver untuk pertama kalinya, itu membuat skrip startup default
$ vncserverAnda akan memerlukan kata sandi untuk mengakses desktop Anda.Kata Sandi:Kata sandi terlalu [email protected]:~$ vncserverAnda akan memerlukan kata sandi untuk mengakses desktop Anda.Kata Sandi:Verifikasi:Apakah Anda ingin memasukkan kata sandi hanya lihat (y/t)? nDesktop 'X' baru adalah desktop:1Membuat skrip startup default /home/enlightened/.vnc/xstartupMemulai aplikasi yang ditentukan dalam /home/enlightened/.vnc/xstartupFile log adalah /home/enlightened/.vnc/desktop:1.logNamun, kita tidak perlu menjalankan perintah vncserver. Ini akan diluncurkan secara otomatis menggunakan skrip startup.
Buat skrip xstartup
File penting berikutnya adalah skrip xstartup. Ini berisi instruksi tentang aplikasi X mana yang harus dimulai. Lingkungan desktop adalah aplikasi X yang harus kita mulai.
Backup dulu filenya jika sudah ada
mv ~/.vnc/xstartup ~/.vnc/xstartup.bakSekarang edit menggunakan nano
[email protected]:~$ nano .vnc/xstartupCatatan - Ini ada di dalam direktori home dari vnc pengguna, yaitu /home/mike/.vnc/xstartup
Masukkan baris berikut di skrip xstartup
#!/bin/bashxrdb $HOME/.Xresourcesstartxfce4 &Perintah startxfce4 akan meluncurkan desktop xfce. Simpan file dan tutup.
Jadikan file xstartup dapat dieksekusi. Ini diperlukan agar vncserver dapat mengeksekusi file ini.
$ chmod +x ~/.vnc/xstartupBuat file layanan vnc
Langkah selanjutnya adalah membuat file layanan vnc agar kita dapat memulai server vnc menggunakan perintah service dan tidak harus menjalankan perintah vncserver setiap saat.
Pastikan untuk memasukkan nama pengguna yang benar dalam variabel USER. Ini adalah pengguna yang akan digunakan server vnc untuk memulai sesi desktop.
[email protected]:~# sudo nano /etc/init.d/vncserverRekatkan skrip berikut
#!/bin/bashPATH="$PATH:/usr/bin/"export USER="mike"DISPLAY="1"DEPTH="16"GEOMETRY="1024x768"OPTIONS="-kedalaman ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}". /lib/lsb/init-functionscase "$1" instart)log_action_begin_msg "Memulai vncserver untuk pengguna '${USER}' di localhost:${DISPLAY}"su ${USER} -c "/usr/bin/vncserver ${OPTIONS }";;stop)log_action_begin_msg "Menghentikan vncserver untuk pengguna '${USER}' di localhost:${DISPLAY}"su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}";; restart)$0 stop$0 start;;esacexit 0Simpan file dan tutup. Jadikan itu dapat dieksekusi
# chmod +x /etc/init.d/vncserverMulai layanan
Sekarang semuanya sudah terbaca. Saatnya menjalankan vncserver dan menguji langkah kita.
Muat ulang systemctl terlebih dahulu agar dapat menggunakan skrip startup vncserver.
systemctl daemon-reloadSekarang mulai vncserver. Ini memulai server pada port 5901
# layanan vncserver mulaiPeriksa apakah ini berjalan
[email protected]:~# service vncserver status● vncserver.service Dimuat:dimuat (/etc/init.d/vncserver; buruk; preset vendor:diaktifkan) Aktif:aktif (keluar) sejak Kamis 2017-03- 02 05:36:42 UTC; 6 dtk yang lalu Dokumen:man:systemd-sysv-generator(8) Proses:24877 ExecStart=/etc/init.d/vncserver start (code=exited, status=0/SUCCESS)02 Mar 05:36:40 bintu systemd[1 ]:Memulai vncserver.service...02 Mar 05:36:40 bintu vncserver[24877]:* Memulai vncserver untuk pengguna 'vnc' di localhost:1...02 Mar 05:36:40 bintu su[24885]:Su sukses untuk vnc oleh rootMar 02 05:36:40 bintu su[24885]:+ ??? root:vncMar 02 05:36:40 bintu su[24885]:pam_unix(su:session):sesi dibuka untuk pengguna vnc oleh (uid=0)02 Mar 05:36:42 bintu vncserver[24877]:'X' baru desktop adalah bintu:1Mar 02 05:36:42 bintu vncserver[24877]:Memulai aplikasi yang ditentukan dalam /home/vnc/.vnc/xstartupMar 02 05:36:42 bintu vncserver[24877]:File log adalah /home/vnc/ .vnc/bintu:1.logMar 02 05:36:42 bintu systemd[1]:Memulai vncserver.service.$ cat ~/.vnc/*.pid1857718731# ps -ef | grep tightvncvnc 24574 1 0 05:32 ? 00:00:00 Xtightvnc :1 -desktop X -auth /home/vnc/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 120000 -rfbauth /home/vnc/.vnc/passwd -rfbport 5901 -fp /usr/share/ fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgbroot 24744 10412 0 05:33 pts/0 00:00:00 grep --color=auto [email protected]:~#Periksa port yang terbuka dari server vnc. Anda memerlukan nomor port yang benar saat menghubungkan dari klien vnc
# netstat -nlp | grep vnctcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 24574/Xtightvnctcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 24574/Xtightvncunix 2 [ ACC ] STREAM MENDENGARKAN 5225386 24574/Xtightvnc /tmp/.Xtightvnc /tmp/. unix/X1Server Vnc juga dapat dimulai dengan memanggil skrip secara langsung.
# /etc/init.d/vncserver start[ ok ] Memulai vncserver (via systemctl):[email protected]:~#Untuk menghentikan vncserver
# layanan vncserver berhentiInstal klien vncviewer di Desktop
Sekarang setelah server vnc kita aktif dan berjalan dengan lingkungan desktop gui, saatnya untuk menginstal klien vnc dan mengakses desktop jarak jauh.
Instal xtightvncviewer di Ubuntu.
$ sudo apt-get install xtightvncviewerSekarang sambungkan ke server vnc jarak jauh menggunakan perintah vncviewer.
$ vncviewer -quality 5 -encodings "copyrect tight hextile zlib corre rre raw" -compresslevel 5 IPADDR:5901Kami menggunakan penyandian kompresi dan kualitas yang lebih rendah untuk mengompresi data gambar yang sedang ditransfer dan membuatnya lebih cepat.
Menggunakan pemirsa vnc lain seperti KRDC mungkin lebih lambat.
Sumber daya
Untuk bacaan lebih lanjut, lihat tautan berguna ini -
http://tightvnc.com/vncviewer.1.htmlhttps://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-16-04https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-14-04
https://www.digitalocean.com/community/tutorials /how-to-setup-vnc-for-ubuntu-12
Cara Memasang Partisi Secara Otomatis saat Startup di Kubuntu Cara memantau suhu nvidia gpu di Kubuntu 16.10Ubuntu