Arch Linux 下安装 st (终端模拟器)

本文档详细介绍了如何在Linux系统中手动安装xorg、base-devel和git,然后从suckless.org获取st源码并进行编译安装。在配置st时,调整了config.mk文件以适配系统环境。此外,文章还讲解了如何为st打补丁以增强功能,如使用git管理不同补丁版本,并提供了几个推荐补丁以实现终端透明、全屏显示和隐藏鼠标等功能。最后,讨论了如何将代码托管到个人仓库并保持与官方代码同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

suckless官网:suckless.org

1. 安装 xorg + base-devel + git


sudo pacman -S xorg base-devel git

2. 克隆源码


git clone https://git.suckless.org/st

修改config.mk文件。

# 进入st目录
cd st

# 修改config.mk文件
X11INC = /usr/X11R6/include               X11INC = /usr/include/X11
                                 ->        
X11LIB = /usr/X11R6/lib                   X11LIB = /usr/lib/X11

3. 编译安装


使用源码安装,每次修改源码都需要重新编译安装

# 编译安装
sudo make clean install

4. st 配置


每次编译安装都会根据config.def.h文件产生config.h文件。

所以可以通过config.def.h文件配置st

每次修改源码都需要重新编译安装:

rm -rf config.h && sudo make clean install

5. st 补丁


通过补丁st添加额外的功能。

补丁下载地址:https://st.suckless.org/patches/

打补丁


一般情况下,补丁文件都会说明是基于哪个版本制作出来的补丁。

例:

st-anysize最新的补丁是基于st-0.8.4制作出来的补丁。
在这里插入图片描述

使用git管理打补丁后的st。

在打补丁之前,可以创建一个指向该补丁版本的git分支。

# 创建版本指向0.8.4,分支命为st-anysize-0.8.4的git分支
git switch -c st-anysize-0.8.4 0.8.4

将补丁文件放在~/patches目录下,通过patch命令打补丁。

# 在"st-anysize-0.8.4"分支上打"st-anysize-0.8.4.diff"补丁。
patch < ~/patches/st-anysize-0.8.4.diff

# git提交修改
git commit -am "patch: st-anysize-0.8.4"

st-anysize-0.8.4分支合并到master分支。

合并分支如果有冲突就解决冲突。

# 切换到"master"分支
git switch master

# 合并分支
git merge st-anysize-0.8.4

重新编译安装。

rm -rf config.h && sudo make clean install

打补丁前,屏幕右侧有空隙。

在这里插入图片描述
打补丁后,st占满了屏幕。

在这里插入图片描述

代码托管和官方代码同步

查看远程仓库地址

git remote -v

在这里插入图片描述
发现origin指向官方的仓库。

修改:将upstream指向官方的仓库,origin指向自己的仓库。

# 将"upstream"指向官方的仓库
git remote rename origin upstream

# 添加自己的仓库地址
git add remote origin <自己的仓库地址>

将配置好的dwm推送到自己的远程仓库。

# 推送所有的分支和tags
git push origin --all && git push origin --tags

官方代码同步。

git pull upstream master

如果git pull有冲突就解决冲突。

补丁推荐


终端透明:st-alpha-0.8.2.diff

终端占满屏幕:st-anysize-0.8.1.diff

输入时隐藏鼠标:st-hidecursor-0.8.1.diff

支持Fira Code字体:st-ligatures-alpha-scrollback-20200428-28ad288.diff
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值