Simple Terminal

334 words; 2 minute(s)

Table of Contents

st

st standards for Simple Terminal, a simple terminal implementation for X made by the suckless team.

This post walks through the dependencies needed and process to build and install st on Fedora Workstation.

Obtain Files

To start, obtain the source files for st via git clone.

mkdir ~/suckless && cd ~/suckless
git clone https://git.suckless.org/st && cd st

Dependencies

Once you have the files and are in the st directory, ensure the following packages are installed.

sudo dnf update && sudo dnf upgrade
sudo dnf install gcc patch libX11-devel libXft-devel

Building

Before building, ensure that you read the README file.

cat README

Once you've read the instructions, open the config.mk file and ensure it matches your setup. If you're not sure, leave the default options within the file.

Finally, you can build st with the following command. Ensure you run as root (e.g., sudo) or else you may not end up with a usable application file.

sudo make clean install

Customization (Patches)

Note that customizing st requires you to modify the source files or to download one of the available patches for suckless.org.

If you've already installed st and want to customize or install a patch, start by uninstalling the current program.

cd ~/suckless/st
sudo make uninstall

Next, grab the <path>.diff file from the page of the patch you chose. For example, I will be using the defaultfontsize patch in the below example.

wget https://st.suckless.org/patches/defaultfontsize/st-defaultfontsize-20210225-4ef0cbd.diff

Once the file is downloaded inside the st folder, apply the patch and re-install the program. You may need to install the patch command if you don't have it installed already (you should have installed it above).

patch -i st-defaultfontsize-20210225-4ef0cbd.diff
sudo make clean install

Once installed, you can use the default font size patch to launch st with any font size you wish:

st -z 16