PuTTY 是一款轻量级的终端模拟器,但其默认配色方案存在可读性差、视觉疲劳等问题。通过修改注册表,我们可以优化其配色界面,使终端更美观、易读。
1️⃣ PuTTY 是什么?
PuTTY 是由 Simon Tatham 开发的一款开源终端模拟器,支持 SSH、Telnet、rlogin、Serial 等协议。它广泛用于远程连接 Linux/Unix 服务器,因其体积小、无需安装、启动快而深受开发者和系统管理员喜爱。
主要功能包括:
-
SSH/Telnet 远程连接
-
支持密钥认证
-
会话保存与管理
-
可配置字体、颜色、窗口行为等
2️⃣ PuTTY 默认配色方案存在的问题
PuTTY 默认使用黑底白字,其他颜色如蓝色、绿色、红色等在深色背景下对比度不足,尤其在使用 Vim 编辑器或查看目录时,部分文字几乎不可读。
常见问题包括:
-
蓝色文字在黑底上几乎看不清
-
高亮颜色过于刺眼或对比度不足
-
长时间使用易造成视觉疲劳
-
无法区分不同类型文件或语法高亮
3️⃣ 如何通过注册表修改 PuTTY 配色方案
PuTTY 会话配置保存在注册表路径:
Code
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\
每个会话对应一个子项,颜色配置项为 Colour0 到 Colour21,格式为 RGB 值。
修改步骤:
-
打开注册表编辑器:
Win + R→ 输入regedit→ 回车 -
定位到上述路径,找到目标会话(如
Default%20Settings) -
导出该项为
.reg文件 -
使用文本编辑器修改颜色项,例如:
reg
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Default%20Settings]
"Colour0"="217,216,216" ; 前景色
"Colour2"="28,28,28" ; 背景色
"Colour4"="0,0,0" ; 黑色
"Colour5"="0,255,0" ; 绿色
"Colour8"="187,0,0" ; 红色
"Colour10"="152,251,152" ; 浅绿色
"Colour15"="135,206,235" ; 天蓝色
-
保存并双击导入注册表
-
重启 PuTTY 即可生效
4️⃣ 优化后的 PuTTY 配色界面
优化后的界面通常采用:
-
深灰背景 + 浅灰文字:减少视觉刺激
-
高对比度语法颜色:如绿色、浅蓝、橙色等
-
柔和高亮色:避免刺眼,如使用淡黄代替亮黄
效果如下:
-
Vim 编辑器语法清晰可辨
-
ls 命令输出的目录、文件颜色分明
-
整体界面更现代、舒适
5️⃣ 优化配色注册表文件内容
以下是优化后的注册表文件内容,将其保存为 .reg 文件,然后导入注册表,即可将putty连接远程主机的默认配置改为上述配色:
Code
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\Sessions\Default%20Settings]
"Present"=dword:00000001
"HostName"=""
"LogFileName"="putty.log"
"LogType"=dword:00000000
"LogFileClash"=dword:ffffffff
"LogFlush"=dword:00000001
"SSHLogOmitPasswords"=dword:00000001
"SSHLogOmitData"=dword:00000000
"Protocol"="ssh"
"PortNumber"=dword:00000016
"CloseOnExit"=dword:00000001
"WarnOnClose"=dword:00000001
"PingInterval"=dword:00000000
"PingIntervalSecs"=dword:00000000
"TCPNoDelay"=dword:00000001
"TCPKeepalives"=dword:00000000
"TerminalType"="xterm"
"TerminalSpeed"="38400,38400"
"TerminalModes"="CS7=A,CS8=A,DISCARD=A,DSUSP=A,ECHO=A,ECHOCTL=A,ECHOE=A,ECHOK=A,ECHOKE=A,ECHONL=A,EOF=A,EOL=A,EOL2=A,ERASE=A,FLUSH=A,ICANON=A,ICRNL=A,IEXTEN=A,IGNCR=A,IGNPAR=A,IMAXBEL=A,INLCR=A,INPCK=A,INTR=A,ISIG=A,ISTRIP=A,IUCLC=A,IUTF8=A,IXANY=A,IXOFF=A,IXON=A,KILL=A,LNEXT=A,NOFLSH=A,OCRNL=A,OLCUC=A,ONLCR=A,ONLRET=A,ONOCR=A,OPOST=A,PARENB=A,PARMRK=A,PARODD=A,PENDIN=A,QUIT=A,REPRINT=A,START=A,STATUS=A,STOP=A,SUSP=A,SWTCH=A,TOSTOP=A,WERASE=A,XCASE=A"
"AddressFamily"=dword:00000000
"ProxyExcludeList"=""
"ProxyDNS"=dword:00000001
"ProxyLocalhost"=dword:00000000
"ProxyMethod"=dword:00000000
"ProxyHost"="proxy"
"ProxyPort"=dword:00000050
"ProxyUsername"=""
"ProxyPassword"=""
"ProxyTelnetCommand"="connect %host %port\\n"
"Environment"=""
"UserName"=""
"LocalUserName"=""
"NoPTY"=dword:00000000
"Compression"=dword:00000000
"TryAgent"=dword:00000001
"AgentFwd"=dword:00000000
"ChangeUsername"=dword:00000000
"Cipher"="aes,chacha20,aesgcm,3des,WARN,des,blowfish,arcfour"
"KEX"="ntru-curve25519,ecdh,dh-gex-sha1,dh-group18-sha512,dh-group17-sha512,dh-group16-sha512,dh-group15-sha512,dh-group14-sha1,rsa,WARN,dh-group1-sha1"
"RekeyTime"=dword:0000003c
"RekeyBytes"="1G"
"SshNoAuth"=dword:00000000
"AuthTIS"=dword:00000000
"AuthKI"=dword:00000001
"SshNoShell"=dword:00000000
"SshProt"=dword:00000003
"SSH2DES"=dword:00000000
"PublicKeyFile"=""
"RemoteCommand"=""
"RFCEnviron"=dword:00000000
"PassiveTelnet"=dword:00000000
"BackspaceIsDelete"=dword:00000001
"RXVTHomeEnd"=dword:00000000
"LinuxFunctionKeys"=dword:00000000
"NoApplicationKeys"=dword:00000000
"NoApplicationCursors"=dword:00000000
"NoMouseReporting"=dword:00000000
"NoRemoteResize"=dword:00000000
"NoAltScreen"=dword:00000000
"NoRemoteWinTitle"=dword:00000000
"RemoteQTitleAction"=dword:00000001
"NoDBackspace"=dword:00000000
"NoRemoteCharset"=dword:00000000
"ApplicationCursorKeys"=dword:00000000
"ApplicationKeypad"=dword:00000000
"NetHackKeypad"=dword:00000000
"AltF4"=dword:00000001
"AltSpace"=dword:00000000
"AltOnly"=dword:00000000
"ComposeKey"=dword:00000000
"CtrlAltKeys"=dword:00000001
"TelnetKey"=dword:00000000
"TelnetRet"=dword:00000001
"LocalEcho"=dword:00000002
"LocalEdit"=dword:00000002
"Answerback"="PuTTY"
"AlwaysOnTop"=dword:00000000
"FullScreenOnAltEnter"=dword:00000000
"HideMousePtr"=dword:00000000
"SunkenEdge"=dword:00000000
"WindowBorder"=dword:00000001
"CurType"=dword:00000000
"BlinkCur"=dword:00000001
"Beep"=dword:00000001
"BeepInd"=dword:00000000
"BellWaveFile"=""
"BellOverload"=dword:00000001
"BellOverloadN"=dword:00000005
"BellOverloadT"=dword:000007d0
"BellOverloadS"=dword:00001388
"ScrollbackLines"=dword:000007d0
"DECOriginMode"=dword:00000000
"AutoWrapMode"=dword:00000001
"LFImpliesCR"=dword:00000000
"DisableArabicShaping"=dword:00000000
"DisableBidi"=dword:00000000
"WinNameAlways"=dword:00000001
"WinTitle"="lh@we.com:~"
"TermWidth"=dword:0000007e
"TermHeight"=dword:00000025
"Font"="Courier New"
"FontIsBold"=dword:00000000
"FontCharSet"=dword:00000000
"FontHeight"=dword:0000000c
"FontQuality"=dword:00000000
"FontVTMode"=dword:00000004
"UseSystemColours"=dword:00000000
"TryPalette"=dword:00000000
"ANSIColour"=dword:00000001
"Xterm256Colour"=dword:00000001
"BoldAsColour"=dword:00000001
"Colour0"="217,230,242"
"Colour1"="217,230,242"
"Colour2"="14,27,48"
"Colour3"="14,27,48"
"Colour4"="14,27,48"
"Colour5"="29,239,29"
"Colour6"="0,0,0"
"Colour7"="46,46,46"
"Colour8"="215,49,64"
"Colour9"="223,100,112"
"Colour10"="80,194,54"
"Colour11"="128,202,105"
"Colour12"="215,184,54"
"Colour13"="223,194,105"
"Colour14"="58,91,199"
"Colour15"="97,127,204"
"Colour16"="206,49,199"
"Colour17"="216,100,207"
"Colour18"="71,194,189"
"Colour19"="122,202,200"
"Colour20"="211,211,211"
"Colour21"="255,255,255"
"RawCNP"=dword:00000000
"PasteRTF"=dword:00000000
"MouseIsXterm"=dword:00000000
"RectSelect"=dword:00000000
"MouseOverride"=dword:00000001
"Wordness0"="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
"Wordness32"="0,1,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1"
"Wordness64"="1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,2"
"Wordness96"="1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1"
"Wordness128"="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
"Wordness160"="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
"Wordness192"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
"Wordness224"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
"LineCodePage"="UTF-8"
"CJKAmbigWide"=dword:00000000
"UTF8Override"=dword:00000001
"Printer"=""
"CapsLockCyr"=dword:00000000
"ScrollBar"=dword:00000001
"ScrollBarFullScreen"=dword:00000000
"ScrollOnKey"=dword:00000000
"ScrollOnDisp"=dword:00000001
"EraseToScrollback"=dword:00000001
"LockSize"=dword:00000000
"BCE"=dword:00000001
"BlinkText"=dword:00000000
"X11Forward"=dword:00000000
"X11Display"=""
"X11AuthType"=dword:00000001
"LocalPortAcceptAll"=dword:00000000
"RemotePortAcceptAll"=dword:00000000
"PortForwardings"=""
"BugIgnore1"=dword:00000000
"BugPlainPW1"=dword:00000000
"BugRSA1"=dword:00000000
"BugHMAC2"=dword:00000000
"BugDeriveKey2"=dword:00000000
"BugRSAPad2"=dword:00000000
"BugPKSessID2"=dword:00000000
"BugRekey2"=dword:00000000
"StampUtmp"=dword:00000001
"LoginShell"=dword:00000001
"ScrollbarOnLeft"=dword:00000000
"BoldFont"=""
"BoldFontIsBold"=dword:00000000
"BoldFontCharSet"=dword:00000000
"BoldFontHeight"=dword:00000000
"WideFont"=""
"WideFontIsBold"=dword:00000000
"WideFontCharSet"=dword:00000000
"WideFontHeight"=dword:00000000
"WideBoldFont"=""
"WideBoldFontIsBold"=dword:00000000
"WideBoldFontCharSet"=dword:00000000
"WideBoldFontHeight"=dword:00000000
"ShadowBold"=dword:00000000
"ShadowBoldOffset"=dword:00000001
"SerialLine"="COM1"
"SerialSpeed"=dword:00002580
"SerialDataBits"=dword:00000008
"SerialStopHalfbits"=dword:00000002
"SerialParity"=dword:00000000
"SerialFlowControl"=dword:00000001
"LogHeader"=dword:00000001
"ProxyLogToTerm"=dword:00000001
"UserNameFromEnvironment"=dword:00000000
"GssapiFwd"=dword:00000000
"HostKey"="ed448,ed25519,ecdsa,rsa,dsa,WARN"
"PreferKnownHostKeys"=dword:00000001
"GssapiRekey"=dword:00000002
"SshNoTrivialAuth"=dword:00000000
"SshBanner"=dword:00000001
"AuthGSSAPI"=dword:00000001
"AuthGSSAPIKEX"=dword:00000001
"GSSLibs"="gssapi32,sspi,custom"
"GSSCustom"=""
"LogHost"=""
"DetachedCertificate"=""
"AuthPlugin"=""
"ShiftedArrowKeys"=dword:00000000
"NoRemoteClearScroll"=dword:00000000
"CRImpliesLF"=dword:00000000
"TrueColour"=dword:00000001
"UTF8linedraw"=dword:00000000
"PasteControls"=dword:00000000
"MouseAutocopy"=dword:00000001
"MousePaste"="explicit"
"CtrlShiftIns"="explicit"
"CtrlShiftCV"="none"
"X11AuthFile"=""
"BugIgnore2"=dword:00000000
"BugMaxPkt2"=dword:00000000
"BugOldGex2"=dword:00000000
"BugWinadj"=dword:00000000
"BugChanReq"=dword:00000000
"BugDropStart"=dword:00000001
"BugFilterKexinit"=dword:00000001
"WindowClass"=""
"ConnectionSharing"=dword:00000000
"ConnectionSharingUpstream"=dword:00000001
"ConnectionSharingDownstream"=dword:00000001
"SSHManualHostKeys"=""
"SUPDUPLocation"="The Internet"
"SUPDUPCharset"=dword:00000000
"SUPDUPMoreProcessing"=dword:00000000
"SUPDUPScrolling"=dword:00000000
你可以将这些内容保存为 .reg 文件并导入,即可应用优化配色。
📌 总结:PuTTY 虽然功能强大,但默认配色不利于长时间使用。通过注册表修改,我们可以打造一个更舒适、高效的终端环境,提升开发体验。

597

被折叠的 条评论
为什么被折叠?



