Skip to main content

Terminal Basic Usage

The Xermius terminal provides a full-featured terminal experience with modern conveniences and powerful features.

Terminal Types

Xermius supports three types of terminal instances:

1. SSH Terminal

Connect to remote servers via SSH:

  • Full SSH protocol support: Password, key-based, keyboard-interactive authentication
  • Session persistence: Reconnect to existing sessions
  • Multiple sessions: Open multiple terminals to the same host
  • Connection monitoring: Real-time latency and bandwidth tracking
  • Auto-reconnect: Automatic reconnection on network interruption

2. Local Terminal

Run commands on your local machine:

  • Native shell: Uses your system's default shell (bash, zsh, PowerShell)
  • Full terminal emulation: Same features as SSH terminal
  • Quick access: No SSH connection required
  • File operations: Direct access to local filesystem
  • Development workflow: Run commands, git operations, etc.

3. Snippet Execution Terminal

Execute command snippets on remote hosts:

  • One-click execution: Run pre-configured commands instantly
  • Variable substitution: Dynamic values in snippets
  • Multi-host execution: Run same snippet on multiple hosts
  • Output capture: View and save command output
  • Non-interactive: Executes and closes automatically

Terminal Features

Modern Terminal Emulation

Xermius provides industry-standard terminal emulation:

  • Full compatibility: Works with all terminal applications
  • Unicode support: Display international characters correctly
  • True color support: Rich colors for modern CLI tools
  • Ligature support: Programming fonts with ligatures
  • Smooth performance: Hardware-accelerated rendering
  • Canvas fallback: Automatic fallback for compatibility

Terminal Themes

Choose from 32 built-in themes:

  • Dark themes: Optimized for low-light environments
  • Light themes: For bright workspaces
  • Popular themes: Dracula, Monokai, Solarized, Nord, One Dark, etc.
  • Custom colors: Each theme carefully crafted for readability
  • Live preview: See theme changes instantly
  • Per-terminal themes: Different themes for different terminals (future)

Advanced Features

  • Scrollback buffer: Configurable history (default: 10,000 lines)
  • Search in terminal: Find text in terminal output (Ctrl/Cmd + F)
  • Web links detection: Click URLs to open in browser
  • Bell sound: Audio notification on terminal bell
  • Terminal cache: Restore terminal state on app restart
  • Copy on select: Automatically copy selected text
  • Right-click paste: Quick paste with right-click

Opening a Terminal

From Dashboard

Method 1: Click Host

  • Simply click on any host card
  • A new terminal tab opens automatically
  • Connection initiates immediately

Method 2: Right-click Menu

  1. Right-click on host
  2. Select "New Terminal"
  3. Terminal opens in new tab

Method 3: Keyboard Shortcut

  • Select a host
  • Press Ctrl/Cmd + T
  • Terminal opens instantly

Multiple Terminals

You can open multiple terminal sessions to the same host:

  • Each tab creates a separate SSH session
  • Sessions are independent
  • Closing one tab doesn't affect others

Example Use Case:

Tab 1: Monitor logs (tail -f /var/log/syslog)
Tab 2: Edit configuration files
Tab 3: Run application server

Terminal Interface

Layout

┌─────────────────────────────────────────────────────┐
│ [Tab: Production Server] [Tab: Dev Server] [+] │
├─────────────────────────────────────────────────────┤
│ user@server:~$ │
│ │
│ Terminal output appears here... │
│ │
│ │
│ │
│ │
├─────────────────────────────────────────────────────┤
│ [Status: Connected | Latency: 45ms | ↓ 1.2KB/s] │
└─────────────────────────────────────────────────────┘

Status Bar

Shows real-time information:

  • Connection Status: Connected, Disconnected, Reconnecting
  • Network Latency: Round-trip time in milliseconds
  • Data Transfer: Upload/download speeds
  • Session Duration: How long you've been connected

Basic Operations

Copy & Paste

Copy Text

Mouse:

  1. Select text with mouse
  2. Right-click → "Copy"
  3. Or use keyboard shortcut

Keyboard:

  • Windows/Linux: Ctrl + Shift + C
  • macOS: Cmd + C

Auto-copy: Enable in Settings → Terminal → Auto-copy selection

Paste Text

Mouse:

  1. Right-click → "Paste"

Keyboard:

  • Windows/Linux: Ctrl + Shift + V
  • macOS: Cmd + V

Middle-click Paste:

  • Select text anywhere
  • Middle-click in terminal to paste (Linux/Windows)

Find Text

Search for text in terminal output:

  1. Press Ctrl/Cmd + F
  2. Enter search term
  3. Use arrows to navigate results
  4. Press Esc to close

Features:

  • Case-sensitive option
  • Regex support
  • Highlight all matches
  • Navigate with Enter/Shift+Enter

Clear Screen

Method 1: Keyboard

  • Press Ctrl + L

Method 2: Command

clear

Method 3: Context Menu

  • Right-click → "Clear Terminal"

Select All

Select all terminal content:

  • Ctrl/Cmd + A
  • Right-click → "Select All"

Working with Tabs

Create New Tab

For Same Host:

  • Click [+] button
  • Or press Ctrl/Cmd + T
  • New session to current host

For Different Host:

  • Click host in dashboard
  • New tab opens automatically

Switch Between Tabs

Keyboard:

  • Ctrl/Cmd + Tab - Next tab
  • Ctrl/Cmd + Shift + Tab - Previous tab
  • Ctrl/Cmd + 1-9 - Jump to specific tab

Mouse:

  • Click on tab
  • Scroll on tab bar (if many tabs)

Rename Tab

  1. Right-click on tab
  2. Select "Rename Tab"
  3. Enter new name
  4. Press Enter

Tip: Rename tabs to remember their purpose:

"Logs Monitor"
"Config Edit"
"Application"

Close Tab

Mouse:

  • Click X on tab
  • Or right-click → "Close Tab"

Keyboard:

  • Ctrl/Cmd + W

Warning: Closing tab disconnects the SSH session.

Reorder Tabs

Drag & Drop:

  1. Click and hold tab
  2. Drag to new position
  3. Release to drop

Useful for: Organizing related sessions together

Terminal Features

Command History

Navigate through previous commands:

  • (Up Arrow) - Previous command
  • (Down Arrow) - Next command
  • Ctrl + R - Reverse search history

Server-side History: Commands are stored on the server in ~/.bash_history

Auto-completion

Tab completion for commands and paths:

# Type partial command
cd /var/lo[TAB]

# Becomes
cd /var/log/

# Type partial filename
cat ~/.bash[TAB][TAB]

# Shows options
.bash_history .bash_logout .bash_profile .bashrc

Scrollback Buffer

Review previous output:

  • Scroll with mouse wheel
  • Page Up/Down keys
  • Shift + Page Up/Down - Scroll faster

Buffer Size:

  • Default: 1000 lines
  • Configurable in Settings → Terminal
  • Range: 100 - 10,000 lines

Unicode Support

Full UTF-8 support for:

  • International characters
  • Emojis 😀
  • Special symbols ★ ☆ ✓ ✗
  • Box drawing characters

Advanced Terminal Operations

Split View (Coming Soon)

Split terminal horizontally or vertically:

  • Work on multiple tasks side-by-side
  • Compare outputs
  • Monitor multiple logs

Session Recording

Record terminal sessions for:

  • Training purposes
  • Troubleshooting documentation
  • Compliance auditing

Controls:

  • Ctrl + Shift + R - Start/Stop recording
  • Recordings saved to ~/Documents/Xermius/Recordings/

Custom Prompts

Xermius preserves your custom shell prompts:

# Bash
export PS1='\[\e[0;32m\]\u@\h:\w\$\[\e[0m\] '

# Zsh
PROMPT='%F{green}%n@%m:%~%f$ '

# Fish
function fish_prompt
echo (set_color green)(whoami)@(hostname):(pwd) '$' (set_color normal)
end

Terminal Shortcuts

Essential Shortcuts

ActionWindows/LinuxmacOS
CopyCtrl + Shift + CCmd + C
PasteCtrl + Shift + VCmd + V
FindCtrl + FCmd + F
New TabCtrl + TCmd + T
Close TabCtrl + WCmd + W
Clear ScreenCtrl + LCtrl + L
Select AllCtrl + ACmd + A

Shell Shortcuts

These work in most Unix shells:

ShortcutAction
Ctrl + CInterrupt current command
Ctrl + DExit shell (logout)
Ctrl + ZSuspend current process
Ctrl + AMove to beginning of line
Ctrl + EMove to end of line
Ctrl + KDelete to end of line
Ctrl + UDelete to beginning of line
Ctrl + WDelete previous word
Ctrl + RSearch command history
Ctrl + LClear screen

Troubleshooting

Terminal Not Responding

Symptom: Commands don't execute, no prompt

Causes & Solutions:

  1. Process Hanging:

    # Press Ctrl+C to interrupt
    # Or Ctrl+Z to suspend
  2. Connection Lost:

    • Check status bar for "Disconnected"
    • Close tab and reconnect
  3. Output Paused:

    # Press Ctrl+Q to resume (if accidentally pressed Ctrl+S)

Garbled Text / Weird Characters

Cause: Terminal encoding mismatch

Solution:

  1. Settings → Terminal
  2. Set encoding to UTF-8
  3. On server, check echo $LANG
  4. Should be en_US.UTF-8 or similar

Colors Not Working

Cause: Terminal type not set correctly

Solution:

# Check current TERM
echo $TERM

# Should be: xterm-256color

# If not, set it
export TERM=xterm-256color

# Add to ~/.bashrc to persist
echo 'export TERM=xterm-256color' >> ~/.bashrc

Copy/Paste Not Working

Windows:

  1. Check if terminal has focus
  2. Try right-click menu instead of keyboard
  3. Check Settings → Terminal → Enable copy/paste

macOS:

  1. Use Cmd (not Ctrl)
  2. Enable in Security & Privacy → Accessibility

Tab Key Not Working

Cause: Auto-completion disabled

Solution:

# In bash
set show-all-if-ambiguous on

# In zsh
autoload -U compinit && compinit

Tips & Best Practices

1. Use Screen or Tmux

For long-running tasks, use terminal multiplexers:

# Install screen
sudo apt install screen # Ubuntu/Debian
sudo yum install screen # CentOS/RHEL

# Start screen session
screen -S mysession

# Detach: Ctrl+A, then D
# Reattach: screen -r mysession

# Or use tmux
sudo apt install tmux
tmux new -s mysession
# Detach: Ctrl+B, then D
# Reattach: tmux attach -t mysession

Benefits:

  • Sessions survive disconnections
  • Can detach and reattach anytime
  • Split screen functionality

2. Customize Your Shell

Make your terminal experience better:

# Add useful aliases
alias ll='ls -lah'
alias gs='git status'
alias gp='git pull'

# Add to ~/.bashrc or ~/.zshrc
echo "alias ll='ls -lah'" >> ~/.bashrc

3. Enable Syntax Highlighting

For better readability:

# Install for Bash
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc

4. Use History Effectively

# Search history
Ctrl + R, type search term

# Repeat last command
!!

# Repeat last command with sudo
sudo !!

# Repeat command #123
!123

# Repeat last command starting with "git"
!git

5. Learn Essential Commands

Master these for productivity:

# File operations
ls, cd, pwd, mkdir, rm, cp, mv, touch

# Text viewing/editing
cat, less, nano, vim, head, tail

# File search
find, locate, grep

# System info
top, htop, df, du, free, ps

# Network
ping, netstat, ss, curl, wget

# Package management
apt, yum, dnf # Depends on distro

Next Steps