shipfastlabs/terminal-detector
Composer 安装命令:
composer require shipfastlabs/terminal-detector
包简介
Detects which terminal emulator is running the current PHP process
README 文档
README
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.
shipfastlabs/terminal-detector 适用场景与选型建议
shipfastlabs/terminal-detector 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 3, 最近一次更新时间为 2026 年 03 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「cli」 「terminal」 「detector」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 shipfastlabs/terminal-detector 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 shipfastlabs/terminal-detector 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 shipfastlabs/terminal-detector 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A fork of runcmf/runtracy
PHP Terminal emulator controller utilizing ANSI escape sequence coding.
Render small SVG icons to monochrome ANSI for terminal UIs (Laravel/Prompts, Symfony Console, plain CLI).
2020 PHP: A showcase and classroom for the cutting edge features of PHP 8
use laravel eloquent, view, pagination anywhere
Slim starter / Slim skeleton package to boost your development with Slim framework
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 46
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-05
