# Qelecterm **Repository Path**: freeorsky/Qelecterm ## Basic Information - **Project Name**: Qelecterm - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-16 - **Last Updated**: 2026-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Qelecterm 一款仿 [electerm](https://github.com/electerm/electerm) 的 Qt6 多协议终端客户端,支持 SSH、SFTP、Telnet、串口通信和本地终端。 ![Qt](https://img.shields.io/badge/Qt-6.x-green.svg) ![Platform](https://img.shields.io/badge/Platform-Windows%20|%20Linux%20|%20macOS-blue.svg) ![License](https://img.shields.io/badge/License-MIT-yellow.svg) ## 下载 **最新版本**: v1.0.0 - [Qelecterm-v1.0.0-win64.zip](https://gitee.com/freeorsky/Qelecterm/releases/download/v1.0.0/Qelecterm-v1.0.0-win64.zip) - Windows 64位绿色版 > 下载后解压即可使用,无需安装 ## 功能特性 ### 多协议支持 - **SSH 远程连接** - 支持密码和私钥认证 - **SFTP 文件传输** - SSH 连接时自动启用,支持文件上传下载 - **Telnet 连接** - 支持 Telnet 协议连接 - **串口通信** - 支持标准串口参数配置 - **本地终端** - Windows 下使用 ConPTY API ### 界面特性 - **多标签页管理** - 支持标签页的创建、关闭、重命名、复制 - **侧边栏管理** - 书签管理、快速命令、历史记录 - **分屏功能** - 支持水平和垂直分屏 - **主题切换** - 深色/浅色主题支持 - **中英文切换** - 实时界面语言切换 ### 终端功能 - **VT100 终端仿真** - 支持常用转义序列 - **文本选择复制** - 鼠标选择和键盘快捷键 - **回滚缓冲** - 可配置的滚动行数 - **查找功能** - 终端文本搜索 ## 截图 ![Qelecterm 欢迎页面](docs/screenshot.png) 软件启动时显示欢迎页面,提供快速连接入口: - 本地终端 - SSH 连接 - 串口 - Telnet ## 编译要求 - **Qt 6.x**(需要以下模块) - Qt Core - Qt Gui - Qt Widgets - Qt Network - Qt SerialPort - Qt LinguistTools - **CMake 3.16+** - **C++17 编译器**(GCC/Clang/MinGW) ## 编译步骤 ### Windows 编译 ```bash # 克隆仓库 git clone https://gitee.com/freeorsky/Qelecterm.git cd Qelecterm # 创建构建目录 mkdir build && cd build # 配置(Windows + MinGW 示例) cmake .. -G "Ninja" -DCMAKE_PREFIX_PATH="E:/Qt/6.x.x/mingw_64" # 编译 ninja # 运行 ./Qelecterm.exe ``` ### Linux 编译 ```bash # 克隆仓库 git clone https://gitee.com/freeorsky/Qelecterm.git cd Qelecterm # 安装依赖(Ubuntu/Debian 示例) sudo apt-get install qt6-base-dev cmake build-essential libqt6serialport6-dev qt6-tools-dev # 创建构建目录 mkdir build && cd build # 配置并编译 cmake .. -G "Unix Makefiles" make -j$(nproc) # 运行 ./Qelecterm ``` ### Linux 运行 有两种方式可以在Linux上运行Qelecterm: 1. 直接运行编译后的二进制文件:`./build/Qelecterm` 2. 使用提供的运行脚本:`./run_linux.sh` ## 项目结构 ``` Qelecterm/ ├── src/ │ ├── main.cpp # 程序入口 │ ├── mainwindow.cpp/h # 主窗口 │ ├── core/ # 核心管理器 │ │ ├── sessionmanager # 会话管理 │ │ ├── bookmarkmanager # 书签管理 │ │ └── settingsmanager # 设置管理 │ ├── terminal/ # 终端组件 │ │ ├── terminalwidget # 终端控件 │ │ └── terminalemulator # 终端仿真器 │ ├── connections/ # 连接协议 │ │ ├── connectionbase # 连接基类 │ │ ├── sshconnection # SSH 连接 │ │ ├── sftpconnection # SFTP 连接 │ │ ├── telnetconnection # Telnet 连接 │ │ ├── serialconnection # 串口连接 │ │ └── localconnection # 本地终端 │ ├── widgets/ # UI组件 │ │ ├── tabwidget # 标签页组件 │ │ ├── sidebar # 侧边栏组件 │ │ ├── splitview # 分屏组件 │ │ ├── sshsessionwidget # SSH 会话组件(含 SFTP) │ │ ├── connectiondialog # 连接对话框 │ │ ├── settingsdialog # 设置对话框 │ │ └── filemanager # 文件管理器 │ └── utils/ # 工具类 │ ├── confighelper # 配置帮助类 │ └── logger # 日志类 ├── resources/ │ ├── icons/ # 应用图标 │ ├── themes/ # 主题样式表 │ │ ├── dark.qss │ │ └── light.qss │ └── translations/ # 翻译文件 │ └── qelecterm_zh_CN.ts ├── CMakeLists.txt ├── app.rc # Windows 资源文件 └── README.md ``` ## 核心模块说明 ### 会话管理 (SessionManager) 管理所有终端会话的创建、销毁和状态跟踪。 ### 书签管理 (BookmarkManager) 支持书签订阅、分组管理、快速命令的添加和执行,支持导入导出。 ### 设置管理 (SettingsManager) 统一管理应用设置,包括终端字体、颜色、主题、语言等配置。 ### 终端仿真器 (TerminalEmulator) 实现 VT100 终端仿真,支持转义序列处理、光标控制、文本属性等。 ### 连接模块 - **SSHConnection**: 使用系统 OpenSSH 客户端 - **LocalConnection**: Windows 下使用 ConPTY API,Linux/macOS 下使用系统 shell - **SerialConnection**: 串口通信支持 - **TelnetConnection**: Telnet 协议支持 - **SFTPConnection**: SFTP 文件传输 ## 依赖说明 - **SSH/SFTP 功能**: 依赖系统 OpenSSH 客户端 - **Windows 本地终端**: 使用 ConPTY API - **串口通信**: 使用 Qt SerialPort 模块 ## 许可证 本项目基于 MIT 许可证开源。 ## 致谢 - 灵感来源:[electerm](https://github.com/electerm/electerm) - 基于 Qt 框架开发