Terminal
Zync gives you a full XTerm.js terminal per connection — local shells and remote SSH sessions — with multiple tabs, in-buffer search, and rich keyboard shortcuts.
Local vs remote
- Local — A terminal that runs on your own machine using your default shell (
$SHELLon Linux/macOS, or the shell configured in Settings on Windows). Available from the Local entry in the sidebar. - Remote — When you open a connection tab and switch to the Terminal view, you get a full PTY session on the remote host over SSH. All input/output is streamed over the SSH connection in real time.
Multiple terminals
Each connection can have several terminal tabs running simultaneously. Click the + button in the tab bar to open a new terminal in the same connection. Tabs are preserved when you switch away — the XTerm instance stays alive in the background so you don't lose scrollback or running processes.
Closing a tab sends SIGHUP to the remote shell and terminates the PTY session cleanly.
Keyboard shortcuts
Most shortcuts can be customized in Settings → Shortcuts. Default bindings:
| Action | Linux / Windows | macOS |
|---|---|---|
| Copy | Ctrl+Shift+C | ⌘C |
| Paste | Ctrl+Shift+V | ⌘V |
| Search in buffer | Ctrl+Shift+F | ⌘F |
| New terminal tab | Ctrl+Shift+T | ⌘T |
| Close terminal tab | Ctrl+Shift+W | ⌘W |
| Command palette | Ctrl+K | ⌘K |
| Increase font size | Ctrl+= | ⌘= |
| Decrease font size | Ctrl+- | ⌘- |
Search
Press Ctrl+Shift+F (or ⌘F on macOS) to open the in-buffer search bar. Type to find matches in the current terminal's scrollback. Use Enter / Shift+Enter to navigate between results. Press Escape to close.
Appearance
All terminal appearance settings live in Settings → Terminal:
- Font family — Any monospace font installed on your system. Defaults to the OS system mono font.
- Font size — In pixels. Can also be changed live with Ctrl+= / Ctrl+-.
- Cursor style — Block, bar, or underline.
- Cursor blink — Toggle blinking cursor.
- Line height — Spacing between lines (1.0–2.0).
- Padding — Inner padding around the terminal canvas.
- Scrollback — Number of lines to keep in the buffer (default 1000). Increase for long-running commands with verbose output.
Terminal colors are controlled by the active theme. See the Theme Engine docs to customize ANSI colors.
Shell configuration
Linux / macOS — Zync uses your default $SHELL for local terminals. Remote terminals use whatever shell is configured for your user on the server (set via chsh or /etc/passwd).
Windows — In Settings → General → Default Shell, choose between:
- PowerShell — Default on modern Windows.
- Command Prompt — Legacy
cmd.exe. - WSL — Any installed WSL distribution (e.g. Ubuntu, Debian). Zync lists all available distros automatically.
- Git Bash — If Git for Windows is installed.
Performance tips
- For very slow connections, reduce terminal output by piping verbose commands through
lessor using progress flags (-q) to minimize data transmitted per keystroke. - If the terminal lags during high-throughput output (e.g.
catof large files), lower the Scrollback limit in Settings → Terminal. A smaller buffer means less DOM work for XTerm to do. - Avoid
cat-ing binary files into the terminal — they can corrupt the XTerm buffer. Usefileto check types first, orhexdumpfor binary inspection.
Troubleshooting
- Terminal shows garbled characters — The remote locale may not be set. Run
export LANG=en_US.UTF-8or add it to your~/.bashrc/~/.zshrc. - Colors look wrong — Ensure your remote shell sets
TERM=xterm-256color. Addexport TERM=xterm-256colorto your shell profile on the server. - Terminal is blank after connecting — The remote shell may not be sending a prompt. Try pressing Enter or check that the shell is correctly configured for the remote user.
- Resize doesn't work — Some shells or multiplexers (tmux, screen) need to be told about the new window size. Run
resizeoreval $(resize)manually if needed. - Copy/paste not working — Make sure you're using Ctrl+Shift+C/V (not Ctrl+C/V which sends signals inside the terminal).