如何配置和下载 st 终端模拟器
更新时间
st 的配置通过修改源码目录中的 config.h 完成,下载则有两种方式:从官网获取源码包,或用 git 克隆仓库。当前官网提供的最新发布版是 st 0.9.3(48kb,2025-08-09)。这套流程适合愿意自己编译、接受“改配置即改源码”的 X11 用户;如果你需要开箱即用的图形化设置界面,st 不是这种路线。
下载 st 的两种方式
方式一:下载发布源码包
访问 st 官网的下载入口,获取 st 0.9.3 的源码压缩包(48kb)。适合想固定使用某个发布版本、不追踪最新提交的用户。下载后解压,进入源码目录即可开始配置和编译。
方式二:用 git 克隆源码仓库
官网给出的命令是:
git clone https://git.suckless.org/st
适合想跟进最新开发状态、或打算基于最新代码打补丁的用户。st 处于活跃开发中,仓库里的代码可能比 0.9.3 发布包更新。
两种方式得到的都是一份需要自行编译的 C 源码,没有预编译安装包。
配置 st:改 config.h
st 的配置方式很直接:配置写在 config.h 里,改完重新编译生效。官网明确说明配置通过 config.h 完成,并要求阅读生成的 config.h 中的注释,按需修改。
关键点是默认值的存放位置:默认配置保存在 config.def.h。也就是说,config.h 是你本地的实际配置文件,config.def.h 是上游维护的默认模板。第一次编译时,如果 config.h 不存在,构建过程会从 config.def.h 生成它。
具体步骤
- 进入源码目录,确认存在
config.def.h。 - 若尚无
config.h,先执行一次make让它生成,或直接复制:cp config.def.h config.h。 - 打开
config.h,按文件内注释修改。可配置的内容包括快捷键、颜色、字体等,官网列出的相关能力有:剪贴板处理、鼠标与键盘快捷键(通过 config.h)、256 色与真彩色、抗锯齿字体(使用 fontconfig)、回退字体。 - 保存后重新编译并安装,使改动生效。
验证方法
重新编译安装后,启动 st,检查你改动的项目是否按预期表现,例如快捷键是否触发对应动作、字体与颜色是否变化。若没有变化,最常见的原因是改的不是实际参与编译的 config.h,或改完没有重新编译。
常见卡点
- 改了
config.def.h却没生效:日常应改config.h;config.def.h是默认模板,用于重新生成或对照。 - 忘记重新编译:st 的配置是编译期写入的,不重新编译就不会生效。
- 升级源码后配置丢失:拉取新代码后注意保留自己的
config.h,避免被默认模板覆盖。
st 能做什么:判断它是否适合你
官网列出的已实现功能包括:
| 类别 | 已实现 |
|---|---|
| 终端仿真 | 大部分 VT10X 转义序列 |
| 字符支持 | UTF-8 宽字符、行绘制 |
| 输入法 | XIM |
| 会话记录 | 通过 utmp(1) 支持 utmp |
| 交互 | 剪贴板处理、鼠标与键盘快捷键(经 config.h) |
| 显示 | 调整窗口大小、256 色与真彩色、抗锯齿字体(fontconfig)、回退字体 |
| 其他 | 串口线路支持 |
它的设计取向是“简单终端”:官网引用 xterm 的 README 说明动机——xterm 超过 6.5 万行代码、模拟大量冷门过时终端,而终端仿真本不需要这么复杂。st 因此把功能收敛到常用范围,配置也不做成运行时选项,而是编译期常量。
适用条件:使用 X11、愿意编译源码、接受用编辑头文件的方式配置。不适合:需要图形化设置界面、或需要模拟大量冷门终端的场景。
进一步了解
- FAQ:维护在 st 的源码仓库中,遇到具体问题可先查这里。
- 目标与待办:官网提供 goals 与 TODO,可了解设计边界和尚未实现或待修复的内容。
- 补丁:官网有 patches 入口,社区补丁是 st 扩展功能的常见方式。
- 开发状态:st 处于活跃开发中,可浏览源码仓库了解最新进展。