Skip to content

Remote development

You can open a project on another machine over SSH and edit it as if it were local. The remote machine runs the Tyrn server components, and Tyrn on your computer connects to them.

Supported hosts

  • Linux on x86_64, any distribution. The server components are static, so they don’t depend on the distribution’s libraries.
  • macOS, on Apple silicon or Intel.
  • Linux on ARM is not supported yet.

The first time you connect to a host, Tyrn downloads the Tyrn server components for that host from tyrn.dev. The host needs access to tyrn.dev for this. If it doesn’t have it, set upload_binary_over_ssh (see below) and Tyrn uploads them from your computer instead.

What is in the app

  • Open Remote… in the File menu opens the remote servers list (ctrl-cmd-o on macOS, ctrl-alt-shift-o on Linux).
  • Connect SSH Server asks for “the command you use to SSH into this server”, for example ssh me@192.168.1.10.
  • You can give a server a nickname, copy its address and remove it from the same list.
  • Tyrn runs the ssh program on your computer, so it uses your ~/.ssh/config. With read_ssh_config on (default), hosts from that file are offered in the list.

Connection settings

Servers you add are stored in ssh_connections in your settings.

settings.json
{
"read_ssh_config": true,
"ssh_connections": [
{
"host": "192.168.1.10",
"username": "me",
"port": 22,
"args": ["-i", "~/.ssh/work_id_file"],
"nickname": "build-box",
"connection_timeout": 10,
"projects": [{ "paths": ["~/code/app"] }]
}
]
}
Key Meaning
host Host name or address
username, port Override the values from your SSH config
args Extra arguments for the ssh command
nickname Name shown in the list
projects Folders to open on that host
connection_timeout Seconds to wait to connect. Default 10.
upload_binary_over_ssh Upload the server program from your computer instead of downloading it on the host
port_forwards Ports to forward, each with local_port and remote_port, and optionally local_host and remote_host

Agent sessions on remote machines

Running agent sessions on a remote machine is planned. Today, sessions run on your computer.