Local terminal
Open zsh, bash, fish, Nushell, PowerShell, Command Prompt, Git Bash or WSL on this computer in Gatesys SSH, with metrics, Health, watches and Farabi.
Not every job starts on a server. Gatesys SSH opens shells on this computer too, in the same terminal you use over SSH: search, snippets, recording, watches, the metric strip, Health and Farabi.
The local terminal is free
Opening local terminals is part of the Free plan, as many as you like, each in a session of its own. A second terminal tab or a split pane inside one local session is part of Gatesys Pro, as it is for SSH sessions. See plans
Open a local terminal
| From | How |
|---|---|
| This computer | The row pinned at the top of the Hosts list. Click it for your default shell, or click its chevron to pick another |
| The keyboard | ⌘ShiftT on macOS, CtrlShift` on Windows and Linux |
| The command palette | New local terminal, or one entry per shell, such as fish — new local terminal |
| The menu | File › New Local Terminal |
Each opens in a session tab of its own, marked with a laptop. The This computer row says how many are open, and its list ends with Local terminal settings.
On Windows and Linux the shortcut is CtrlShift` because CtrlShiftT already opens a terminal tab.
Shells found for you
Gatesys SSH looks for the shells installed on this computer and lists each one once.
| System | Shells |
|---|---|
| macOS and Linux | Your login shell first, then the shells in /etc/shells that exist and the usual ones on your PATH: zsh, bash, fish, Nushell, PowerShell and sh |
| Windows | PowerShell 7, Windows PowerShell, Command Prompt, Git Bash and every WSL distribution (from wsl --list), through ConPTY |
On macOS, shells open as login shells, as Terminal does, so the app gets the PATH your profile sets even when you started it from the Finder.
What the shell gets
- A clean environment. The environment Gatesys SSH started with, minus the app’s own variables: every
ELECTRON_*,NODE_OPTIONSandGATESYS_*. - Colour and Unicode.
TERM=xterm-256colorandCOLORTERM=truecolor, and a UTF-8 locale when none is set (C.UTF-8on Linux). - Your home folder as the starting folder, unless a shell profile says otherwise.
Closing a local terminal
Closing a tab, a pane or the session while something other than the shell runs in it, such as vim, a dev server or a build, asks first and names what would end. Windows cannot tell what is running, so there it closes straight away.
Metrics and Health on this computer
The terminal header shows this computer’s CPU, memory, disk, load, network, processes and threads, as it does for a server. On a Mac, disk is the data volume, not the sealed system volume. Health watches the same figures and this computer’s process table, and Ask Farabi works on them.
Farabi in a local terminal
Farabi works in a local terminal with the same panel, commands and checks:
- What it knows: This computer, the OS and its version, the shell and its version, and the folder the shell is in. No host facts read runs.
- Privacy: for a model off this computer, the computer’s name, your user name and your home folder go out as placeholders, in the question’s context and in the screen text.
- Run goes through the same checks as on a server: no typing into a full-screen app, control characters stripped, the command-risk rules and their confirms, and the audit log, where the host is
local. - Risk levels: there is no production or jump-depth factor here, but a root shell still turns a danger into a critical.
What a local terminal does not offer
SFTP, tunnels, Safe Change, Hop Doctor, host facts, the service map and host keys belong to SSH. They are hidden for a local session, not shown and refused.
Your own shells
Open Settings › Terminal › Local terminal.
- New local terminals open with sets the default shell. Left empty, it is your login shell.
- Shells lists every shell found on this computer, and your own, marked yours.
- Add a shell adds a profile: a Name, the Program (an absolute path or a name on your
PATH), its Arguments, and where it Starts in. For example, a profile named tmux with the program/opt/homebrew/bin/tmuxand the argumentsnew-session -A -s main.
The program is run directly, never through a shell, so it must be a program, not a shell line. Put its arguments in Arguments.
Profiles in settings.json
Your shells live in settings.json under terminal.local:
{
"terminal": {
"local": {
"defaultProfile": "tmux",
"profiles": [
{
"id": "tmux",
"name": "tmux",
"command": "/opt/homebrew/bin/tmux",
"args": ["new-session", "-A", "-s", "main"],
"cwd": "~/projects"
}
]
}
}
}A profile runs a program, so one written into the file by hand waits for your approval before it can open. Settings › Terminal › Local terminal shows exactly what it would run, with Approve, and the This computer row reads 1 to approve until you do. Changing its program, arguments, folder or environment asks again. A profile added in Settings is approved by the act.
Tabs and splits
A local session starts with one terminal. With Gatesys Pro it takes more terminal tabs and split panes, like an SSH session. Without Pro, open another local terminal instead: each is a session of its own and always free. See Terminal.
Something unclear or wrong? Tell us.