Terminal

Terminal Mobile SSH dibuat untuk operasi di ponsel dan tablet. Ia menggabungkan kanvas terminal, baris tombol tambahan, panel multi-sesi, penanganan gulir, dan perilaku koneksi ulang.

Dasar terminal

Kisi multi-sesi

Mobile SSH dapat menjalankan hingga delapan sesi SSH sekaligus. Setiap sesi tampil sebagai panel di kisi terminal. Ketuk panel untuk memilihnya, atau gunakan + Add Session untuk memulai koneksi lain.

Header panel menyebutkan di mana Anda berada. Di Android ia menampilkan direktori kerja sebenarnya dari panel itu, ditanyakan ke tmux atau dilaporkan shell melalui OSC 7 dan disegarkan selama aplikasi terbuka; di iOS ia menampilkan judul yang disetel sisi jarak jauh, dengan cadangan user@host:port.

Menutup panel memutus sesi SSH tersebut. Kembali ke layar awal menjaga sesi aktif tetap tersedia melalui Active Sessions.

Eternal Terminal (ET)

Setiap server tersimpan dapat memakai salah satu dari dua transport, dipilih lewat pemilih Transport saat Anda menambah atau mengedit server:

ET menjaga sesi tetap hidup di server, jadi saat ponsel Anda berganti jaringan atau bangun dari tidur, Mobile SSH menyambungkan diri kembali ke shell yang sama alih-alih membuka yang baru. Ini cocok untuk data seluler, perpindahan Wi-Fi/seluler, dan perintah yang berjalan lama.

ET memerlukan proses etserver di host. Jika server belum punya, Mobile SSH dapat memasang dan menjalankannya untuk Anda melalui koneksi SSH yang ada — tanpa penyiapan server manual. Setelah ET tersedia, sambunglah dengan transport Eternal Terminal terpilih.

Baris tombol tambahan

Kedua platform menaruh satu baris berisi tiga belas tombol terminal dalam jangkauan — tombol-tombol yang canggung atau tidak ada pada keyboard sentuh. Di Android ia berupa strip di bagian bawah sesi (yang menyembunyikan diri saat keyboard hardware terpasang); di iOS ia berada di atas keyboard perangkat lunak.

Kedua set bawaan berukuran sama tetapi tidak identik:

AndroidiOS
BawaanESC TAB CTRL panah HOME PGUP END PGDN ESC TAB CTRL panah HOME END PGUP PGDN
Perbedaanpunya tombol hapus mundur, tanpa Shiftpunya Shift lengket, tanpa tombol hapus mundur

Baris ini tidak pernah digulir. Saat tombol-tombolnya tidak lagi muat selebar layar, mereka membagi ruang secara merata dan membungkus ke baris kedua; sisanya yang masih tertinggal dilipat ke menu luapan . Tidak ada yang tersembunyi di balik gesekan atau terpotong di tepi layar, dan pengubah yang sedang aktif tetap berlaku pada tombol yang Anda pilih dari menu luapan.

CTRL bertindak sebagai pengubah lengket: ketuk CTRL, lalu ketik C untuk mengirim Ctrl-C. Shift lebih lengket di iOS daripada di Android — di iOS ia juga membuat huruf berikutnya yang Anda ketik pada keyboard perangkat lunak menjadi kapital, sedangkan di Android ia hanya berlaku untuk tombol milik baris itu sendiri (Shift+Tab, Shift+panah).

Tahan sebuah tombol seperti panah atau PGDN dan ia akan berulang.

Perilaku keyboard

Terminal menggunakan koneksi pass-through native ke keyboard di layar: setiap karakter dikirim ke shell jarak jauh saat Anda mengetik, dengan koreksi otomatis dan saran prediktif dimatikan sehingga keyboard tidak pernah menulis ulang input sebelum mencapai shell. Ini menjaga Vim, tmux, htop, less, shell dengan kord tombol tak biasa, dan prompt kata sandi jarak jauh tetap dapat diprediksi — tidak ada buffer saran yang perlu dinonaktifkan.

Dikte suara keyboard di layar tetap berfungsi: teks yang didiktekan langsung dikirim ke shell seperti input yang diketik lainnya.

Keyboard hardware

Keyboard eksternal dan Bluetooth menggerakkan terminal secara langsung baik di Android maupun iOS. Selain karakter biasa, Mobile SSH memetakan tombol panah, Home/End, PgUp/PgDn, Insert, Delete, Esc, tombol fungsi F1F12, kord Ctrl+tombol dan Alt/Option-sebagai-Meta, serta Shift+Tab. Tombol pengubah dapat digabung dengan pengubah lengket pada baris tombol tambahan.

Menempel

Menempel ke program yang memintanya (bash, Vim, dan aplikasi bracketed-paste lain) dibungkus dengan penanda bracketed-paste, sehingga konten clipboard multi-baris disisipkan sebagai teks alih-alih dieksekusi otomatis baris demi baris. Hanya tempel sungguhan yang dibungkus; teks yang diketik dan didiktekan tidak diubah.

Pilih, salin, bagikan

Tekan lama di dalam terminal untuk memilih kata di bawah jari Anda, lalu seret pegangan untuk menyesuaikan. Bilah pemilihan menawarkan tiga tindakan:

Cari di terminal

Telusuri seluruh buffer terminal — scrollback dan layar yang terlihat — dan lompat antar kecocokan. Buka pencarian dari kontrol terminal, ketik kueri, dan telusuri hasil satu per satu. Ini berfungsi baik di Android maupun iOS.

Warna, huruf miring, dan clipboard jarak jauh

Integrasi shell dan gambar inline

Tampilan dan tombol

Baik di Android maupun iOS, Settings memungkinkan Anda menyesuaikan terminal:

Reset mengembalikan bawaan yang dikirim bersama aplikasi alih-alih membekukan daftar hari ini, sehingga peningkatan pada rilis berikutnya tetap sampai kepada Anda. Perubahan diterapkan secara langsung ke panel yang sudah terbuka.

Menggulir

Mobile SSH mengarahkan gerakan gulir berdasarkan status terminal:

Di Android, ketukan di dalam program yang melacak mouse dikirim sebagai klik kiri pada sel tersebut, sehingga htop, vim, dan panel klik-untuk-fokus merespons sentuhan. Di iOS, ketukan pada program yang sama memunculkan keyboard alih-alih mengeklik; hanya gulir roda yang dilaporkan.

Jika Anda mengetik saat menggulir balik, Mobile SSH kembali ke tampilan terminal langsung.

Perilaku tmux

Mobile SSH mengamati perintah tmux keluar untuk attach dan sesi baru, seperti:

tmux attach -t work
tmux a -t work
tmux new -A -s work

Saat koneksi putus ketika Anda berada di tmux, aplikasi dapat mengingat nama sesi tmux terakhir untuk server itu dan mencoba menyambung ulang setelah terhubung kembali. Jika tidak ada nama sesi eksplisit yang teramati tetapi aplikasi tahu Anda berada dalam sesi mirip tmux layar alternatif, ia dapat mencoba tmux attach umum.

Perilaku ini bersifat upaya terbaik. Jika sesi tmux jarak jauh tidak ada lagi, shell jarak jauh tetap tersedia.

Pengelola tmux

Mobile SSH menyertakan pengelola tmux agar Anda dapat menelusuri dan mengendalikan tmux tanpa mengetik kord prefix. Buka dengan tombol Tmux dari sesi yang tersambung. Ia menampilkan tiga bagian:

Dari pengelola ini Anda dapat:

Ikon 🔔 menandai setiap sesi yang agennya sedang menunggu masukan, sehingga Anda dapat langsung melihat proses Claude Code atau Codex yang berhenti dan meng-attach ke sana. Ini melengkapi petunjuk reattach di atas: logika reattach memulihkan sesi terakhir Anda secara otomatis saat tersambung ulang, sementara pengelola memberi Anda kendali manual penuh.

Kedua platform juga dapat mengelola lebih dari satu server tmux (socket) di host yang sama, serta mengurutkan sesi berdasarkan nama atau tanggal pembuatan.

Herdr dan Zellij (Android)

Android menghadirkan gagasan yang sama untuk dua multiplexer lain. Masing-masing punya ikon sendiri di bilah alat, dan sebuah ikon baru muncul setelah aplikasi benar-benar menemukan program itu di server — jadi bilah alat memberi tahu Anda apa yang terpasang di sana tanpa perlu menjalankan which.

Jika herdr atau Zellij terpasang tetapi tidak ada di PATH shell login, halaman itu menawarkan untuk menambahkannya.

Setiap server tersimpan punya pengaturan Attach on connect: Auto (detect), Nothing, tmux, herdr, atau Zellij. Auto memilih yang terakhir Anda pakai di server itu, lalu yang punya sesi aktif, lalu yang terpasang — dan tidak meng-attach apa pun alih-alih menebak bila ia belum memeriksa servernya.

Aplikasi iOS saat ini hanya mendukung tmux.

Agent alerts

Mobile SSH memberi tahu Anda saat agen pemrograman AI jarak jauh — Claude Code, Codex, Gemini — tertahan menunggu Anda. Ia tidak menebak dengan membaca keluaran terminal Anda. Ada dua jalur, dan keduanya bekerja pada tingkat detail yang berbeda.

Bel

Tanpa penyiapan apa pun, bel terminal dari sesi yang tidak sedang Anda lihat akan memunculkan peringatan, begitu pula escape sequence notifikasi desktop (OSC 9, OSC 777) yang sudah dipancarkan banyak alat. Bel yang datang tepat setelah Anda mengetik diabaikan, sehingga bunyi pelengkapan shell biasa tidak mengganggu Anda.

Ini tidak memerlukan penyiapan, tetapi aplikasi hanya tahu bahwa sesuatu berbunyi.

Hook agen

Agar aplikasi tahu agen mana yang menunggu dan apa yang sedang dikerjakannya, pasang hook agen di server:

Ini menulis skrip shell kecil ke ~/.mobile-ssh/agent-hook.sh di server tersebut. Skrip ini tidak terikat agen tertentu — ia menerima argumen baris perintah alih-alih mengurai format milik satu vendor — sehingga apa pun yang bisa menjalankan perintah dapat melapor melaluinya. Menghapus berkas itu adalah cara pencopotan yang bersih.

Setelah sebuah agen melapor lewat hook:

Menjawab tanpa mengetik

Saat sebuah agen mengajukan pertanyaan dengan sekumpulan jawaban tetap, aplikasi menampilkan satu tombol per pilihan — hingga enam — di daftar Agents. Di Android Anda juga dapat mengetuk chip agen di header panel.

Jawaban Anda tidak diketikkan ke dalam sesi. Ia ditulis ke sebuah berkas melalui kanal terpisah lalu diambil oleh hook, sehingga membalas tidak dapat merusak apa pun yang sedang tampil di layar. Aplikasi menolak mengirim pilihan yang sebenarnya tidak ditawarkan, dan memberi tahu Anda dengan jelas bila koneksinya sudah terputus alih-alih gagal diam-diam.

Pengaturan

Peringatan aktif secara bawaan di kedua platform, dengan sakelar terpisah untuk notifikasi, suara, getaran, dan apakah sesi yang sedang Anda lihat juga perlu memberi peringatan.

Satu bawaan yang perlu diketahui: suara dibatasi pada headphone. Bila tidak ada yang tercolok atau terhubung, peringatan tetap memberi notifikasi dan bergetar tetapi tidak membunyikan nada. Matikan opsi itu jika Anda ingin peringatan terdengar di pengeras suara ponsel.

Tidak ada pengaturan sensitivitas dan tidak ada pemilih suara — kontrolnya hanya hidup/mati.

Program terminal layar penuh

Untuk program seperti Vim, less, htop, alat ncurses, dan panel tmux: