Term.Everything Menghadirkan Aplikasi GUI ke Terminal Melalui Wayland Compositor Khusus

Tim Komunitas BigGo
Term.Everything Menghadirkan Aplikasi GUI ke Terminal Melalui Wayland Compositor Khusus

Sebuah proyek open-source baru bernama Term.Everything telah menarik perhatian para developer dengan memungkinkan aplikasi GUI berjalan langsung di dalam jendela terminal. Dibangun dari nol sebagai Wayland compositor yang mengeluarkan output ke terminal alih-alih monitor, alat ini memungkinkan pengguna menjalankan segala hal mulai dari web browser hingga video game melalui koneksi SSH.

Arsitektur Teknis:

  • Teknologi Inti: Compositor Wayland yang dibangun khusus
  • Bahasa Pemrograman: TypeScript dengan engine Bun, minimal C++
  • Metode Tampilan: Karakter mirip ASCII (terminal dasar), gambar resolusi penuh ( Kitty , iTerm2 )
  • Dependensi: Tidak memerlukan dependensi libwayland
  • Status Saat Ini: Rilis beta (versi 0.5.1 tersedia)

Pendekatan Revolusioner untuk Remote Computing

Term.Everything mengambil pendekatan yang secara fundamental berbeda dibandingkan solusi remote desktop tradisional. Alih-alih meneruskan seluruh sesi desktop, aplikasi ini merender aplikasi GUI individual sebagai output terminal menggunakan berbagai metode tampilan. Untuk terminal dasar, aplikasi ini mengkonversi grafis menjadi karakter mirip ASCII, sementara terminal canggih yang mendukung protokol gambar dapat menampilkan aplikasi pada resolusi penuh. Fleksibilitas ini membuatnya sangat berharga untuk manajemen server remote dan lingkungan kontainer di mana forwarding GUI tradisional mungkin tidak praktis.

Komunitas telah menunjukkan antusiasme yang luar biasa untuk aplikasi kreatif. Pengguna telah berhasil mendemonstrasikan menjalankan Firefox, pemutar video, dan bahkan game klasik seperti Doom dalam sesi terminal. Satu showcase yang sangat mengesankan melibatkan menjalankan seluruh toolchain melalui SSH ke iPad, membuka kemungkinan baru untuk workflow pengembangan mobile.

Aplikasi yang Didukung:

  • Browser web ( Firefox telah didemonstrasikan)
  • Pemutar video dan aplikasi media
  • Game klasik (episode shareware Doom dikonfirmasi berfungsi)
  • Pengelola file dan utilitas sistem
  • Alat pengembangan (kompatibilitas VS Code sedang dalam proses)
  • Aplikasi GUI apa pun yang mendukung protokol Wayland

Inovasi Teknis dan Pertimbangan Performa

Fondasi teknis proyek ini sebagai Wayland compositor khusus membuatnya berbeda dari solusi khusus browser seperti Carbonyl atau Browsh. Cakupan yang lebih luas ini memungkinkan hampir semua aplikasi GUI bekerja, meskipun dengan beberapa keterbatasan. Penanganan input menghadirkan tantangan unik karena terminal hanya menyediakan event keydown tanpa sinyal keyup yang sesuai, memerlukan solusi kreatif untuk aplikasi yang bergantung pada penekanan tombol berkelanjutan.

Performa berskala langsung dengan pengaturan resolusi terminal. Pada resolusi rendah seperti 640x480, sistem berjalan lancar, tetapi output 4K dapat secara signifikan berdampak pada sumber daya sistem. Developer mencatat bahwa suara kipas menjadi terdengar pada resolusi tinggi, menunjukkan penggunaan CPU yang substansial untuk proses rendering.

Spesifikasi Performa:

  • Performa optimal: resolusi 640x480
  • Penggunaan sumber daya tinggi: resolusi 4K (menyebabkan kebisingan kipas yang signifikan)
  • Dukungan platform: Linux dengan sistem host X11 dan Wayland
  • Akses jarak jauh: Berfungsi melalui koneksi SSH
  • Keterbatasan input: Tidak ada kejadian keyup, memerlukan solusi alternatif untuk penekanan tombol berkelanjutan

Aplikasi Praktis dan Pengembangan Masa Depan

Selain faktor kebaruannya, Term.Everything menangani skenario dunia nyata di mana solusi remote desktop tradisional tidak memadai. Pengguna telah mengidentifikasi aplikasi dalam manajemen kontainer Docker, administrasi server remote, dan situasi di mana hanya akses SSH yang tersedia. Alat ini terbukti sangat berguna untuk mengakses antarmuka administratif berbasis web pada sistem remote tanpa setup VPN atau port forwarding yang kompleks.

Saya sebenarnya dulu mentunnel Netscape Navigator via SSH ke desktop Commodore Amiga saya melalui server Xorg pada masa-masa internet modem telepon 56K.

Roadmap proyek menunjukkan rencana ambisius, berkembang dari Term some things melalui Term most things hingga akhirnya mencapai Term everything. Pengembangan saat ini berfokus pada memperluas kompatibilitas aplikasi dan mengimplementasikan protokol Wayland yang hilang seperti dukungan clipboard. Developer telah menyatakan minat untuk membuat versi macOS, meskipun ini akan memerlukan pendekatan berbeda menggunakan API tampilan virtual atau framework aksesibilitas.

Proyek ini merepresentasikan persilangan menarik antara utilitas praktis dan kesenian teknis, mendemonstrasikan bagaimana pendekatan kreatif terhadap protokol yang sudah mapan dapat menyelesaikan tantangan komputasi modern sambil memberikan pengalaman yang tak terbantahkan menghibur.

Referensi: Term.Everything