Langkah - Langkah Install VNC Server Di Ubuntu 20.04
Pengantar
Komputasi Jaringan Virtual, atau VNC, yaitu sistem jaringan yang memungkinkannya Anda memakai keyboard dan mouse untuk berinteraksi dengan lingkungan desktop grafis di server jarak jauh. Itu membuat pengendalian file, perangkat lunak, dan pengaturan di server jarak lebih gampang untuk pengguna yang belum terlatih dengan baris perintah.
Dalam tutorial ini, Anda akan mempersiapkan server VNC dengan TightVNC di server Ubuntu 20.04 dan menghubungkannya dengan aman lewat terowongan SSH. Selanjutnya, Anda akan memakai program konsumen VNC di mesin lokal Anda untuk berhubungan dengan server Anda lewat lingkungan desktop grafis.
Prasyarat
Untuk menyelesaikan tutorial ini, Anda memerlukan:
- Satu server Ubuntu 20.04 dengan pengguna administratif non-root dan firewall yang dikonfigurasi dengan UFW. Untuk mempersiapkan ini, ikuti tutorial persiapan server awal mula kami untuk Ubuntu 20.04.
-
Komputer lokal dengan konsumen VNC dipasang. Konsumen VNC yang Anda pakai harus memberikan dukungan jaringan lewat terowongan SSH:
- Di Windows, Anda bisa memakai TightVNC, RealVNC, atau UltraVNC.
- Di macOS, Anda bisa memakai program Share Monitor bawaan, atau bisa memakai program lintasi platform seperti RealVNC.
- Di Linux, Anda bisa pilih dari banyak pilihan, terhitung vinagre, krdc, RealVNC, atau TightVNC.
Langkah 1 — Memasang Lingkungan Desktop dan Server VNC
Secara default, server Ubuntu 20.04 tidak diperlengkapi dengan lingkungan desktop grafis atau server VNC yang diinstall, jadi Anda akan mulai dengan menginstal.
Anda memiliki banyak opsi dalam hal server VNC dan lingkungan desktop yang mana Anda pilih. Dalam tutorial ini, Anda akan memasang paket untuk lingkungan desktop Xfce terkini dan paket TightVNC yang ada dari repositori sah Ubuntu. Baik Xfce dan TightVNC dikenali ringan dan cepat, yang akan menolong pastikan jika jaringan VNC akan lancar dan stabil bahkan juga pada akses internet yang lebih lamban.
Sesudah tersambung ke server Anda dengan SSH, perbarui daftar paket Anda:
sudo apt update
Sekarang instal Xfce bersama dengan xfce4-goodies
paket, yang berisi beberapa penyempurnaan untuk lingkungan desktop:
sudo apt install xfce4 xfce4-goodies
Sepanjang penginstalan, Anda kemungkinan disuruh untuk pilih pengurus penampilan default untuk Xfce. Manager tampilan yaitu program yang memungkinkannya Anda memilih dan masuk ke lingkungan desktop lewat antarmuka grafis. Anda cuma akan memakai Xfce saat tersambung dengan konsumen VNC, dan dalam sesi Xfce ini Anda telah masuk sebagai pemakai Ubuntu non-root . Maka untuk kepentingan panduan ini, opsi pengurus penampilan Anda tidak berkaitan. Tentukan salah satunya dan pencet ENTER.
Sesudah instalasi selesai, instal server TightVNC:
sudo apt install tightvncserver
Seterusnya, jalankan perintah vncserver untuk atur password akses VNC, buat file komposisi awalnya, dan memulai instance server VNC:
vncserver
Anda akan diminta untuk memasukkan dan memverifikasi kata sandi untuk mengakses mesin Anda dari jarak jauh:
Output
You will require a password to access your desktops.
Password:
Verify:
Panjang password harus di antara enam dan delapan karakter. Password lebih dari 8 karakter akan terpotong secara otomatis.
Sesudah Anda memverifikasi password, Anda akan memiliki pilihan untuk membuat password cuma saksikan. Pemakai yang masuk dengan kata sandi cuma saksikan tidak segera dapat mengontrol instance VNC dengan mouse atau keyboard mereka. Ini adalah pilihan yang bermanfaat bila Anda ingin mendemokan suatu hal ke seseorang memakai server VNC Anda, tapi ini tidak dibutuhkan.
Proses selanjutnya membuat file konfigurasi standar yang dibutuhkan dan info jaringan untuk server. Disamping itu, ini mengeluarkan instance server standar pada port 5901
. Port ini disebutkan port penampilan, dan ditunjuk oleh VNC sebagai :1
. VNC bisa mengeluarkan beberapa instance pada port penampilan lain, dengan :2
mengarah ke port 5902
, :3
mengarah ke 5903
, dan sebagainya:
Output
Would you like to enter a view-only password (y/n)? n
xauth: file /home/sammy/.Xauthority does not exist
New 'X' desktop is your_hostname:1
Creating default startup script /home/sammy/.vnc/xstartup
Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log
Perhatikan jika Anda ingin mengganti password atau menambah password cuma lihat, Anda bisa melakukan dengan perintah vncpasswd
:
vncpasswd
Pada titik ini, server VNC diinstall dan digerakkan. Saat ini silahkan kita konfigurasikan untuk mengeluarkan Xfce dan memberikan kita akses ke server lewat antarmuka grafis.
Langkah 2 — Mengonfigurasikan Server VNC
Server VNC perlu ketahui perintah yang mana harus digerakkan saat digerakkan. Secara eksklusif, VNC perlu ketahui lingkungan desktop grafis yang mana harus disambungkan.
Perintah yang digerakkan server VNC saat startup berada di file komposisi yang disebutkan xstartup
di folder .vnc
di bawah direktori home Anda. Skrip startup dibikin saat Anda menjalankan perintah vncserver
dalam langkah sebelumnya, tapi Anda akan membuat sendiri untuk meluncurkan desktop Xfce.
Karena Anda akan mengganti cara server VNC dikonfigurasi, hentikan dahulu instance server VNC yang berjalan pada port 5901
dengan perintah berikut ini:
vncserver -kill :1
Outputnya akan terlihat seperti ini, meskipun Anda akan melihat PID yang berbeda:
Output
Killing Xtightvnc process ID 17648
Sebelum Anda memodifikasi file xstartup
, cadangkan yang asli:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Sekarang buat file xstartup
baru dan buka di editor teks, seperti nano:
nano ~/.vnc/xstartup
Selanjutnya tambahkan baris berikut ke file:
~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
Baris pertama adalah shebang. Dalam file text biasa yang bisa dilakukan pada platform * nix, shebang memberitahu sistem juru bahasa yang mana harus melanjutkan file itu untuk dilakukan. Dalam masalah ini, Anda melanjutkan file ke penerjemah Bash. Ini memungkinkan tiap baris berturutan dilakukan sebagai perintah, secara berturutan.
Perintah pertama kali dalam file, xrdb $HOME/.Xresources
, memberitahu framework GUI VNC untuk membaca file .Xresources
pengguna server. .Xresources
adalah tempat pengguna bisa mengubah pada penataan tertentu dari desktop grafis, seperti warna terminal, topik kursor, dan perenderan font. Perintah ke-2 memberitahu server untuk meluncurkan Xfce. Setiap Anda mengawali atau me-restart server VNC, perintah ini akan digerakkan secara otomatis.
Simpan dan tutup file sesudah menambah baris ini. Jika Anda memakai nano
, lakukan dengan tekan CTRL + X
, Y
, lalu ENTER
.
Untuk pastikan jika server VNC bisa memakai file startup baru ini secara benar, Anda harus membuat bisa dilakukan:
chmod +x ~/.vnc/xstartup
Kemudian restart server VNC:
vncserver -localhost
Perhatikan jika kali ini perintah mengikutkan pilihan -localhost
, yang mengikat server VNC ke antarmuka loopback server Anda. Ini akan mengakibatkan VNC cuma mengijinkan jaringan yang dari server tempatnya diinstall.
Pada cara selanjutnya, Anda akan membuat terowongan SSH di antara mesin lokal dan server Anda, yang pada intinya menipu VNC supaya berpikiran jika jaringan dari mesin lokal Anda datang dari server Anda. Taktik ini akan menambahkan susunan keamanan extra disekitaran VNC, karena salah satu pemakai yang bisa mengaksesnya yaitu mereka yang telah mempunyai akses SSH ke server Anda.
Anda akan melihat output yang mirip sama ini:
Output
New 'X' desktop is your_hostname:1
Starting applications specified in /home/sammy/.vnc/xstartup
Log file is /home/sammy/.vnc/your_hostname:1.log
Dengan konfigurasi di tempat, Anda siap untuk terhubung ke server VNC dari mesin lokal Anda.
Langkah 3 — Menghubungkan ke Desktop VNC dengan Aman
VNC sendiri tidak memakai prosedur aman saat tersambung. Untuk tersambung dengan aman ke server Anda, Anda akan membuat terowongan SSH dan memberitahu konsumen VNC Anda untuk tersambung memakai terowongan itu dibanding membuat jaringan langsung.
Buat jaringan SSH di komputer lokal Anda yang melanjutkan dengan aman ke jaringan localhost untuk VNC. Anda bisa melakukan melalui terminal di Linux atau macOS dengan perintah ssh berikut ini:
ssh -L 59000:localhost:5901 -C -N -l sammy your_server_ip
Inilah arti opsi perintah ssh
ini:
-
-L 59000:localhost:5901
: Switch-L
tentukan jika port yang diberi di komputer lokal (59000
) akan dilanjutkan ke host dan port yang diberi di server tujuan (localhost:5901
, artinya port5901
di server tujuan , diartikan sebagai (your_server_ip
). Lihat jika port lokal yang Anda tetapkan cukup arbitrer; sepanjang port itu belum terikat ke layanan lain, Anda bisa memakainya sebagai port penerusan untuk tunnel Anda.
-
-C
: Bendera ini memungkinkannya kompresi yang bisa menolong meminimalkan konsumsi sumber daya dan percepat.
-
-N
: Pilihan ini memberitahu ssh jika Anda tidak mau jalankan perintah jarak jauh apa saja. Penataan ini bermanfaat saat Anda cuma ingin melanjutkan porta.
-
-l sammy your_server_ip
: Tombol-l
memungkinkannya Anda tentukan pengguna yang ingin Anda masuki sesudah Anda tersambung ke server. Yakinkan untuk menukarsammy
danyour_server_ip
bernama pengguna non-root dan alamat IP server Anda.
Catatan: Perintah ini membuat terowongan SSH yang melanjutkan info dari port 5901 di server VNC Anda ke port 59000 di mesin lokal Anda lewat port 22 setiap mesin, port standar untuk SSH. Dengan anggapan Anda ikuti persyaratan Tutorial Persiapan Server Awalnya untuk Ubuntu 20.04, Anda akan menambah ketentuan UFW untuk meluluskan jaringan ke server Anda lewat OpenSSH.
Ini semakin aman dibanding sekedar buka firewall server Anda untuk memungkinkannya jaringan ke port 5901, karenanya memungkinkan siapa saja terhubung server Anda lewat VNC. Dengan menyambungkan lewat terowongan SSH, Anda batasi akses VNC ke mesin yang telah mempunyai akses SSH ke server.
Jika Anda menggunakan PuTTY untuk terhubung ke server Anda, Anda dapat membuat terowongan SSH dengan mengklik kanan bilah atas jendela terminal, lalu mengklik opsi Ubah Pengaturan…:
Temukan cabang Connection di menu pohon disebelah kiri jendela Komposisi Ulang Putty. Luaskan cabang SSH dan klik Terowongan. Pada layar Pilihan yang mengatur penerusan port SSH, masukan 59000
sebagai Port Sumber dan localhost:5901
sebagai Arah, semacam ini:
Selanjutnya klik tombol Tambah, lalu tombol Aplikasikan untuk menerapkan terowongan.
Sesudah terowongan jalan, pakai konsumen VNC untuk tersambung ke localhost:59000.
Anda akan disuruh untuk mengotentikasi memakai password yang Anda tentukan di Langkah 1.
Sesudah tersambung, Anda akan menyaksikan desktop Xfce default. Semestinya kelihatan semacam ini:
Anda dapat mengakses file di direktori home Anda dengan pengelola file atau dari baris perintah, seperti yang terlihat di sini:
Tekan CTRL+C
di terminal lokal Anda untuk hentikan terowongan SSH dan kembali lagi ke prompt Anda. Ini ingin memutuskan sesi VNC Anda.
Saat ini Anda bisa mengonfigurasikan server VNC Anda untuk digerakkan sebagai layanan sistem.
Langkah 4 — Menjalankan VNC sebagai Layanan Sistem
Dengan mempersiapkan server VNC untuk digerakkan sebagai layanan sistem, Anda bisa memulai, menghentikan, dan memulai ulang sama sesuai keperluan, seperti layanan yang lain. Anda dapat memakai perintah manajemen systemd untuk pastikan jika VNC dimulai saat server Anda lakukan booting.
Pertama, buat file unit baru bernama /etc/systemd/system/[email protected]
:
sudo nano /etc/systemd/system/[email protected]
Simbol @
di akhir nama akan memungkinkan kami menyampaikan argumen yang dapat Anda gunakan dalam konfigurasi layanan. Anda akan menggunakan ini untuk menentukan port tampilan VNC yang ingin Anda gunakan saat mengelola layanan.
Tambahkan baris berikut ke file. Pastikan untuk mengubah nilai User, Group, WorkingDirectory, dan username di nilai PIDFILE agar sesuai dengan username Anda:
/etc/systemd/system/[email protected]
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy
PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
Perintah ExecStartPre
menghentikan VNC apabila sudah jalan. Perintah ExecStart
mengawali VNC dan menyetel kedalaman warna jadi warna 24-bit dengan resolusi 1280x800. Anda dapat melakukan modifikasi pilihan startup ini untuk memenuhi keperluan Anda. Lihat jika perintah ExecStart
satu kali lagi mengikutkan pilihan -localhost
.
Simpan dan tutup file.
Seterusnya, beritahu sistem mengenai file unit baru:
sudo systemctl daemon-reload
Aktifkan file unit:
sudo systemctl enable [email protected]
Angka 1
yang mengikuti tanda @
menandakan nomor tampilan mana yang harus ditampilkan oleh layanan, dalam hal ini default :1
seperti yang telah dibahas pada Langkah 2.
Hentikan instance server VNC saat ini jika masih berjalan:
vncserver -kill :1
Kemudian mulai seperti Anda akan memulai layanan systemd lainnya:
sudo systemctl start vncserver@1
Anda dapat memverifikasi bahwa itu dimulai dengan perintah berikut:
sudo systemctl status vncserver@1
Jika dimulai dengan benar, hasilnya akan terlihat seperti ini:
Output
● [email protected] - Start TightVNC server at startup
Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-05-07 17:23:50 UTC; 6s ago
Process: 39768 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
Process: 39772 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :1 (code=exited, status=0/SUCCESS)
Main PID: 39795 (Xtightvnc)
...
Server VNC Anda saat ini siap dipakai setiap server Anda lakukan booting, dan Anda bisa mengelolanya dengan perintah systemctl
seperti layanan systemd yang lain.
Namun, tidak ada perbedaan disebelah konsumen. Untuk menyambungkan kembali, mulai terowongan SSH Anda lagi:
ssh -L 59000:localhost:5901 -C -N -l sammy your_server_ip
Kemudian buat koneksi baru menggunakan perangkat lunak klien VNC Anda ke localhost:59000
untuk terhubung ke server Anda.
Ringkasan
Anda saat ini mempunyai server VNC yang aman dan berjalan pada server Ubuntu 20.04 Anda. Saat ini Anda segera dapat mengurus file, piranti lunak, dan penataan Anda dengan antarmuka grafis yang gampang dipakai, dan Anda segera dapat jalankan perangkat lunak grafis seperti browser situs dari jauh.