Mengontrol Komputer Lain di Jaringan Dengan Satu Mouse dan Keyboard Menggunakan Deskflow

Cara menginstall, mengonfigurasi, dan menggunakan Deskflow di Linux. Sebuah aplikasi open-source ntuk sharing keyboard dan mouse dengan komputer lain.

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.

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”.

deskflow server

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).

deskflow client

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”.

deskflow add client popup

Setelah itu Anda dapat memilih layout dimana posisi komputer client dapat kita kontrol (seperti ketika menggunakan dual monitor).

deskflow layout

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