Memakai Desktop Linux ARM64

Daripada capek membawa laptop di hari-hari Work From Office, saya memilih meninggalkan Orange Pi 5 di kantor. Orange Pi 5 adalah sebuah Single Board Computer (SBC) ARM64 dengan RAM 16GB (saya pasang NVME 120GB). Dulu saya membeli ini ketika masih promo, hanya 105 USD (belum termasuk NVME), sekarang harganya sudah naik (silakan cek AliExpress untuk harga terbaru).

Desktop kantor

Saya sudah lama memakai ARM64 sebagai server, dan juga memakai Laptop Pinebook sejak 2017. Sampai sekarang Linux di ARM64 masih belum 100% bebas masalah, tapi sudah cukup untuk pekerjaan saya. Saya hanya akan membahas memakai desktop untuk bekerja, karena beberapa hal yang menyangkut hiburan sulit dilakukan di Linux (misalnya nonton Netflix atau main game).

Seperti kebanyakan kantor lain, saat ini tempat kerja saya memberikan laptop untuk tiap pegawai. Di kantor di sediakan juga monitor dan keyboard, tapi kebanyakan orang membawa keyboard masing-masing. Saya sendiri membawa split keyboard dan mouse sendiri. Sebelum membawa Orange Pi 5, laptop biasanya saya hubungkan ke keyboard, mouse dan monitor lalu saya tutup karena lebih ergonomis memakai (postur tubuh lebih bagus). Jadi saya terpikir: buat apa berat bawa laptop padahal saya nggak butuh monitor, keyboard, maupun batere laptopnya, hanya butuh CPU/RAM/Storage.

Mencoba Samsung DeX

Sebelum memutuskan membawa SBC ke kantor, saya mencoba dulu benda yang sudah saya bawa setiap hari: Samsung S22. Samsung memiliki mode DeX: ponsel bisa dihubungkan ke keyboard, mouse dan monitor dan akan masuk mode desktop. Aplikasi yang dijalankan di mode ini adalah Aplikasi Android. Sebagian aplikasi mendukung mode DeX dengan baik dan sebagian tidak.

Ternyata banyak sekali keterbatasan memakai Android di mode desktop. Dulu Samsung sempat bereksperimen membuat mode Ubuntu ketika terhubung ke monitor, tapi tidak diteruskan. Andaikan diteruskan rasanya lebih ideal.

Mencoba memakai Samsung DeX

Keterbatasan pertama adalah dari aplikasi Android itu sendiri, berbagai browser besar seperti Chrome, FireFox dan Edge tidak mendukung user profile di Android. Di pekerjaan minimal saya membuka 2 profile: login production, dan login development/eksperimen. Misalnya ketika memakai AWS, saya akan mencoba-coba fitur di akun eksperimen, lalu dicoba di akun AWS production kantor.

Masalah ketiadaan profile ini bisa diakali dengan memakai beberapa browser, misalnya Chrome untuk profile pertama dan Edge untuk profile kedua. Tapi berikutnya ada kelemahan Dex: hanya ada 5 aplikasi yang bisa dibuka tiap waktu. Selain browser, diperlukan juga aplikasi Chat (Slack), jadi di awal sudah ada 3 yang terbuka.

Tentunya saya butuh juga editor kode dan juga terminal. Untuk ini saya sudah berusaha melakukan semuanya di Termux. Saya setup text editing dengan nvim (plus plugin copilot), saya memakai tmux untuk terminal multiplexer agar tidak perlu membuka banyak window aplikasi. Jadi sudah ada 4 aplikasi yang minimal harus dibuka.

Masih banyak aplikasi yang tidak jalan di termux. Banyak library yang tidak bisa diinstall di termux (terutama library Python atau NodeJS yang butuh native). Jadi untuk mengakali ini: kita perlu mengerjakan semua pekerjaan di mesin remote.

Tapi tidak semua bisa dikerjakan remote, beberapa hal tetap butuh aplikasi lokal: membuka dokumen PDF, membuka password manager, dsb. Ini asumsinya saya tidak membuka chat pribadi, aplikasi musik, dsb. Di awal saya merasa akan bisa menggunakan DeX saja, kenyataannya ketika sudah mulai bekerja serius, terasa semua keterbatasannya.

Ada banyak orang yang mengakali Samsung DeX ini sampai maksimal, bahkan menginstall Ubuntu dalam Termux (dengan segala keterbatasannya). Ada juga yang menyarankan memakai Andronix, walaupun banyak kekurangannya. Intinya: jika diakali mungkin bisa DeX bisa usable, tapi tetap ada banyak keterbatasannya.

Kalau pekerjaan Anda tidak butuh membuka banyak aplikasi sekaligus dan bisa memakai aplikasi Android, maka Dex ini cukup bagus. Tapi perlu dicatat, tidak semua fitur aplikasi desktop tersedia di Android. Contoh kecil: Ada Microsoft Word versi Android, tapi berbagai advanced sepeti seperti insert citation tidak ada di versi Android.

Orange Pi 5

Saya sudah memiliki single board computer Rock 5B, yang memakai RK3588 sedangkan Orange Pi 5 ini memakai RK3588S, bedanya adalah: tidak ada controller PCI 3.0. Orange Pi 5 juga hanya memiliki 1 output HDMI. Karena saya tidak memakai output HDMI kedua dan tidak juga memakai slot PCI-nya, maka bagi saya Orange Pi 5 ini mirip saja dengan Rock 5B.

Pertimbangan lain mencoba Orange Pi 5 ini adalah untuk percobaan porting aplikasi kantor ke ARM64. Eksplorasi ini akan berguna jika suatu saat aplikasi kantor akan dipindahkan ke instance AWS Graviton (ARM64) yang lebih murah dari Intel.

Ketersediaan Aplikasi

Saat ini berbagai aplikasi proprietary sudah mendukung Linux Intel 64 bit (dikenal juga sebagai AMD64 atau x86_64), misalnya: Slack, Google Chrome, Steam, dan Browser Edge, dan kita bisa mendownload langsung dari website resminya.

Untuk Linux ARM64, situasinya masih kurang bagus. Beberapa aplikasi seperti VS Code dan Sublime Text sudah ada versi Linux ARM64, tapi kebanyakan aplikasi lain belum ada. Beberapa aplikasi bisa didownload versi tidak resminya, misalnya Telegram. Tidak resmi di sini berarti tidak didownload dari situs utama telegram, tapi dari orang lain yang mengcompile untuk ARM64.

Solusi untuk aplikasi yang belum ada adalah: memakai Browser/Web App. Sayangnya tidak semua browser jalan di Linux ARM64.

Browser

Saat ini terdapat tiga browser modern yang mendukung Linux ARM64, yaitu Vivaldi, Chromium, dan Firefox. Masing-masing memiliki kelebihan sendiri, Vivaldi bisa memblokir iklan secara default, Chromium bisa membuat app shortcut, dan Firefox yang memiliki keunggulan dalam hal privasi dan extension multi container.

Fitur Chromium yang bisa membuat app shortcut ini sangat praktis. Tinggal kunjungi aplikasi web (misalnya slack), klik 3 titik di kanan atas, lalu klik “More Tools” dan “Create Shortcut”, nanti akan tercipta ikon yang bisa di-pin di Favorites seperti layaknya aplikasi biasa.

Hampir semua di kantor memakai macOS, dan memakai Pages. Untungnya jarang sekali kami berkirim dokumen dalam pages. Tapi ketika dibutuhkan, saya memakai iCloud.com untuk membuka file-file pages.

Saat ini Bing Chat hanya tersedia di Edge, tapi Edge hanya ada di Linux AMD64. Untuk mengakalinya saya menggunakan Extension untuk mengubah user agent menjadi Edge dan ternyata bisa mengakses Bing Chat yang baru.

Font

Untuk tampilan optimal, ada beberapa font yang sebaiknya diinstall, seperti fonts-noto, font Windows, font macOS, dan font-roboto. Tanpa menginstall font-font ini, beberapa website mungkin tidak akan tampil dengan baik. Yang paling saya rasakan adalah jika tidak menginstall fonts macOS, maka tampilan pages di iCloud tidak terlihat benar.

Coding

Semua editor teks Linux yang open source seperti Vim, NeoVIM, dan Emacs tersedia di ARM64. Terdapat juga versi resmi VSCode untuk ARM64, serta Sublime Text, bahkan IDE Jetbrains juga bisa digunakan (karena memakai Java jadi cukup portabel). Semua plugin yang saya butuhkan di VSCode berjalan dengan baik, termasuk juga copilot.

Docker bisa berjalan dengan baik, dan untungnya sejauh ini semua container yang saya butuhkan tersedia versi arm64-nya. Teorinya kita bisa menggunakan qemu untuk emulasi Intel, tapi sampai saat ini belum saya butuhkan, jadi belum saya coba,

WIFI dan Bluetooth

Karena Orange pi 5 tidak memiliki WIFI dan Bluetooth, saya memakai dongle USB WIFI dan Bluetooth. Keduanya berjalan dengan baik di Linux ARM64, jadi saya bisa mendengarkan musik dari Youtube memakai earphone bluetooth.

Security

Tiap komputer Mac yang dipakai perusahaan di-manage dengan JAMF sehingga bisa dilacak dan dihapus isinya jika hilang. Tentunya meninggalkan SBC Orange Pi di kantor juga memiliki risiko bisa dicuri. Pengamanan fisik kantor sudah dilakukan, tapi saya tetap berusaha mengamankan data di SBC ini.

Pertama: saya menggunakan disk encryption agar jika data dicuri, tetap tidak bisa diakses. Teorinya ini bisa dibuka jika password bisa dibruteforce, jadi ada pengamanan Kedua: menggunakan password password yang panjang.

Tapi password yang panjang membuat masalah baru: harus (sering) diketik ketika melakukan sudo. Jadi pengamanan ketiga: memakai security key. Saya memakai Yubikey (yang tiap hari saya bawa pulang) jadi untuk melakukan sudo saya cukup menyentuh Yubikey-nya. Saya juga memakai Yubikey untuk SSH ke host lain (jadi saya tidak menyimpan SSH key di Single Board Computer).

Pengamanan terakhir adalah: Orange Pi ini dimatikan dan dicabut powernya ketika saya pulang, bahkan ketika makan siang. Dibutuhkan waktu sekitar 15 detik untuk boot masuk desktop lagi, beberapa detik mengetikkan pasword, dan sekitar 15 detik lagi untuk memulai semua aplikasi karena sudah saya script menggunakan tmuxp. Karena tidak tiap hari saya ke kantor, di akhir jam kerja, seluruh SBC saya cabut USB-nya, saya lepaskan dari monitor dan masuk ke laci meja yang dikunci.

Secara umum saya merasa lebih aman memakai Linux ARM64: jarang sekali ada malware yang menargetkan platform ini.

UPS

Kelemahan memakai SBC dibandingkan laptop adalah: jika listrik mati sebentar maka akan langsung restart. SBC ini dayanya kecil sekali, agak berlebihan memakai UPS besar. Saya membeli board UPS mini dari Aliexpress (kurang dari 5 USD) plus batere jenis 18650 marketplace lokal Thailand (batere sekarang tidak mudah dikirim via pos dari China ke Thailand).

https://www.aliexpress.com/item/1005004863318268.html

Biaya

Total biaya untuk setup ini:

  • Orange Pi5 105 USD + ongkos kirim 14 USD = 119 USD
  • NVME 128 GB: 14 USD (merk KingSpec)
  • Case Aluminium: 9.98 USD (sudah termasuk ongkir)
  • Dongle bluetooth 2.33 USD
  • Modul UPS: 3.8 USD
  • Batere 18650 x 2 = 4.3 USD
  • Modul WIFI: 2.64 USD
  • Yubikey (diskon cloudflare): 10 USD

Total: 166.05 USD (kurs saat ini: 2.5 jt rupiah). Saya memakai charger ponsel untuk powernya. Sebagai catatan: case sifatnya opsional, dongle bluetooth dan modul UPS juga tidak dibutuhkan jika listrik stabil atau sudah ada UPS. Dongle WIFI diperlukan kalau memang tidak ada kabel ethernet.

Penutup

Sebenarnya jarak rumah saya dari kantor hanya sekitar 200 meter, tapi tetap saja berat membawa laptop. Enak rasanya berjalan tanpa beban ke kantor. Mungkin yang jarak kantornya lebih jauh bisa meniru tips saya meninggalkan SBC di kantor, tapi tentunya harus seijin perusahaan, dan harus menggunakan pengamanan yang baik.

Dan tentunya cara yang saya pakai mungkin bukan cara terbaik: ada alternatif lain yaitu memakai Mini PC. Sekarang ini sudah banyak Mini PC yang murah (misalnya ini). Dengan mini PC kita bisa memakai Windows atau Linux AMD64. Tapi perlu diperhatikan pengunaan dayanya lebih besar dan harus dipikirkan masalah UPS-nya jika listrik kurang stabil.

Jika memakai Mini PC, tips memakai Yubikey mungkin tetap bisa ditiru untuk mengamankan data dan meminimalkan rahasia yang ditinggalkan di kantor.

Tinggalkan Balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.