shipfastlabs/terminal-detector 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

shipfastlabs/terminal-detector

最新稳定版本:v1.0.0

Composer 安装命令:

composer require shipfastlabs/terminal-detector

包简介

Detects which terminal emulator is running the current PHP process

README 文档

README

Terminal Detector

GitHub Workflow Status (master) Total Downloads Latest Version License

Terminal Detector

Detects which terminal emulator is running the current PHP process.

Requires PHP 8.2+

Installation

composer require shipfastlabs/terminal-detector

Usage

use TerminalDetector\TerminalDetector;

$result = TerminalDetector::detect();

if ($result->detected) {
    echo "Running inside: {$result->name}";
}

// Check for a specific known terminal
if ($result->knownTerminal() === \TerminalDetector\KnownTerminal::Ghostty) {
    echo "Hello from Ghostty!";
}

Or use the standalone function:

use function TerminalDetector\detectTerminal;

$result = detectTerminal();

Result Properties

$result->detected;        // true / false
$result->name;            // e.g. 'iterm2', 'ghostty', 'vscode'
$result->version;         // e.g. '3.5.0' (from TERM_PROGRAM_VERSION)
$result->knownTerminal(); // KnownTerminal enum or null

Known Terminals

The KnownTerminal enum provides type-safe identifiers for all supported terminals:

Enum Case Value
KnownTerminal::ITerm2 iterm2
KnownTerminal::AppleTerminal apple-terminal
KnownTerminal::VSCode vscode
KnownTerminal::Hyper hyper
KnownTerminal::WarpTerminal warp
KnownTerminal::WezTerm wezterm
KnownTerminal::Kitty kitty
KnownTerminal::Alacritty alacritty
KnownTerminal::Ghostty ghostty
KnownTerminal::WindowsTerminal windows-terminal
KnownTerminal::JetBrains jetbrains
KnownTerminal::Konsole konsole
KnownTerminal::GnomeTerminal gnome-terminal
KnownTerminal::Tilix tilix
KnownTerminal::Tabby tabby
KnownTerminal::Rio rio
KnownTerminal::Tmux tmux
KnownTerminal::Zellij zellij
KnownTerminal::Screen screen
KnownTerminal::SSHSession ssh
KnownTerminal::Xterm xterm

Supported Terminals

Terminal Detection Method
iTerm2 TERM_PROGRAM
Apple Terminal TERM_PROGRAM
VS Code TERM_PROGRAM
Hyper TERM_PROGRAM
Warp TERM_PROGRAM
WezTerm TERM_PROGRAM
Rio TERM_PROGRAM
Kitty KITTY_WINDOW_ID / TERM
Ghostty GHOSTTY_RESOURCES_DIR / TERM
Windows Terminal WT_SESSION
JetBrains TERMINAL_EMULATOR
Konsole KONSOLE_DBUS_SESSION / KONSOLE_VERSION
Tilix TILIX_ID
GNOME Terminal GNOME_TERMINAL_SCREEN / VTE_VERSION
Tabby TABBY_CONFIG_DIRECTORY
Alacritty TERM
Xterm TERM
tmux TMUX
Zellij ZELLIJ
Screen STY
SSH SSH_CONNECTION / SSH_CLIENT

Custom Override

Set the TERMINAL_DETECTOR environment variable to force a specific terminal name:

TERMINAL_DETECTOR=my-terminal php script.php

License

Terminal Detector is open-sourced software licensed under the MIT license.

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-05