# ST/Stterm - terminal petit mais costaud, évolutif

**URL:** <https://www.debian-fr.org/t/st-stterm-terminal-petit-mais-costaud-evolutif/88819>\
**Category:** Trucs et Astuces\
**Created:** [Septembre 19, 2023, 6:33 UTC](https://www.debian-fr.org/t/st-stterm-terminal-petit-mais-costaud-evolutif/88819 "2023-09-19T18:33:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Septembre 19, 2023, 6:33 UTC](https://www.debian-fr.org/t/st-stterm-terminal-petit-mais-costaud-evolutif/88819/1 "2023-09-19T18:33:49Z")

</div>

Dans la longue liste des terminaux linux disponibles, on peut distinguer deux catégories:  
1 - les poids lourds avec menus, barre d’outils qui consomment 25 à 30 M pour chaque terminal ouvert;  
2 - les poids légers, sans fioriture, compacts, rapides, nécessaires dans de nombreux cas.

On va s’intéresser ici aux poids légers.  
Le plus vieux et répandu est certainement **Xterm** , qui continue à traverser le temps, pour le moment.  
Après configuration plus ou moins laborieuse de .Xressources ou .Xdefault, Xterm fait le job.

Est arrivé **Urvxt** qui critiquait Xterm pour la vétusté et lourdeur de son code qui traîne des notions de VT100 dans ses menus ou autre bizarreries incompréhensibles et inutiles de nos jours.  
Urvxt est flexible et configurable avec des extensions perl.  
Mais Urvxt traîne un vieux bug relatif à la gestion de largeur de caractères de police différente, bug qui ne sera jamais corrigé. Urvxt semble abandonné.

Il y en a plein d’autres d’intérêt limité, mais pour aller droit au but, on va s’intéresser ici à **Simple Terminal** (ST/ STterm) de [suckless.org](https://st.suckless.org/).

Pour ST, je cite:

> [@](#):
>
> Xterm is undoubtedly the most ugly program in the distribution.  
> It was one of the first «&nbsp;serious&nbsp;» programs ported, and still has a lot of historical baggage.  
> It has over 65K lines of code and emulates obscure and obsolete terminals you will never need.  
> The popular alternative, rxvt has only 32K lines of code.  
> This is just too much for something as simple as a terminal emulator; it’s yet another example of code complexity.  
> Terminal emulation doesn’t need to be so complex.

La sentence est irrévocable pour Xterm.  
ST est assez peu connu, très probablement parce-que souvent fourni en paquet qui n’est que le code source brut compilé, sans aucune amélioration. Essayer ST de Debian ( **stterm** ) est très decevant.  
ST n’a de réel intérêt qu’avec un certain nombre de patches disponibles [ici](https://st.suckless.org/patches/).  
L’opération est simple en théorie, plus laborieuse dans la pratique pour associer versions de code ST / patches.

Je propose ici un paquet Debian prêt à l’emploi, basé sur la dernière version 0.9, et qui intègre les fonctions suivantes:

`scrollback :` défilement (clavier+souris) de l’historique des lignes  
`reflow :` ajustement longueur lignes en fonction de la largeur de la fenêtre (indispensable)  
`raccourcis clavier :` nécessaire/indispensable  
`charoffsets : ` amélioration gestion largeur caractères spéciaux  
`w3m :` permet l’affichage des images du navigateur internet w3m (nécessite le paquet w3m-img)

ST consomme #4.5Mo de mémoire à l’ouverture, et ses dépendances sont très limitées (strict minimum).

Exemple d’affichage de caractères spéciaux:

![2023-09-19_16-12](https://www.debian-fr.org/uploads/default/original/2X/0/0cba28a8f5a1be55493b34649e69ccf51fa94104.png)

Les raccourcis principaux:

```plaintext
Alt+C / Alt+V : copier/coller
Ctrl+Maj+ ↑↓ : augmentation/diminution dynamique taille police
Maj+ ↟↡, Alt+ ↑↓, Alt+ KJ, molette souris: navigation lignes

```

Les options principales de lancement:  
`-t title | -f font | -g geometry | -e command | -h help`

exemple:

```auto
st -t "Test" -g 20x5+0+0 -f "Liberation Mono:size=14" -e bash -c "echo -e '\U1F415' ;sleep 15" &

```

―――――――――――――――――――――――――――  
**Installation** :  
Charger/renommer `stterm_0.9-1p_amd64.deb.txt` en `stterm_0.9-1p_amd64.deb`

[stterm\_0.9-1p\_amd64.deb.txt](https://www.debian-fr.org/uploads/short-url/jaZ4PofnhuDkBniWgpz9gcg8NOe.txt) (46,8 Ko)

```auto
sudo dpkg -i ./stterm_0.9-1p_amd64.deb
sudo apt install -f

```

```plaintext
Depends: ncurses-term libc6 libfontconfig1 libx11-6 libxft2
md5sum : 758a37799c2954cb4b7d55229611a8ce 

```

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Septembre 20, 2023, 11:13 UTC](https://www.debian-fr.org/t/st-stterm-terminal-petit-mais-costaud-evolutif/88819/2 "2023-09-20T11:13:21Z")

</div>

A scindé ce sujet (le Septembre 20, 2023, 11:13 UTC)

Un message a été scindé en un nouveau sujet : [Digression ST/terminal - Terminal petit mais costaud](https://www.debian-fr.org/t/digression-st-terminal-terminal-petit-mais-costaud/88828)
