VNC adalah aplikasi berbagi desktop (Virtual Network Computing) untuk menghubungkan dan mengontrol desktop komputer (jarak jauh atau lokal) melalui koneksi jaringan.
Namun, pada sistem linux, banyak aplikasi server VNC hanya mengizinkan untuk terhubung ke desktop virtual dan tidak ke desktop sebenarnya. Howto ini menawarkan solusi, untuk terhubung melalui server TigerVNC ke sesi aktif yang sebenarnya di desktop Linux Anda.
Persyaratan
- Lingkungan desktop linux yang berfungsi penuh
- hak istimewa root (untuk menginstal server TigerVNC)
- pengetahuan dasar tentang shell linux
Untuk mendapatkan paket terbaru, Anda mungkin ingin memperbarui.
[email protected]:~$ sudo apt-get update
Howto ini telah diuji pada Debian/GNU Linux 9.5 (stretch) dan Ubuntu 18.04
Instal TigerVNC
Pertama, Anda harus menginstal server TigerVNC.
[email protected]:~$ sudo apt-get install tigervnc-scraping-server
Perhatikan, bahwa pada sebagian besar sistem berbasis debian, ada paket kecil bernama tigervnc-scraping-server, yang perlu Anda instal. Anda tidak perlu menginstal server TigerVNC utama (nama paket:tigervnc-standalone-server) untuk memiliki fungsionalitas untuk terhubung ke sesi desktop yang sedang berjalan, hanya jika Anda lebih suka terhubung ke desktop virtual juga.
Server TigerVNC menyediakan aplikasi yang lebih kecil (x0vncserver) untuk memberikan akses ke sesi aktif.
Kemudian, buat direktori .vnc di rumah Anda:
[email protected]:~$ mkdir -p ~/.vnc
Buat kata sandi untuk sesi vnc Anda:
[email protected]:~$ vncpasswd
Sandi:
Verifikasi:
Apakah Anda ingin memasukkan sandi hanya lihat (y/n)? n
Memulai server VNC
Deskripsi singkat tentang x0vncserver:
x0tigervncserver adalah Server TigerVNC yang membuat tampilan X dapat diakses dari jarak jauh melalui VNC, TigerVNC, atau pemirsa yang kompatibel. Tidak seperti Xvnc(1), ia tidak membuat tampilan virtual. Sebagai gantinya, itu hanya berbagi server X yang ada (biasanya, yang terhubung ke layar fisik).
Sekarang Anda telah berhasil menginstal server TigerVNC di komputer Anda, membuat kata sandi dengan perintah vncpasswd, kita dapat mulai menjalankan server vnc kita. Pastikan Anda berada di sesi aktif, dan tulis (sebagai pengguna):
[email protected]:~$ x0vncserver -passwordfile ~/.vnc/passwd -display :0
Rabu 10 Okt 22:17:16 2018
Geometri:Geometri desktop disetel hingga 1920x1080+0+0
Utama:Ekstensi XTest hadir - versi 2.2
Utama:Mendengarkan pada port 5900
Opsi -passwordfile ~/.vnc/passwd membaca file kata sandi yang dibuat sebelumnya dengan vncpasswd memerintah. Opsi kedua -display :0 artinya, Anda ingin terhubung ke sesi pada tampilan :0, yang biasanya merupakan sesi aktif.
Sekarang Anda dapat mengakses desktop Anda yang sebenarnya dengan aplikasi penampil vnc apa pun pada port vnc default 5900.
Anda dapat menghentikan proses ini kapan pun Anda mau dengan menekan Ctrl-c.
Jika Anda ingin menjalankannya di latar belakang, ketik:
[email protected]:~$ x0vncserver -passwordfile ~/.vnc/passwd -display :0>/dev/null 2>&1 &
Sekarang semua keluaran standar keluaran dan kesalahan dialihkan ke /dev/null dan dengan &di akhir, itu akan berjalan di latar belakang. Namun, Anda tidak akan dapat lagi menghentikan server vnc dengan menekan Ctrl-c, sebaliknya Anda harus mematikan id prosesnya (lihat di bawah bagian "Menghentikan server vnc").
Untuk opsi dan sintaks lainnya, periksa manual x0vncserver.
Menghentikan server VNC
Jika server vnc Anda berjalan di latar belakang, Anda harus mengetahui id prosesnya, untuk menghentikannya.
[email protected]:~$ ps -fu user | grep [x]0vncserver
pengguna 1328 1 0 23:11 pts/2 00:00:00 /usr/bin/x0vncserver -display :0 -passwordfile /home/user/.vnc/passwd -rfbport 5900Outputnya akan seperti ini, jadi perhatikan pid 1328. Untuk menghentikan server vnc, kita harus "membunuh" proses ini.
[email protected]:~$ kill -9 1328Opsi -9 untuk perintah kill akan mengirimkan sinyal KILL ke id proses untuk memastikannya berhenti.
Script untuk menjalankan server VNC
Ada skrip untuk memulai dan menghentikan aplikasi x0vncserver di github. Untuk tujuan pengujian, Anda juga mengunduh paket psmisc:
[email protected]:~$ sudo apt-get install git psmiscKemudian, unduh skrip startvnc menggunakan perintah git:
[dilindungi email]:~$ git clone https://github.com/sebestyenistvan/runvncserver
Kloning ke 'runvncserver'...
jarak jauh:Menghitung objek:77, selesai.
jarak jauh:Menghitung objek:100% (77/77), selesai.
jarak jauh:Mengompresi objek:100% (57/57), selesai.
jarak jauh:Total 77 (delta 25), digunakan kembali 60 (delta 18), pack-reused 0
Membongkar objek:100% (77/77), selesai.Output Anda akan terlihat seperti di atas.
Salin skrip startvnc dari direktori runvncserver ke rumah Anda:
[email protected]:~$ cp ~/runvncserver/startvnc ~Ubah izin menjadi executable, untuk menjalankan skrip:
[dilindungi email]:~$ chmod +x ~/startvncKemudian, jalankan skrip.
[email protected]:~$ ./startvnc
Penggunaan:./startvnc start|stop|restart|statusSkrip ini hanya akan berfungsi, jika Anda memiliki direktori .vnc di rumah Anda dan membuat vncpasswd (ia memeriksa file ~/.vnc/passwd). Kami telah membuat direktori .vnc dan kata sandi sebelumnya.
Untuk memulai server vnc pada tampilan sebenarnya, cukup ketik:
[email protected]:~$ ./startvnc start
Memulai Server VNC di layar :0 [ok]Anda dapat menguji, apakah server vnc Anda berjalan dengan opsi:
[email protected]:~$ ./startvnc status
Status server VNC:[running] (pid:1328)Beberapa contoh:
Atau dengan memeriksa port TCP 5900 pada sistem Anda dengan perintah fuser (dari paket psmisc):
[email protected]:~$ fuser -vn tcp 5900
PENGGUNA PID AKSES COMMAND
5900/tcp:
Anda akan mendapatkan output seperti ini jika server vnc berjalan pada port 5900.
Petunjuk lebih lanjut untuk skrip ini dapat Anda temukan di file readme:
[dilindungi email]:~$ kurang runvncserver/README.mdScript akan membuat file log, tempat output disimpan. Jika terjadi kesalahan atau Anda tidak dapat memulai atau menghentikan x0vncserver, lihat file log di bawah ~/.vnc/logfile
Mulai server VNC secara otomatis
Jika Anda ingin mengakses sesi desktop aktif secara otomatis, Anda perlu mengedit file .xsessionrc di direktori home Anda.
[email protected]:~$ echo "/home/user/startvnc start>/dev/null 2>&1">> ~/.xsessionrcGanti pengguna dengan nama pengguna Anda dan itu akan berjalan secara otomatis saat memulai sesi X. Script mencatat aktivitasnya di ~/.vnc/logfile, jika terjadi kesalahan, Anda dapat memeriksa file log di sana.
Catatan
Tutorial ini tidak membahas pengaturan desktop virtual VNC.
Keamanan
Ketahuilah, bahwa x0vncserver tidak menggunakan enkripsi secara default, jadi gunakan dengan hati-hati melalui internet. Jika Anda ingin menggunakannya dari jarak jauh, Anda dapat melakukan tunnel melalui ssh. Namun, ada cara lain di mana Anda dapat menemukan solusi untuk mengenkripsi sesi VNC Anda.
Atau Anda dapat melihat paket ssvnc.
Pemirsa VNC
Jika Anda mencari pemirsa VNC, ada banyak, misalnya:
- gvncviewer
- tigervnc-viewer
- xtightvncviewer
- xvnc4viewer
Geometri
Server x0vnc pada tampilan sebenarnya akan menggunakan geometri yang sama dengan desktop yang berjalan pada tampilan :0. Jadi jika Anda mengatur opsi -geometry ke ukuran yang lebih rendah, itu tidak akan diskalakan, Anda hanya akan melihat sebagian kecil dari ukuran desktop.
Umpan Balik
Jangan ragu untuk menulis umpan balik. Jika Anda menguji tutorial ini atau bahkan skrip di sistem lain.