
# Несколько терминалов

Termbridge может одновременно запускать несколько сеансов терминала. Один сервер размещает несколько сеансов tmux, а UI позволяет переключаться между ними.

## Как это работает

- Termbridge отслеживает сеансы, созданные или подключенные им во время текущего запуска
- Переключатель терминалов показывает все доступные сеансы
- Переключение происходит мгновенно — переподключаться не нужно

## Создание нескольких сеансов

### При запуске

Используйте переменную окружения `TERMBRIDGE_SESSIONS`:

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

Будут созданы три сеанса: `<base>`, `<base>-2` и `<base>-3`.

### Во время разработки

Используйте скрипт быстрого запуска:

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

### Пока запущен Termbridge

UI переключает терминалы, но не позволяет создавать новые. Чтобы добавить терминалы, перезапустите Termbridge с большим значением `TERMBRIDGE_SESSIONS` или откройте дополнительные окна прямо в сеансе tmux (`Ctrl+B`, затем `c`).

## Переключение между терминалами

1. Коснитесь значка терминала на нижней панели
2. Появится список доступных сеансов
3. Коснитесь нужного, чтобы переключиться на него

Переключение происходит мгновенно — предыдущий сеанс продолжает работать в фоновом режиме.

## Сценарии использования

### Сборка и журналы

Запустите сборку в одном терминале, а в другом просматривайте журналы:

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

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

Переключайтесь между ними, не теряя своего места.

### Сервер и клиент

Запустите серверную часть в одном терминале, а сервер разработки интерфейса — в другом:

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

# Terminal 2: Frontend
npm run dev
```

### Несколько сеансов SSH

Подключайтесь к разным серверам:

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

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

Следите за обоими с телефона.

## Имена сеансов

По умолчанию сеансам присваиваются имена на основе номера порта. Используйте `--session`, чтобы задать понятные имена:

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

При создании нескольких сеансов с помощью `TERMBRIDGE_SESSIONS` к базовому имени добавляются числовые суффиксы.

## Сохранение сеансов

- Сеансы продолжают работать после отключения от UI
- Сеансы продолжают работать после перезапуска Termbridge (кроме случая `--kill-on-exit`)
- Используйте `--session <name>`, чтобы подключиться к существующему сеансу
