Skip to content

Web Terminal

Vapor provides a fully-featured web-based terminal that allows secure shell access directly from your browser. Execute commands, manage files, and administer your system without needing a separate SSH client.

Features

  • Full terminal emulation in the browser
  • Multiple concurrent sessions
  • Session persistence and recovery
  • Copy/paste support
  • Customizable appearance
  • File upload/download
  • Session recording and playback

Prerequisites

  • Valid Vapor user account
  • Appropriate shell access permissions
  • WebSocket support in browser
  • System shell (bash, zsh, sh) installed

Accessing the Terminal

Opening Terminal

  1. From the main menu, click on Terminal
  2. Or use the keyboard shortcut Ctrl+`` (backtick)
  3. Terminal opens in a new tab or drawer

Quick Access

  • Click the terminal icon in the top toolbar
  • Right-click on any server/container for "Open Terminal"
  • Use command palette: Ctrl+Shift+P → "Open Terminal"

Terminal Interface

Main Components

  • Terminal Window: Main shell interface
  • Tab Bar: Multiple terminal sessions
  • Toolbar: Terminal controls and options
  • Status Bar: Connection status and session info

Terminal Controls

Toolbar Buttons

  • New Tab: Open additional terminal session
  • Split: Split terminal horizontally/vertically
  • Full Screen: Maximize terminal view
  • Settings: Configure terminal preferences
  • Upload: Upload files to current directory
  • Download: Download files from server
  • Record: Start/stop session recording
  • Clear: Clear terminal screen

Keyboard Shortcuts

  • Ctrl+Shift+T: New terminal tab
  • Ctrl+Shift+W: Close current tab
  • Ctrl+Shift+C: Copy selected text
  • Ctrl+Shift+V: Paste clipboard content
  • Ctrl+D: Close terminal session
  • Ctrl+L: Clear screen
  • Ctrl+Plus/Minus: Zoom in/out
  • Alt+Number: Switch to tab number

Session Management

Creating Sessions

Each terminal session runs as the authenticated user:

  1. Authentication verified via JWT token
  2. Shell spawned with user privileges
  3. Session ID assigned for tracking
  4. WebSocket connection established

Multiple Sessions

Open multiple terminal sessions:

  • Each tab is an independent session
  • Sessions run in parallel
  • Switch between tabs seamlessly
  • Close individual sessions without affecting others

Session Persistence

Terminal sessions can persist across browser refreshes:

  1. Enable Persistent Sessions in settings
  2. Sessions remain active on server
  3. Reconnect automatically on return
  4. Resume exactly where you left off

Session Recovery

If connection is lost:

  1. Vapor attempts automatic reconnection
  2. Session state preserved on server
  3. Command history maintained
  4. Running processes continue

Terminal Features

Copy and Paste

Copying Text

  • Mouse Selection: Click and drag to select
  • Keyboard: Ctrl+Shift+C to copy
  • Right-Click: Context menu → Copy
  • Touch: Long press and select on mobile

Pasting Text

  • Keyboard: Ctrl+Shift+V
  • Right-Click: Context menu → Paste
  • Middle Click: Paste selection (Linux)
  • Browser Paste: Ctrl+V may work

Command History

Navigate command history:

  • Up/Down Arrows: Previous/next command
  • Ctrl+R: Reverse search history
  • !!: Repeat last command
  • !n: Execute command number n
  • History saved per user session

Auto-completion

Tab completion support:

  • Tab: Complete commands/paths
  • Double Tab: Show all options
  • Works for:
    • Commands in PATH
    • File and directory names
    • Command options
    • Environment variables

File Transfer

Upload Files

  1. Click Upload button or drag files
  2. Select files to upload
  3. Files uploaded to current directory
  4. Progress shown for large files
  5. Resume support for interrupted uploads

Download Files

  1. Click Download button
  2. Enter file path or browse
  3. File downloaded to browser
  4. Supports large file downloads
  5. Resume capability

Terminal Splitting

Split terminal for multiple views:

  1. Click Split button
  2. Choose horizontal or vertical split
  3. Each pane is independent
  4. Resize panes by dragging divider
  5. Close individual panes

Customization

Appearance Settings

Configure terminal appearance:

Theme

  • Dark Theme: Default dark background
  • Light Theme: Light background
  • High Contrast: Enhanced visibility
  • Custom Theme: Define your own colors

Font Settings

  • Font Family: Choose monospace font
  • Font Size: Adjust text size
  • Line Height: Spacing between lines
  • Font Weight: Regular, bold options

Colors

  • Foreground: Text color
  • Background: Terminal background
  • Cursor: Cursor color and style
  • Selection: Highlight color
  • ANSI Colors: 16-color palette

Behavior Settings

Configure terminal behavior:

Scrolling

  • Scrollback Lines: History buffer size
  • Smooth Scrolling: Enable/disable
  • Scroll on Output: Auto-scroll on new output
  • Scroll on Input: Scroll to bottom on typing

Bell

  • Audible Bell: Sound alert
  • Visual Bell: Flash screen
  • Bell Style: System, custom sound

Cursor

  • Cursor Style: Block, underline, bar
  • Blinking Cursor: Enable/disable
  • Cursor Blink Rate: Speed adjustment

Profile Management

Save and load terminal profiles:

  1. Configure desired settings
  2. Click Save Profile
  3. Name the profile
  4. Load profiles from dropdown
  5. Set default profile

Advanced Features

Session Recording

Record terminal sessions:

  1. Click Record button
  2. Session recording starts
  3. All input/output captured
  4. Click Stop to end recording
  5. Download or playback recording

Playback Controls

For recorded sessions:

  • Play/Pause: Control playback
  • Speed: Adjust playback speed
  • Seek: Jump to specific time
  • Export: Save as video file

Multiplexing

Terminal multiplexer integration:

  • tmux Support: Attach to tmux sessions
  • screen Support: Connect to GNU screen
  • Session Sharing: Multiple users can view
  • Detach/Reattach: Persistent sessions

SSH Tunneling

Connect to remote servers:

  1. Use SSH command within terminal
  2. SSH agent forwarding supported
  3. Key-based authentication
  4. ProxyJump support
  5. Port forwarding available

Security Features

Authentication

  • JWT token required for access
  • Session tied to authenticated user
  • Automatic logout on token expiry
  • Re-authentication for expired sessions

Encryption

  • WebSocket over TLS (WSS)
  • End-to-end encryption available
  • No plain-text transmission
  • Certificate validation

Audit Logging

All terminal sessions logged:

  • User identification
  • Session start/end times
  • Commands executed (optional)
  • IP address tracking
  • Audit trail maintained

Access Control

  • User-based permissions
  • Shell restrictions per user
  • Command filtering available
  • Resource limits enforced

Container and VM Terminals

Docker Container Access

  1. Navigate to Docker container
  2. Click Terminal button
  3. Executes docker exec -it
  4. Interactive shell in container

Kubernetes Pod Access

  1. Select Kubernetes pod
  2. Click Terminal
  3. Choose container if multiple
  4. Opens kubectl exec session

Virtual Machine Console

  1. Select VM in Virtualization
  2. Click Console
  3. Choose VNC or Serial console
  4. Direct VM access

Troubleshooting

Connection Issues

Terminal Won't Connect

  • Check WebSocket support in browser
  • Verify firewall allows WebSocket
  • Ensure authentication is valid
  • Check server logs for errors

Connection Drops

  • Check network stability
  • Increase timeout settings
  • Enable connection keep-alive
  • Review proxy/firewall settings

Display Problems

Garbled Characters

  • Check terminal encoding (UTF-8)
  • Verify locale settings
  • Try different terminal type
  • Adjust font settings

Resize Issues

  • Manually trigger resize
  • Check browser zoom level
  • Try different terminal emulator
  • Verify TERM environment variable

Performance Issues

Slow Response

  • Check network latency
  • Reduce scrollback buffer
  • Disable smooth scrolling
  • Close unused sessions

High CPU Usage

  • Limit terminal output rate
  • Reduce animation effects
  • Close background tabs
  • Check for runaway processes

Best Practices

Security

  1. Logout When Done: Don't leave sessions open
  2. Use Strong Passwords: Protect your account
  3. Avoid Sensitive Data: Be careful with passwords
  4. Check URLs: Ensure HTTPS connection
  5. Regular Updates: Keep browser updated

Productivity

  1. Use Shortcuts: Learn keyboard shortcuts
  2. Multiple Tabs: Organize work in tabs
  3. Save Profiles: Create profiles for different tasks
  4. Session Names: Name tabs descriptively
  5. Command Aliases: Create shortcuts for common commands

Resource Management

  1. Close Unused Tabs: Free up resources
  2. Limit Scrollback: Reduce memory usage
  3. Disconnect Idle: Set idle timeout
  4. Monitor Usage: Check resource consumption
  5. Clean Up: Remove old recordings

Terminal Commands Reference

bash
cd /path       # Change directory
ls -la         # List files
pwd            # Print working directory
tree           # Directory tree view

File Operations

bash
cp source dest # Copy files
mv old new     # Move/rename
rm file        # Delete file
mkdir dir      # Create directory

Process Management

bash
ps aux         # List processes
top            # Process monitor
kill PID       # Terminate process
jobs           # List jobs

Network

bash
ip addr        # Network interfaces
ss -tulpn      # Network connections
ping host      # Test connectivity
curl URL       # HTTP requests

Dibuat dengan semangat gotong royong demi kemajuan bangsa 🇮🇩