# vTerminal **Repository Path**: galaxy_0/v-terminal ## Basic Information - **Project Name**: vTerminal - **Description**: 在fqterm的基础上的SSH,telnet远程虚拟终端软件。修复了zmodem的若干问题,移除了BBS的功能 - **Primary Language**: C++ - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 3 - **Created**: 2023-04-18 - **Last Updated**: 2024-12-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 简介 SSH,telnet远程虚拟终端软件。在FQTerm的基础上修复了zmodem的若干问题,移除了BBS的功能,支持了更新版本的openssl3.另外支持了QT5 ## FQTerm FQTerm是为Telnet BBS设计的终端模拟器(俗称Term),支持Telnet,SSH协议。 本项目源自QTerm-Qt3,从2008年起,由Curvlet和dp2重写并移植至Qt4. 现在FQTerm的原开发组成员已经停止了该项目的维护 ## 安装 然后开始编译: ``` # 假设FQTerm源码目录为fqterm mkdir build cd build cmake ../fqterm make # 以root身份安装,以下用sudo获取root权限 sudo make install ``` 在 macOS (Sierra) 中编译,利用 HomeBrew 安装依赖。目前支持并不完善。 ```shell brew install openssl qt5 mkdir build cd build CMAKE_PREFIX_PATH=/usr/local/opt/qt5/lib/cmake \ OPENSSL_ROOT_DIR=/usr/local/opt/openssl \ cmake ../fqterm make make install ``` ## Windows版本 - 在Linux下用MXE交叉编译,运行时错误,可能原因是MXE的Qt缺少语言Codec - MinGW: 发布的Windows二进制包是在Windows 7下用MinGW编译的(静态连接的OpenSSL,Qt4,TDM GCC,构建方式请见项目wiki),编译方法如下 ``` REM 假设源码在C:\fqterm, OpenSSL在C:\openssl, Qt在C:\Qt\4.8.6.static mkdir build cd build cmake -G "MinGW Makefiles" -DOPENSSL_ROOT_DIR=C:\openssl -DCMAKE_CXX_FLAGS=-mwindows -DCMAKE_BUILD_TYPE=Release -DQT_QMAKE_EXECUTABLE=C:\Qt\4.8.6.static\bin\qmake.exe C:\fqterm mingw32-make REM 生成的fqterm.exe即为程序文件 ``` - MSVC: 经过测试可以使用MSVC2019,Qt5.15.2编译,方法如下 ``` REM 假设Qt安装在C:\Qt目录 mkdir build cd build cmake.exe -DCMAKE_BUILD_TYPE=RelWithDebInfo -G"NMake Makefiles" -DCMAKE_PREFIX_PATH=C:\qt\5.15.2\msvc2019_64 -DOPENSSL_ROOT_DIR=C:\Qt\Tools\OpenSSL\Win_x64 C:\fqterm nmake ``` 也可以使用JOM加快编译速度 ``` REM 假设Qt安装在C:\Qt目录 mkdir build cd build cmake.exe -DCMAKE_BUILD_TYPE=RelWithDebInfo -G"NMake Makefiles JOM" -DCMAKE_PREFIX_PATH=C:\qt\5.15.2\msvc2019_64 -DOPENSSL_ROOT_DIR=C:\Qt\Tools\OpenSSL\Win_x64 -DCMAKE_MAKE_PROGRAM=C:\Qt\Tools\QtCreator\bin\jom\jom.exe C:\fqterm jom ``` ## TODO 以下是FQTerm日后需要改进和修复的地方,希望大家参与开发。 - SSH: 建议使用系统的ssh,可参考 [doc/SSH.md](doc/SSH.md). 自带的SSH实现正在重构。 - 改善终端渲染 - 使用矢量UI - ~~Bug: Qt5分支中Ctrl按键异常 (暂时使用Mac OS的处理方法解决)~~ - ~~Maybe something wrong with imageviewer (Qt5)~~ 准备删除imageviewer功能 - 考虑代码重构 - Bug: 处理不完整GBK字符时存在一些异常,特别是在Qt5分支