不喜欢Putty的ANSI Blue

本文分享了如何修改Putty SSH客户端的ANSIBlue颜色,以获得更符合个人喜好的显示效果,并通过简单的步骤实现自定义版本的构建。

Putty是深受大家喜欢的SSH client (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)。

用过的朋友都知道,putty默认的"ANSI Blue"实在是太暗了(比如下面的目录名的显示)。




所以,很多人找到了设置这个颜色地方,改成自己喜欢的颜色。 



可是这样每次建一个新的站点都需要设置一下,实在有点不爽。今天有空,到putty站点把putty的源代码down了下来,把这个颜色改成了自己喜欢的颜色,build了一个自己的版本,过程比我想象的要顺利得多,一共也就10来分钟(比写这个帖子的时间要短多了),下面分享一下步骤。

1. 下载源代码并解压。http://the.earth.li/~sgtatham/putty/latest/putty-src.zip

2.  用Visual Studio打开 .\WINDOWS\MSVC\PUTTY.DSW, 如果是较新的版本的Visual Studio, 打开时会提示把项目相关文件转换成新的格式,当然选择yes.

3. 在Visual Studio中会开到一系列的project,单独build putty这个project。 注意,在Visual Studio中,右键点击Putty project -> properties -> Configuration Properties -> Preprocessor -> Preprocesstor Definitions 中加入 SECURITY_WIN32, 否则会出现编译错误。



4. 通过搜索 "ANSI Blue",很快找到,它的默认值是在 .\settings.c 中数组 defaults[] 定义的 ( line 810)。 我把原来的值 “0,0,187”改成了我喜欢的"0,107,187"。

Build, 运行,就看到了我喜欢的颜色默认值。



再次感叹一下open source给大家带来的便利,谢谢作者 Simon Tatham的无私分享。






在使用 PuTTY 进行 SSH 连接时,如果终端显示输入内容或连接后没有响应,可能涉及多个层面的问题,包括客户端配置、服务器端设置、网络连接状态等。以下是一些常见的排查和解决方法: ### 1. 检查 PuTTY 配置 - **回显设置**:确保在 PuTTY 的配置中启用了本地回显(Local Echo)。路径为:`Connection > SSH > TTY`,勾选 `Attempt to use XON/XOFF flow control for local echo` 或 `Local echo of terminal input` 选项[^1]。 - **终端类型设置**:在 `Connection > Data` 中设置合适的终端类型(Terminal-type string),例如 `xterm` 或 `vt100`。 ### 2. 检查服务器端响应 - **登录后无响应**:如果连接成功但终端无任何输出,可能是由于服务器端的 shell 配置问题。尝试使用其他客户端(如 OpenSSH)进行连接,以确认是否为 PuTTY 特有的问题。 - **检查 `.bashrc` 或 `.profile`**:某些情况下,用户的 shell 初始化脚本可能输出了可见字符或进入了死循环,导致终端无法正常显示内容。可以尝试通过修改 `~/.bashrc` 或 `~/.profile` 文件,暂时注释掉所有输出语句进行排查。 ### 3. 网络连接稳定性 - **连接状态稳定**:如果网络连接稳定,可能导致 SSH 会话中断或响应迟缓。可检查 `Connection > Seconds between keepalives` 设置,建议设为 60 秒,防止连接因超时而断开。 - **启用 TCP KeepAlive**:在 PuTTY 的 `Connection` 设置中启用 `Enable TCP keepalives`,有助于维持连接活跃状态。 ### 4. 使用日志和调试信息 - **启用 PuTTY 日志记录**:在 `Session > Logging` 中启用日志记录,选择 `All session output`,保存日志后可分析连接过程中是否有异常输出。 - **查看服务器端日志**:在服务器端检查 `/var/log/secure` 或 `/var/log/auth.log`,查看 SSH 登录过程是否有异常记录。 ### 5. 替代方案与测试 - **使用 OpenSSH 客户端**:在 Windows 上可使用 OpenSSH 客户端(如 Git Bash 或 WSL)测试连接,确认是否为 PuTTY 的特定问题。 - **更换 PuTTY 版本**:尝试使用同版本的 PuTTY,或使用其衍生版本(如 KiTTY 或 PuTTYTray),以排除软件版本缺陷的可能性。 ```bash # 示例:使用 OpenSSH 检查连接 ssh -v user@hostname ``` ### 6. 防火墙与中间设备影响 - **中间设备限制**:某些防火墙或路由器可能限制 SSH 会话的数据传输,导致终端无响应。可尝试更换网络环境进行测试。 - **MTU 设置问题**:如果网络设备的 MTU(最大传输单元)设置当,可能导致数据包被丢弃。检查并调整 MTU 值,确保一致性。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值