> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wrapper.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Remote Linux box

> Run Wrapper on an always-on Linux host without installing it on your laptop.

A dedicated Linux machine, VPS, or devbox is the recommended host if you do
not want Wrapper on your laptop. The phone is a viewer. The shell, files, and
credentials stay on the box.

This path does **not** patch your shell config. You share one session at a time.

## Install the CLI

On the Linux host:

```bash theme={null}
curl -fsSL https://wrapper.sh/install | bash
```

Supported installer targets: `linux-arm64` and `linux-x86_64`. Confirm with
`wrapper --version`.

## Sign in

```bash theme={null}
wrapper auth login
```

Approve the device code in a browser. Headless boxes can print the URL and
code; complete approval from any other device. See [Authentication](https://docs.wrapper.sh/guides/auth.md).

## Share a session

```bash theme={null}
wrapper share
```

Or wrap a specific command:

```bash theme={null}
wrapper run -- claude
# later, in that session: Ctrl+\ then s
wrapper share -- claude
```

Press `Ctrl+\` then `s` if you started with `wrapper run` and want to share
later. Unshare with `Ctrl+\` then `u`.

`wrapper status` lists live sessions on this machine. Unshared sessions listen
on `127.0.0.1` and do not contact Convex.

## Attach from your phone

Share the session (Pro), then open the iOS viewer. See
[Mobile viewer](https://docs.wrapper.sh/guides/mobile-viewer.md) and [Pricing](https://docs.wrapper.sh/reference/pricing.md).

You do not need to put SSH keys on the phone. Wrapper shares **this** session
only, not the whole machine.

## Optional: systemd user unit

A one-shot session (not a daemon wrapping every login):

```ini theme={null}
# ~/.config/systemd/user/wrapper-share.service
[Unit]
Description=Wrapper shared shell

[Service]
ExecStart=%h/.wrapper/bin/wrapper share
Restart=on-failure

[Install]
WantedBy=default.target
```

Enable with `systemctl --user enable --now wrapper-share.service`. This still
starts one shared session, not every interactive shell.

## Optional: wrap every terminal

If you want every new shell on the box wrapped:

```bash theme={null}
wrapper install --dry-run
wrapper install
```

Remove later with `wrapper uninstall`. Skip one shell with `WRAPPER_DISABLE=1`.

## Related

* [Installation](https://docs.wrapper.sh/guides/installation.md)
* [Remote share](https://docs.wrapper.sh/guides/remote-share.md)
* [Pricing](https://docs.wrapper.sh/reference/pricing.md)
* [CLI reference](https://docs.wrapper.sh/reference/cli.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.