Ada banyak cara untuk mengontrol dekstop (GUI) komputer lain melalui jaringan, misalnya menggunakan RDP atau VNC. Kadang kala saya menggunakan X11 Forwarding juga untuk menjalankan sebuah aplikasi GUI dari remote komputer ke laptop saya. Sedangkan untuk kontrol GUI yang lebih kompleks, saya menggunakan xrdp.
Tapi mungkin kedepannya cara saya untuk melakukan control desktop komputer lain di jaringan lokal akan berbeda setelah saya menemukan Deskflow. Deskflow adalah sebuah aplikasi open source (upstream dari Synergy, komersial) untuk sharing keyboard dan mouse dengan komputer lain. Dengan Deskflow, satu keyboard dan trackpad dari laptop saya bisa saya gunakan untuk mengontrol desktop komputer lain.
Berbeda dengan RDP atau VNC yang menampilkan tampilan remote desktop ke PC / laptop kita; Deskflow sama sekali tidak menampilkan apapun dari remote desktop. Jika disederhanakan, Deskflow hanya merekam dan meneruskan mouse, keyboard dan clipboard ke komputer lain (client). Jadi Deskflow efektif jika remote desktop (client) memiliki monitor dan monitor tersebut berada di dekat Anda (ibaratkan Anda memiliki multiple monitor, tapi dari PC yang berbeda).
Instalasi
Saat tulisan ini dibuat, Deskflow belum tersedia di package manager seluruh distro Linux. Deskflow juga tidak menyediakan pre-compiled binary baik untuk Linux, MAC, maupun Windows. Jadi satu-satunya cara untuk menginstall dan menjalankan Deskflow adalah meng-compile dari source code-nya.
UPDATE: Proses build telah berubah sejak tulisan ini dibuat. Bagi pengguna Linux, rilis terbaru sudah penyertakan paket untuk Debian, Fedora, dan OpenSUSE. Silahkan kunjungi halaman rilis terbaru mereka. Untuk Distro Arch, Deskflow sudah berada di repositori
extra
, jadi Anda dapat menginstallnya dengan mudah menggunakanpacman -S deskflow
.
Meskipun begitu, Anda tidak perlu khawatir karena sudah tersedia “install / helper” script untuk sebagian besar distro (Debian, Fedora, OpenSUSE, dan Arch Linux).
Di artikel ini, saya akan menggunakan 2 buah komputer (semuanya menggunakan sistem operasi Linux):
- P50: Komputer utama saya yang akan saya gunakan untuk mengontrol komputer lain (server).
- T420: Komputer lain yang akan saya kontrol dari P50 (client).
Pertama, download source code Deskflow dan compile aplikasi Deskflow di server dan client:
1git clone https://github.com/deskflow/deskflow.git
2cd deskflow
3./scripts/install_deps.sh
4cmake -B build
5cmake --build build -j$(nproc)
Setelah proses kompilasi berhasil, pastikan unit test dan integrity test berjalan dengan baik:
1./build/bin/unittests
2./build/bin/integtests
Konfigurasi
Server
Di komputer server, jalankan ./build/bin/deskflow
, kemudian pilih
“Use this computer’s keyboard and mouse”.
Untuk mempermudah penggunaan aplikasi Deskflow, kita bisa membuat
XDG Desktop Entry dengan meng-copy file
.res/dist/linux/deskflow.desktop
ke ~/.local/share/applications
(untuk single user) atau /usr/share/applications
untuk multi user.
Jangan lupa sesuaikan nilai dari Path=/usr/bin
dan Exec=/usr/bin/deskflow
yang ada pada file tersebut ke direktori dimana file binary deskflow disimpan.
Client
Di komputer client, jalankan ./build/bin/deskflow
kemudian pilih
“Use another computer’s mouse and keyboard” dan masukkan alamat IP server ke
input text dibawahnya.
Catatan: Entah kenapa untuk pertama kali mencoba melakukan koneksi ke server, saya tidak bisa melakukannya dari X11 Forwarding. Jadi saya harus melakukan koneksi awal langsung dari GUI laptop client (bukan dari GUI X11 Forwarding).
Setelah mencoba melakukan koneksi dari sisi client, akan muncul pop-up window di komputer server yang menginformasikan bahwa ada “client” baru ingin melakukan koneksi. Pilih “Add client”.
Setelah itu Anda dapat memilih layout dimana posisi komputer client dapat kita kontrol (seperti ketika menggunakan dual monitor).
Klik “Ok” dan cobalah untuk menggeser posisi mouse pointer ke arah dimana Anda mengkonfigurasi posisi komputer client. Seharusnya Anda sudah dapat menggunakan mouse dan keyboard komputer server untuk komputer client.
Tips: Setelah client ter-registrasi ke server, Anda dapat secara manual melakukan koneksi dari client menggunakan CLI dengan
deskflowc --enable-crypto [alamat ip server]
.
Referensi
- Deskflow Project: github.com/deskflow/deskflow