buster7
Usage

SSH hosts

Use directories on a machine you reach over SSH as projects

Register a machine you reach over SSH (a development server, a Linux machine in the cloud, and so on) to use its directories as projects. Terminals, agents, files, and worktrees work the same way as local projects.

Terminals and agents running on that machine keep running even if the connection to this Mac drops. Put the Mac to sleep or lose the network, and when it reconnects you come back to the same screen.

Requirements

  • You can run ssh <destination> in a terminal and log in without typing a password (a key or ssh-agent). buster7 never asks for a password
  • The machine runs Linux (x64 or arm64)
  • You do not need to install anything on the machine

Settings in ~/.ssh/config (user name, port, jump hosts, and so on) are used as they are.

Register a host

  1. Open Settings → SSH hosts
  2. Enter a name from ~/.ssh/config or user@host in Destination and press Add. Host names in ~/.ssh/config are suggested
  3. It becomes Connected in a few seconds to a few tens of seconds. The first time, buster7 places its own server on the machine and starts it

Add a project

When adding a project, choose the SSH host in Location and enter a path on that machine. Directories on the machine are suggested as you type.

In the project list, projects on an SSH host show the host name next to their name. Hosts that are not connected show their status at the end of the list.

Remove a host

Press Remove in Settings → SSH hosts.

  • By default, terminals and agents on the machine keep running. Registering the same destination again brings them back
  • If you choose "Also stop the server on the host", terminals and agents running there end too

What is placed on the machine

buster7 places its server and its records (terminal layout, logs) in ~/.buster7/ssh/ in your home directory. The server only listens inside that machine and cannot be reached from outside. When the app is updated to a new version, the server is replaced automatically if no terminals are running. If terminals are running it is not replaced, and Settings shows "Replace the server".

Accounts are logged in on that machine. Logins on this Mac are not sent.

Troubleshooting

  • "Could not connect over SSH": Try ssh -o BatchMode=yes <destination> true in a terminal. If it asks for a password or passphrase, set up a key or ssh-agent
  • "This OS is not supported": The machine is not Linux x64 / arm64
  • An agent command is not found: Check that the command is available when you log in to the machine (the server uses the PATH of your login shell at the time it started). After fixing it, remove the host with "Also stop the server on the host" and register it again so the server starts with the new PATH (terminals running at that time end)

On this page