
# Beberapa Terminal

Termbridge dapat menjalankan beberapa sesi terminal secara bersamaan. Satu server menampung beberapa sesi tmux, dan UI memungkinkan Anda beralih di antaranya.

## Cara kerjanya

- Termbridge melacak sesi yang dibuat atau disambungkannya selama proses berjalan saat ini
- Pengalih terminal menampilkan semua sesi yang tersedia
- Peralihan berlangsung seketika - Anda tidak perlu menyambungkan ulang

## Membuat beberapa sesi

### Saat startup

Gunakan variabel lingkungan `TERMBRIDGE_SESSIONS`:

```bash
TERMBRIDGE_SESSIONS=3 npx termbridge
```

Ini membuat tiga sesi: `<base>`, `<base>-2`, dan `<base>-3`.

### Selama pengembangan

Gunakan skrip pintasan:

```bash
bun run dev:beam:multi
```

### Saat Termbridge berjalan

UI beralih di antara terminal, tetapi tidak menyediakan kontrol untuk membuat sesi baru. Untuk menambah terminal, mulai ulang Termbridge dengan nilai `TERMBRIDGE_SESSIONS` yang lebih tinggi, atau buka jendela tambahan di dalam sesi tmux itu sendiri (`Ctrl+B` lalu `c`).

## Beralih terminal

1. Ketuk ikon terminal di bilah bawah
2. Daftar sesi yang tersedia akan muncul
3. Ketuk salah satu sesi untuk beralih

Peralihan berlangsung seketika - sesi sebelumnya tetap berjalan di latar belakang.

## Kasus penggunaan

### Build + log

Jalankan build di satu terminal, dan tampilkan log secara berkelanjutan di terminal lain:

```bash
# Terminal 1: Build
npm run build

# Terminal 2: Logs
tail -f logs/app.log
```

Beralih di antara keduanya tanpa kehilangan posisi.

### Server + klien

Jalankan server backend di satu terminal dan server pengembangan frontend di terminal lain:

```bash
# Terminal 1: Backend
npm run server

# Terminal 2: Frontend
npm run dev
```

### Beberapa sesi SSH

Sambungkan ke server yang berbeda:

```bash
# Terminal 1
ssh user@server1.com

# Terminal 2
ssh user@server2.com
```

Pantau keduanya dari ponsel Anda.

## Penamaan sesi

Secara default, sesi diberi nama berdasarkan nomor port. Gunakan `--session` untuk nama yang bermakna:

```bash
termbridge --session api-server
```

Saat membuat beberapa sesi dengan `TERMBRIDGE_SESSIONS`, nama dasar digunakan dengan akhiran angka.

## Persistensi

- Sesi tetap berjalan saat Anda terputus dari UI
- Sesi tetap berjalan saat Termbridge dimulai ulang (kecuali `--kill-on-exit`)
- Gunakan `--session <name>` untuk menyambung kembali ke sesi yang sudah ada
