1 poin oleh GN⁺ 2025-03-09 | 1 komentar | Bagikan ke WhatsApp
  • Vtm adalah multiplexer terminal virtual yang disediakan sebagai satu file executable, membungkus aplikasi CLI untuk membuat desktop berbasis teks dan menjembatani TUI dan GUI
  • Berjalan sama baik di jendela native maupun konsol standar, serta mendukung nested tanpa batas sehingga beberapa lingkungan terminal bisa ditumpuk dan digunakan bersama
  • vtm berjalan dalam mode desktop, dan vtm --run term [<your_shell>] berfungsi sebagai emulator terminal mandiri
  • Di SSH, koneksi dapat dilakukan dalam bentuk vtm ssh user@host vtm menggunakan protokol DirectVT, dan diklaim memiliki performa lebih tinggi dibanding koneksi klasik
  • Mendukung Windows 8.1 ke atas serta platform Unix-like seperti Linux, macOS, FreeBSD, NetBSD, OpenBSD, tetapi rendering jendela GUI native saat ini hanya tersedia di Windows

Apa yang dilakukan Vtm

  • Vtm adalah multiplexer terminal virtual yang disediakan dalam bentuk satu file executable
  • Berjalan sama baik di jendela native atau konsol standar
  • Dapat membungkus dan menjalankan aplikasi CLI apa pun
  • Mendukung nested tanpa batas untuk membangun lingkungan desktop berbasis teks
  • Tujuannya adalah menyediakan desktop berbasis teks yang menjembatani kesenjangan antara TUI dan GUI

Mode eksekusi

  • Mode desktop

    • Menjalankan vtm akan memulai lingkungan desktop
  • Mode terminal

    • Menjalankan vtm --run term [<your_shell>] memungkinkan Vtm digunakan sebagai emulator terminal mandiri sepenuhnya
  • Koneksi biner SSH

    • Contoh koneksi SSH menggunakan protokol DirectVT adalah sebagai berikut
    • vtm ssh user@host vtm
    • Cara ini diklaim memiliki performa lebih tinggi dibanding koneksi klasik

Demo dan contoh

  • Demo YouTube tersedia
  • Demo AnyPlex dan VT2D power saat ini hanya dapat dijalankan di Windows
    • vtm --run test
  • Contoh aplikasi HybridTUI, yaitu HTUI, disediakan dalam bentuk konsep
    • vtm --run calc
    • vtm --run text
    • vtm --run gems

Platform yang didukung dan batasan

  • Windows

    • Mendukung Windows 8.1 ke atas
    • Termasuk Windows Server Core dan Windows PE
  • Unix-like

    • Linux
    • macOS
    • FreeBSD
    • NetBSD
    • OpenBSD
    • Keluarga sistem operasi berorientasi POSIX
    • Daftar Tested Terminals disediakan secara terpisah
    • Saat ini rendering jendela GUI native hanya tersedia di platform Windows
    • Di platform Unix-like, emulator terminal diperlukan

Distribusi dan dokumentasi

Teknologi yang digunakan

1 komentar

 
GN⁺ 2025-03-09
Komentar Hacker News
  • Ada thread besar 5 tahun lalu: https://news.ycombinator.com/item?id=24243521

    • Tautan utama di thread itu tampaknya sudah berpindah ke pihak yang berniat jahat
  • Mungkin saya melewatkan sesuatu yang jelas, tapi saya penasaran apakah ini terminal multiplexer (seperti tmux), atau tiling terminal emulator (seperti iTerm)

    • Bukan keduanya, lebih mirip sesuatu yang berdiri sendiri. Paling mirip dengan tmux, tetapi cara berinteraksinya lebih dekat ke pengelolaan window manager grafis
    • Judul video YouTube yang disematkan di GitHub adalah “Tiling Window Manager with Drag&Drop”, dan dari videonya memang terlihat persis seperti alat semacam itu
      Saya tidak tahu kenapa dibuat terbatas secara artifisial agar hanya bisa membuka terminal
    • Ini sangat mengingatkan pada Apollo workstation
    • Menurut saya ini lebih ke sisi tiling
  • Ini seperti berputar satu lingkaran penuh. GUI dibuat untuk menggantikan TUI, lalu sekarang GUI diimplementasikan lagi di dalam TUI. Hidup terminal

    • Bahkan dua kali. Banyak terminal berjalan di atas Electron atau antarmuka browser serupa, jadi kita juga sudah mengimplementasikan TUI di dalam GUI
    • Ini terasa seperti balas dendam DESQview
    • Video demonya sangat terasa seperti Turbo Vision dari Borland
    • Kalau mau lengkap, harus sempat melewati aalib juga
    • Benar. Rasanya ini terlalu condong ke arah membuatnya sefitur GUI, sampai saya bertanya-tanya apakah sesuatu yang didapat dari memulai di terminal justru hilang
  • Alasan saya memakai terminal sejak awal adalah karena tidak butuh mouse. Saya memang banyak memakai alat TUI, tapi sepertinya ini tidak akan menjadi salah satunya

    • Akan luar biasa kalau ada perilaku tiling dan key binding ala i3/sway
  • Saya selalu penasaran apakah window manager bergaya TUI di dalam terminal itu memungkinkan, dan ini benar-benar proyek yang keren. Pembuatnya melakukan pekerjaan yang sangat bagus

    • Lingkungan desktop TUI saya saya sebut Emacs dengan tiling window manager %) Mungkin Vim juga bisa memberi pengalaman yang mirip
    • Demonya terlihat bagus, tapi setelah beberapa kali kecewa, saya jadi berhati-hati
      Tidak cukup kalau hanya terlihat cantik
    • Apakah ini seperti dvtm?
      https://www.brain-dump.org/projects/dvtm/
  • Kelihatannya sangat mulus
    Tapi dari sudut pandang saya, kebutuhan untuk menyeret jendela dan mengubah ukurannya itu lebih mirip kebiasaan dari lingkungan Windows. Jadi ini mungkin alat yang bagi mouse berperan seperti tmux dan Neovim bagi keyboard
    Di tmux, layout jendela yang saya butuhkan hanyalah beberapa set panel 2x2 yang tetap, lalu cara resize yang sudah ditentukan dan toggle layar penuh sudah cukup. Dengan alat yang efisien seperti telescope dan nvim, perpindahan jadi sangat cepat sehingga kebutuhan untuk menyusun semua jendela agar terlihat sekaligus jadi hilang, dan Anda lebih banyak memakai model mental daripada gambaran visual tentang apa yang sedang terbuka. Misalnya, file tree yang umum di sisi kiri kebanyakan IDE tidak terlalu dibutuhkan

    • Dulu saya juga berpikir begitu. Belakangan ini entah kenapa saya lebih menghargai default dan pengurangan beban kognitif, jadi saya lebih suka bisa lebih sedikit mengutak-atik dan lebih banyak berpikir. Sekarang saya bahkan mungkin bisa memakai Eclipse dengan cukup senang :P
  • Beberapa tahun lalu ada sesuatu yang mirip, dan seingat saya berjalan di atas koneksi ssh, dengan semacam UI yang bisa dizoom. Saya tidak bisa menemukan tautannya; apakah ada yang teringat sesuatu?

    • Saya tidak sepenuhnya paham apa yang dimaksud dengan “zoom”, tapi kitty melakukan hal seperti itu: buka koneksi ssh dengan kitten ssh user@host, lalu tekan tombol dan panel ssh lain akan terbuka di tab yang sama, dan kalau saya ingat benar tab itu bisa “dizoom” menjadi seluruh jendela
      https://sw.kovidgoyal.net/kitty/
    • Ya, memang alat itu. Dulu bisa diakses lewat ssh seperti ini
      ssh vtm@netxs.online
      Sekarang domain itu sudah mati
  • Saya berharap beberapa aplikasi web mengadopsi bahasa desain teks murni seperti ini

  • Saya sedang mencoba memahaminya; sebagai perbandingan, kalau saya sudah memakai tmux, apakah berpindah ke ini berarti saya mendapatkan manajemen jendela/panel berbasis mouse?

  • Saya ingin sebagian ide seperti ini masuk ke Zellij