#1 Le 24/06/2026, à 04:45
- fnux

[Résolu] Commandes bash sous gnome plus reconnues sous wayland.
Bonjour,
Avec la nouvelle version d'Ubuntu 26.04 LTS, Canonical a définitivement choisi de remplacer gnome par wayland.
Note : merci de comprendre que je ne veux en aucun cas les critiquer pour entamer une polémique parfaitement inutile.
Sous ce nouvel environnement, j'ai malheureusement constaté que certaines commandes bash du "Terminal" d'Ubuntu 24,04 LTS sous gnome (et je dis bien "Terminal") n'étaient plus reconnues dans la "Console" par défaut de wayland (et je dis bien "Console").
Pourquoi cette distinction ?
Simplement par ce que j'ai fait une fresh install d'Ubuntu 26.04 LTS standard sur l'un de mes iMac 27 x86_64 i7 qui a en multi boot macOS, Ubuntu 24.04 LTS et maintenant Ubuntu 26.04 LTS ainsi que sur un de mes disques de mon Raspberry PI 500+ et que j'ai constaté sur ces deux machines que :
- sous Ubuntu 24.04 LTS, le menu applications propose un "Terminal"
- sous Ubuntu 26.04 LTS, le menu applications propose une "Console"
- dans le "Terminal" d'Ubuntu 24.04 LTS par exemple les commandes bash de redimensionnement de la fenêtre du Terminal fonctionnent très bien,
- alors que dans la "Console" d'Ubuntu 26.04 LTS elles ne fonctionnent plus !
Pour vous convaincre, essayer la suite. de commandes suivante dans un "Terminal" d'Ubuntu 24.04 LTS et dans une "Console" d'Ubuntu 26.04 LTS :
clear && printf "\e[?25l" && printf "$LINES - $COLUMNS\n" && savLC="$LINES $COLUMNS" && printf "\033[8;20;120t" && sleep 10 && printf "\e[?25h" && printf "\033[8;%d;%dt" $savLC Explication:
Cette suite de commandes :
- efface le contenu de l'émulateur de terminal
- arrête le clignotement du curseur
- affiche le nombre de lignes - le nombre de colonnes et un retour à la ligne
- sauvegarde le nombre de lignes et de colonnes de l'émulateur de terminal dans la variable $saveLC
- redimensionne la fenêtre de l'émulateur de terminal avec 20 lignes de 120 colonnes (ne fonctionne pas dans la Console)
- fait une pose de 10 secondes (vous permettant de modifier la taille de la fenêtre à la souris)
- restaure le clignotement du curseur
- restaure les dimensions de la fenêtre de l'émulateur de terminal aux valeurs sauvées en début de script (ne fonctionne pas dans la Console) même si vous modifiez cette fenêtre à la souris pendant la pause de 10 secondes
Vous pouvez aussi jouer avec ce petit script sans prétention dans un Terminal d'Ubuntu 54.04 LTS et dans une Console d'Ubuntu 26.24 LTS pour constater la différence de comportement.
#!/bin/bash
# File : save-change-restore-LC.sh
# Title : Save, change and restore the lines and columns of a gnome Terminal
# Date : June 20, 2026
# Release : 1.00
# Author : fnux
# Contact : fnux.fl@gmail.com
# Copyright: (C) 2026 - ISS Inc.
# Licence : Cc-By-Sa 4.0 - https://creativecommons.org/licenses/by-sa/4.0/legalcode.en
#
trap "tput cnorm; exit" INT TERM EXIT # This command restores corectly the Terminal
os_name=$(lsb_release -sc) # Put the OS name in the bash variable $os_name
os_version=$(lsb_release -sd) # Put the OS version nikename in the variable $os_verssion
machine_type=`uname -m` # Put the machine type "aarch4" or "x86_64" in the variable machine_type
clear
printf "\e[?25l" # This command stops the cursor blinking.
printf "\n" # This command perform a carriage return and put the cursor on a new line
#
# The next command display a message with the name of the user who launched the scritp ($USER) with its first letter capitalized.
#
printf "Hello ${USER^}\n\nYour machine is an $machine_type CPU type running $os_version $os_name.\n"
sleep 2 # This command makes a 2 seconds pause
# The next command saves the number of lines end columns of the terminal window in the variable $savLC but be aware
# that this command doesn't work in the "Console" of wayland unless you've installed some gnome packets an use its
# "Terninal" application Vs. the default wayland "Console" .
savLC="$LINES $COLUMNS"
# The next command displays a message with the number of lines and columns saved in the variable $sav_LC
printf "\nYour terminal original size was saved with its current size of %d lines\nand %d columns.\n\n" $savLC
sleep 4
printf "Now, for this test, I'll resize your terminal to 30 lines and 132 columns\033[8;30;132t\nfor 10 seconds to let you modify the size of your terminal using the mouse.\n\n"
#
# During the 10 seconds pause, you can modify the size of your terminal window with your mouse.
#
for (( i=-10; i<=0; i++ ))
do # This command starts a loop of 10 seconds
printf " $i \r" # This command displays the number of iterration of the loop $i without a carriage return "\r"
sleep 1
done # This commands ends the loop
printf "Since your terminal original size was saved with %d lines and %d columns,\n" $savLC
printf "\nnow, I'll restore your terminal to its original saved size with %d lines\nand %d columns in 10 seconds.\n\n" $savLC
#
# During the second 10 seconds pause, you can modify again the size of your terminal window with your mouse.
#
for (( i=-10; i<=0; i++ ))
do
printf " $i \r"
sleep 1
done
printf "\033[8;%d;%dt" $savLC # This command restore the window to its original numbers of lines and columns
printf "Your terminal original size of %d lines and %d columns is now restored\nto its original sizes of %d lines and %d columns.\n" $savLC $savLC
printf "\nEnjoy this script ${USER^}.\n\nGoodbye.\n\n"
printf "\e[?25h" # this command restores the cursor behavior.
exit # This command ends the script and returns to the systemOr pour certains de mes scripts, j'ai vraiment besoin de ces commandes.
Pour remédier à ce problème sous Ubuntu 26.04 LTS, j'ai alors installé le paquet de l'environnement gnome, ce qui a eu pour effet immédiat d'ajouter une icône "Terminal" dans le menu application, à côté de la "Console".
Mais ce n'est pas tout.
Pour que ce "Terminal" interprète les commandes bash dont j'ai besoin, j'ai installé un peu au hasard avec synaptic de multiples extensions se rapportant à gnome, et finalement j'ai bien retrouvé dans le "Terminal" sous wayland le fonctionnement des commandes bash dont j'ai besoin (mais je n'ai malheureusement pas noté après l'installation de quel packet) alors qu'elles ne sont toujours pas reconnues dans la "Console" de wayland.
Mes deux questions sont donc :
1) quels sont les extensions "strictement" nécessaires à installer pour obtenir un "Terminal" compatible avec les commandes bash de gnome sous Ubuntu 26.04 LTS ?
2) existe t-il des commandes bash de la Console de wayland qui puissent remplacer celles du Terminal de gnome qui ne fonctionnent pas ?
Merci d'avance de votre aide.
Cordialement.
Dernière modification par fnux (Le 27/06/2026, à 07:01)
N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
2 x iMac27 x86_64 CPU i7 Quad Core@3.4GHz RAM 32 GB SSD 4TB
1 x Raspberry PI 500+ aarch64 CPU ARM Kortek K76 Quad Core@2.4 GHz RAM 1GB SSD NVme 256 GB
OSes: Debian 12 & Debian 13 - Ubuntu 24.04 LTS & Ubuntu 26.04 LTS - multiple macOS - Windows 10 & 11
Hors ligne
#2 Le 24/06/2026, à 08:46
- MicP
Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
Bonjour
Le programme qui affiche la fenêtre de l'émulateur de terminal dépend de l'environnement de bureau choisi.
…
- sous Ubuntu 24.04 LTS, le menu applications propose un "Terminal"
- sous Ubuntu 26.04 LTS, le menu applications propose une "Console"
- dans le "Terminal" d'Ubuntu 24.04 LTS par exemple les commandes bash de redimensionnement de la fenêtre du Terminal fonctionnent très bien,
- alors que dans la "Console" d'Ubuntu 26.04 LTS elles ne fonctionnent plus !
…
Dans aucune de ces lignes tu ne dis quel environnement de bureau tu as choisi pour l'installation du système, ce qui fait qu'on ne peut pas savoir quel programme est utilisé par défaut pour la fenêtre d'émulation de terminal.
=======
…2) existe t-il des commandes bash de la Console de wayland qui puissent remplacer celles du Terminal de gnome qui ne fonctionnent pas ?…
Wayland n'est pas un environnement de bureau, il n'existe pas de "Console de Wayland"
Voir aussi : https://wayland-book.com/
Dernière modification par MicP (Le 24/06/2026, à 10:08)
Hors ligne
#3 Le 24/06/2026, à 10:36
- bluc

Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
Bonjour
Sur ubuntu 26.04 c'est ptyxis le terminal
Clevo : Ubuntu 24.04 ❖ Xubuntu 24.04 ❖ Kubuntu 23.10
avec partition data commune Une fraction de seconde Multiboot
Hors ligne
#4 Le 24/06/2026, à 12:57
- MicP
Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
… Sur ubuntu 26.04 c'est ptyxis le terminal
Ça dépend de l'environnement de bureau utilisé.
Ci-dessous, trois environnements de bureau différents qui utilisent tous les trois la distribution Ubuntu 26.04 LTS :
xubuntu@xubuntu:~$ lsb_release -a # Informations spécifiques concernant la distribution
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 26.04 LTS
Release: 26.04
Codename: resolute
xubuntu@xubuntu:~$ echo $XDG_CURRENT_DESKTOP # Environnement de bureau utilisé
XFCE
xubuntu@xubuntu:~$ echo $XDG_SESSION_TYPE # Protocole de communication utilisé par le serveur d'affichage
X11
xubuntu@xubuntu:~$ cat /proc/$PPID/comm # Nom de la commande associée au processus parent du shell utilisé
xfce4-terminal
xubuntu@xubuntu:~$ kubuntu@kubuntu:~$ lsb_release -a # Informations spécifiques concernant la distribution
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 26.04 LTS
Release: 26.04
Codename: resolute
kubuntu@kubuntu:~$ echo $XDG_CURRENT_DESKTOP # Environnement de bureau utilisé
KDE
kubuntu@kubuntu:~$ echo $XDG_SESSION_TYPE # Protocole de communication utilisé par le serveur d'affichage
wayland
kubuntu@kubuntu:~$ cat /proc/$PPID/comm # Nom de la commande associée au processus parent du shell utilisé
konsole
kubuntu@kubuntu:~$ ubuntu@ubuntu:~$ lsb_release -a # Informations spécifiques concernant la distribution
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 26.04 LTS
Release: 26.04
Codename: resolute
ubuntu@ubuntu:~$ echo $XDG_CURRENT_DESKTOP # Environnement de bureau utilisé
ubuntu:GNOME
ubuntu@ubuntu:~$ echo $XDG_SESSION_TYPE # Protocole de communication utilisé par le serveur d'affichage
wayland
ubuntu@ubuntu:~$ cat /proc/$PPID/comm # Nom de la commande associée au processus parent du shell utilisé
ptyxis-agent
ubuntu@ubuntu:~$ Dernière modification par MicP (Le 24/06/2026, à 17:34)
Hors ligne
#5 Le 24/06/2026, à 14:59
- Watael

Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
2 remarques sans lien avec ton problème :
clear && printf "\e[?25l" && printf "$LINES - $COLUMNS\n" && savLC="$LINES $COLUMNS" && printf "\033[8;20;120t" && sleep 10 && printf "\e[?25h" && printf "\033[8;%d;%dt" $savLC
1- il est très rare qu'une de ces commandes échoue, le ET logique (&&) n'est donc pas utile; si tu veux les grouper visuellement (mais ça ne sert pas qu'à ça), tu peux les mettre dans une liste de commandes
{ cmd1; cmd2; cmdN+1;}2- la dernière commande par contre devrait échouer, parce que tu indiques deux "prescripteurs" (specifiers) (%d;%d), mais tu ne passes qu'un seul argument ($savLC).
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 24/06/2026, à 16:07
- MicP
Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
Bonjour
…2- la dernière commande par contre devrait échouer, parce que tu indiques deux "prescripteurs" (specifiers) (%d;%d), mais tu ne passes qu'un seul argument ($savLC).…
Si c'était :
printf "\033[8;%d;%dt" "$savLC" … alors oui, il n'y aurait qu'un seul argument,
mais :
savLC="$LINES $COLUMNS"… et comme $savLC n'est pas mis entre double guillemets dans la ligne de commandes :
printf "\033[8;%d;%dt" $savLC alors il y a bien deux valeurs séparées par une espace qui sont transmises à printf
=======
En fait, plutôt que de créer un tableau avec :
savLC=($LINES $COLUMNS)pour l'utiliser ensuite comme ça :
printf "\033[8;%d;%dt" ${savLC[@]} j'avais trouvé plus simple (et avec moins de caractères à entrer ensuite) d'utiliser un chaîne de caractères.
Dernière modification par MicP (Le 25/06/2026, à 18:51)
Hors ligne
#7 Le 24/06/2026, à 16:11
- Watael

Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
ok! `pas fait attention.
oui, un tableau montre tout de suite qu'il s'agit d'une liste de valeurs.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 24/06/2026, à 16:14
- MicP
Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
J'avais un doute, mais je vais faire attention à l'avenir : c'est en effet trompeur d'utiliser une chaîne de caractères pour une variable servant à stocker deux valeurs numériques.
Dernière modification par MicP (Le 24/06/2026, à 17:13)
Hors ligne
#9 Le 24/06/2026, à 16:25
- krodelabestiole

Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
Avec la nouvelle version d'Ubuntu 26.04 LTS, Canonical a définitivement choisi de remplacer gnome par wayland.
je suppose que tu veux parler de X.org, pas GNOME...
(parce que non, ubuntu n'abandonne pas GNOME, et GNOME ne peut pas "être remplacé" par wayland, ils n'ont pas le même rôle, et GNOME est justement compatible wayland)
ce sont les développeurs de GNOME qui ont décidé d'abandonner la rétrocompatibilité avec X, qui leur donnait beaucoup de travail (qu'on peut considérer comme inutile pour un projet destiné à disparaître).
GNOME est soutenu en particulier par red-hat (IBM), dans une moindre mesure par google, canonical et d'autres, dans le sens où ils donnent de l'argent à la fondation (dont l'activité est d'ailleurs sous le feu des critiques ces derniers temps).
https://www.gnome.org/#supporters
Mais les mainteneurs de GNOME ont en principe toute latitude sur le projet.
mais en bref, toutes les distributions qui utilisent GNOME abandonnent X, et ça va petit à petit être le cas de tous les autres environnements (du moins ceux qui sont encore activement maintenus).
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#10 Le 25/06/2026, à 16:41
- bluc

Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
… Sur ubuntu 26.04 c'est ptyxis le terminal
Ça dépend de l'environnement de bureau utilisé.
Ok !... c'est parce que c'est dans une discution destinée a Gnome que j'ai parlé de Ubuntu ![]()
Dernière modification par bluc (Le 25/06/2026, à 16:50)
Clevo : Ubuntu 24.04 ❖ Xubuntu 24.04 ❖ Kubuntu 23.10
avec partition data commune Une fraction de seconde Multiboot
Hors ligne
#11 Le 25/06/2026, à 23:06
- MicP
Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
… Ok !... c'est parce que c'est dans une discution destinée a Gnome que j'ai parlé de Ubuntu
…
Effectivement, je n'avais pas bien fait attention à ça.
=======
Voici le retour des mêmes commandes lancées depuis Ubuntu 24.04 :
ubuntu@ubuntu:~$ lsb_release -a # Informations spécifiques concernant la distribution
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.4 LTS
Release: 24.04
Codename: noble
ubuntu@ubuntu:~$ echo $XDG_CURRENT_DESKTOP # Environnement de bureau utilisé
ubuntu:GNOME
ubuntu@ubuntu:~$ echo $XDG_SESSION_TYPE # Protocole de communication utilisé par le serveur d'affichage
x11
ubuntu@ubuntu:~$ cat /proc/$PPID/comm # Nom de la commande associée au processus parent du shell utilisé
gnome-terminal-
ubuntu@ubuntu:~$ Donc : avec l'environnement de bureau GNOME et sur Ubuntu 24.04, l'application par défaut utilisée pour l'émulateur de terminal est gnome-terminal
alors qu'avec l'environnement de bureau GNOME et sur Ubuntu 26.04, l'application par défaut utilisée pour l'émulateur de terminal est ptyxis
et, par défaut, ptyxis n’interprète pas la séquence d'échappement printf "\033[8,$nbLignes;${nbColonnes}t" qui permettrait de redimensionner la fenêtre de l'émulateur de terminal.
=======
Dans Ubuntu 26.04, pour remplacer l'application par défaut utilisée pour l'émulateur de terminal par gnome-terminal
il faut installer le paquetage gnome-terminal
en lançant la ligne de commande suivante :
sudo apt install gnome-terminalet ensuite lancer l'exécution de gnome-terminal
en lançant la ligne de commande suivante :
gnome-terminalCe qui devrait donner :
Il ne reste plus qu'à cliquer sur le bouton Oui pour que l'émulateur de terminal par défaut soit gnome-terminal dans lequel la séquence d'échappement pourra redimensionner la fenêtre.
Dernière modification par MicP (Le 26/06/2026, à 01:50)
Hors ligne
#12 Le 27/06/2026, à 03:04
- fnux

Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
Bonsoir MicP,
Wayland n'est pas un environnement de bureau, il n'existe pas de "Console de Wayland"
Voir aussi : https://wayland-book.com/
Désolé si je n'utilise pas les bons termes (merci d'avance de bien vouloir me corriger), mais il n'en demeure pas moins vrai qu'après avoir installé plusieurs packets et dépendances relatives à gnome, j'ai bien, sous Ubuntu 26.04 LTS Wayland une application nommée Console (qui n'accepte pas les commandes de redimensionnement de la fenêtre de l'émulateur de terminal) et une autre qui s'appelle Terminal (qui elle les accepte).
Malheureusement, en voulant épingler cette application Terminal au bureau, j'ai du faire une c.nnerie et je l'ai supprimé des icônes des applications (et je ne sais pas comment la retrouver pour la remettre).
Mais heureusement que je l'avais déjà épinglée dans les apps préférées et au Dash, ce qui me permet donc de la lancer tout comme l'application Console comme tu peux le voir dans le menu Favorites : ici > Menu "Favorites"
ubuntu@ubuntu:~$ cat /proc/$PPID/comm # Nom de la commande associée au processus parent du shell utilisé gnome-terminal- ubuntu@ubuntu:~$Donc : avec l'environnement de bureau GNOME et sur Ubuntu 24.04, l'application par défaut utilisée pour l'émulateur de terminal est gnome-terminal
alors qu'avec l'environnement de bureau GNOME et sur Ubuntu 26.04, l'application par défaut utilisée pour l'émulateur de terminal est ptyxis
Merci de cette info, mais cette commande ne fonctionne (d'après mes tests), que si passée dans l'émulateur de terminal, mais pas depuis un script bash.
Aussi, c'est ce qui m'a motivé pour trouver pourquoi... et surtout comment obtenir le résultat attendu depuis un script bash en récupérant le résultat dans une variable que je puisse afficher.
Et ce que j'ai trouvé est assez étonnant mais fonctionne très bien (tant que l'on ne modifie pas l'arrangement des 3 lignes qui récupèrent le résultat).
Après avoir très longuement googellé et lu de multiples "man" pages (toutes aussi mal documentées les unes que les autres, car sans exemple concret de la syntaxe d'utilisation ds leurs "optons" - à croire qu'ils le font exprès, ces geeks - et je ne suis pas le premier ni ne serais le dernier à le dire !), et pour faire plaisir à @Watael qui suit aussi ce thread, j'ai complètement réécrit mon script de test en utilisant printf (façon C) mais en donnant aussi une version d'une ligne significative en utilisant la commande 'echo -e' (pour montrer la différence d'écriture) et en essayant aussi de bien commenter l'ensemble du code (pour que cela puisse servir à d'autres, contrairement aux pages "man").
Voici donc la nouvelle version de : "save-change-restore-LC.sh"
#!/bin/bash
# File : save-change-restore-LC.sh
# Title : Save, change and restore the lines and columns of a GNOME Terminal
# Date : June 26, 2026
# Release : 1.01
# Author : fnux, thanks to @MicP of the Ubuntu.fr forum for the advice
# Contact : fnux.fl@gmail.com
# Copyright: (C) 2026 - ISS Inc.
# Licence : Cc-By-Sa 4.0 - https://creativecommons.org/licenses/by-sa/4.0/legalcode.en
#
#
# assign the prompt Colors
#
Red="\033[01;31m" # Red
Gre="\033[01;32m" # Green
Yel="\033[01;33m" # Yellow
Blu="\033[01;34m" # Blue
Pin="\033[01;35m" # Pink
Cia="\033[01;36m" # Cian
Whi="\033[01;37m" # White
Row="\033[35;47m" # Red over White
Bow="\033[30;47m" # Black over White
Bor="\033[30;41m" # Black over red
Bak="\033[0m" # Restore the console color settings
bash_parent=$PPID
terminal_pid=$(awk '/^PPid:/ {print $2}' \
"/proc/$bash_parent/status")
read -r curent_window < "/proc/$terminal_pid/comm" # Don't modify the laying of the 3 lines above or the variable 'curent_window'
# will not be interpreted correctly !
script_name="save-change-restore-LC.sh"
machine_type=`uname -m`
os_name=$(lsb_release -sd)
os_version=$(lsb_release -sc)
os_desktop="$XDG_CURRENT_DESKTOP"
os_session="$XDG_SESSION_TYPE"
current_window="$curent_window"
trap "tput cnorm; exit" INT TERM EXIT # restore the cursor behavior when the scriptis interupted by Ctrl+C
clear # clear the terminal window
printf "Script name : %s\n" "$script_name"
printf "\e[?25l" # stop the cursor blinking.
printf "\n"
#
# The next line will display a long formatted message showing multiple variables with different colors and it's the recommended safe way to do.
#
printf "Hello $Gre${USER^}$Bak\n\nYour machine is an $Yel%s$Bak CPU type running $Yel%s$Bak ($Cia%s$Bak).\nYou're launching this script from a $Red%s$Bak window under\nthe $Gre%s$Bak environment of the $Gre%s$Bak desktop.\n" "$machine_type" "$os_name" "$os_version" "$current_window" "$os_session" "$os_desktop"
#
# Meanwhile, the next line will display exactly the same message when using the 'echo -e' command Vs 'printf'
#
#echo -e "Hello $Gre${USER^}$Bak\n\nYour machine is an $Yel$machine_type$Bak CPU type running $Yel$os_name$Bak ($Cia$os_version$Bak) \nYou're launching this script from a $Red$current_window$Bak window under\nthe $Gre$os_session$Bak environment of the $Gre$os_desktop$Bak desktop.\n"
sleep 1 # make a 1 second pause
savLC="$LINES $COLUMNS" # save the number of columns and lines in the array 'savLC'
#
# The next line will display a message with the number of lines and columns obtained form the 'savLC' array
#
printf "\nYour terminal original size was saved with its current size of $Gre%d$Bak lines\nand $Gre%d$Bak columns.\n\n" $savLC
sleep 3 # make a 3 secons pause
#
# On the next line, please note how some color variables are placed between double " before a word and how other are placed after without.
#
printf "Now, for this test, I'll resize your terminal to "$Cia"30$Bak lines and "$Cia"132$Bak columns\033[8;30;132t\nfor 10 seconds to let you modify the size of your terminal using "$Bor"your mouse$Bak.\n\n"
for (( i=10; i>=0; i-- )) # Loop back of 10 seconds
do
printf " $i \r" # Display i without a carriage return
sleep 1
done
printf "Since your terminal original size was saved with $Yel%d$Bak lines and $Yel%d$Bak columns,\n" $savLC
printf "\nnow, I'll restore your terminal to its original saved size with $Blu%d$Bak lines\nand $Blu%d$Bak columns in 10 seconds.\n\n" $savLC
for (( i=-10; i<=0; i++ )) # Other way to write the loop back of 10 seconds
do
printf " $i \r"
sleep 1
done
printf "\033[8;%d;%dt" $savLC # Restore the window saved lines and columns from the 'savLC' array variable
printf "Your terminal original size of $Row%d$Bak lines and $Row%d$Bak columns is now restored\nto its original sizes of $Pin%d$Bak lines and $Pin%d$Bak columns.\n" $savLC $savLC
printf "\nEnjoy this script $Gre${USER^}$Bak.\n"$Bow"Goodbye$Bak.\n"
printf "\e[?25h" # restore the cursor behavior.
exitJ'ai même fait une petite vidéo sur mon Rasperry PI 500+ (sous Debian dont est issu Ubuntu) qui montre comment se déroule ce script dans un 'Terminal' qui accepte les commandes de redimensionnement de sa fenêtre et dans un autre qui ne les accepte pas : Show Lines and Columns dynamical changes. ce qui est assez instructif.
Merci d'avance de bien vouloir tester ce script, et surtout de corriger ce qui semble inapproprié et/ou sujet à optimisation.
En attendant vos retours, je mets [Résolu] dans le titre.
Cheers.
PS: Soyons bien clair : je ne blâme pas ceux qui ont écrit (ou écrivent encore) les pages "man" (bien souvent des bénévoles non rémunérés) mais les "vendeurs" de distributions comme le sont Canonical et d'autres, qui eux justement font du business mais ne sont pas capables de faire un job correct en répondant aux aspirations de leurs utilisateurs, payants ou non, avec de la documentation utilisable par n'importe qui (merci de penser à Madame Michu qui va peut-être s'abonner à une option payante de suport) !
Dernière modification par fnux (Le 27/06/2026, à 06:59)
N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
2 x iMac27 x86_64 CPU i7 Quad Core@3.4GHz RAM 32 GB SSD 4TB
1 x Raspberry PI 500+ aarch64 CPU ARM Kortek K76 Quad Core@2.4 GHz RAM 1GB SSD NVme 256 GB
OSes: Debian 12 & Debian 13 - Ubuntu 24.04 LTS & Ubuntu 26.04 LTS - multiple macOS - Windows 10 & 11
Hors ligne
#13 Le 27/06/2026, à 10:03
- MicP
Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
Bonjour
Dans ton script, tu peux remplacer les lignes suivantes :
bash_parent=$PPID
terminal_pid=$(awk '/^PPid:/ {print $2}' \
"/proc/$bash_parent/status")
read -r curent_window < "/proc/$terminal_pid/comm" # Don't modify the laying of the 3 lines above or the variable 'curent_window'par :
current_window=$(ps -p $(ps -p $PPID -o ppid=) -o comm=)et tu pourras supprimer la ligne suivante :
current_window="$curent_window"========================
Pour que ce soit vraiment un tableau (array) et non une chaîne de caractères
remplacer :
savLC="$LINES $COLUMNS" # save the number of columns and lines in the array 'savLC'par :
savLC=($LINES $COLUMNS) # save the number of columns and lines in the array 'savLC'========
remplacer :
printf "\nYour terminal original size was saved with its current size of $Gre%d$Bak lines\nand $Gre%d$Bak columns.\n\n" $savLCpar :
printf "\nYour terminal original size was saved with its current size of $Gre%d$Bak lines\nand $Gre%d$Bak columns.\n\n" ${savLC[@]}========
remplacer :
printf "Since your terminal original size was saved with %d lines and %d columns,\n" $savLC
printf "\nnow, I'll restore your terminal to its original saved size with %d lines\nand %d columns in 10 seconds.\n\n" $savLCpar :
printf "Since your terminal original size was saved with $Yel%d$Bak lines and $Yel%d$Bak columns,\n" ${savLC[@]}
printf "\nnow, I'll restore your terminal to its original saved size with %d lines\nand %d columns in 10 seconds.\n\n" ${savLC[@]}========
remplacer :
printf "\033[8;%d;%dt" $savLC
printf "Your terminal original size of $Row%d$Bak lines and $Row%d$Bak columns is now restored\nto its original sizes of $Pin%d$Bak lines and $Pin%d$Bak columns.\n" $savLC $savLCpar
printf "\033[8;%d;%dt" ${savLC[@]}
printf "Your terminal original size of $Row%d$Bak lines and $Row%d$Bak columns is now restored\nto its original sizes of $Pin%d$Bak lines and $Pin%d$Bak columns.\n" ${savLC[@]} ${savLC[@]}Dernière modification par MicP (Le 27/06/2026, à 10:17)
Hors ligne
#14 Le 28/06/2026, à 22:42
- fnux

Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
Bonsoir MicP,
Merci de tes conseils.
Voici donc la nouvelle mouture de ce script modifiée avec tes recommandations.
save-change-restore-LC-v2.sh
#!/bin/bash
# File : save-change-restore-LC-v2.sh
# Title : Save, change and restore the lines and columns of a GNOME Terminal
# Date : June 28, 2026
# Release : 1.02
# Author : fnux, thanks to @MicP of the Ubuntu.fr forum for the advices and tricks
# Contact : fnux.fl@gmail.com
# Copyright: (C) 2026 - ISS Inc.
# Licence : Cc-By-Sa 4.0 - https://creativecommons.org/licenses/by-sa/4.0/legalcode.en
#
# assign the prompt Colors
#
Red="\033[01;31m" # Red
Gre="\033[01;32m" # Green
Yel="\033[01;33m" # Yellow
Blu="\033[01;34m" # Blue
Pin="\033[01;35m" # Pink
Cia="\033[01;36m" # Cian
Whi="\033[01;37m" # White
Row="\033[35;47m" # Red over White
Bow="\033[30;47m" # Black over White
Bor="\033[30;41m" # Black over red
Bak="\033[0m" # Restore the console color settings
bash_parent=$PPID
script_name="save-change-restore-LC.sh"
machine_type=`uname -m`
os_name=$(lsb_release -sd)
os_version=$(lsb_release -sc)
os_desktop="$XDG_CURRENT_DESKTOP"
os_session="$XDG_SESSION_TYPE"
current_window=$(ps -p $(ps -p $PPID -o ppid=) -o comm=)
trap "tput cnorm; exit" INT TERM EXIT # restore the cursor behavior when the scriptis interupted by Ctrl+C
clear # clear the terminal window
printf "Script name : %s\n" "$script_name"
printf "\e[?25l" # stop the cursor blinking.
printf "\n"
#
# The next line will display a long formatted message showing multiple variables with different colors and it's the recommended safe way to do.
#
printf "Hello $Gre${USER^}$Bak\n\nYour machine is an $Yel%s$Bak CPU type running $Yel%s$Bak ($Cia%s$Bak).\nYou're launching this script from a $Red%s$Bak window under\nthe $Gre%s$Bak environment of the $Gre%s$Bak desktop.\n" "$machine_type" "$os_name" "$os_version" "$current_window" "$os_session" "$os_desktop"
#
# Meanwhile, the next line will display exactly the same message when using the 'echo -e' command Vs 'printf'
#
#echo -e "Hello $Gre${USER^}$Bak\n\nYour machine is an $Yel$machine_type$Bak CPU type running $Yel$os_name$Bak ($Cia$os_version$Bak) \nYou're launching this script from a $Red$current_window$Bak window under\nthe $Gre$os_session$Bak environment of the $Gre$os_desktop$Bak desktop.\n"
sleep 1 # make a 1 second pause
savLC=($LINES $COLUMNS) # save the number of columns and lines in the array 'savLC'
#
# The next line will display a message with the number of lines and columns obtained form the 'savLC' array
#
printf "\nYour terminal original size was saved with its current size of $Gre%d$Bak lines\nand $Gre%d$Bak columns.\n\n" ${savLC[@]}
sleep 3 # make a 3 secons pause
#
# On the next line, please note how some color variables are placed between double " before a word and how other are placed after without.
#
printf "Now, for this test, I'll resize your terminal to "$Cia"30$Bak lines and "$Cia"132$Bak columns\033[8;30;132t\nfor 10 seconds to let you modify the size of your terminal using "$Bor"your mouse$Bak.\n\n"
for (( i=10; i>=0; i-- )) # Loop back of 10 seconds
do
printf " $i \r" # Display i without a carriage return
sleep 1
done
printf "Since your terminal original size was saved with $Yel%d$Bak lines and $Yel%d$Bak columns,\n" ${savLC[@]}
printf "\nnow, I'll restore your terminal to its original saved size with %d lines\nand %d columns in 10 seconds.\n\n" ${savLC[@]}
for (( i=-10; i<=0; i++ )) # Other way to write the loop back of 10 seconds
do
printf " $i \r"
sleep 1
done
printf "\033[8;%d;%dt" ${savLC[@]} # Restore the window saved lines and columns from the 'savLC' array variable
printf "Your terminal original size of $Row%d$Bak lines and $Row%d$Bak columns is now restored\nto its original sizes of $Pin%d$Bak lines and $Pin%d$Bak columns.\n" ${savLC[@]} ${savLC[@]}
printf "\nEnjoy this script $Gre${USER^}$Bak.\n"$Bow"Goodbye$Bak.\n"
printf "\e[?25h" # restore the cursor behavior.
exitMaintenant, à part ajouter un test qui n'exécute pas le script et affiche un message disant pourquoi s'il n'est pas lancé dans une fenêtre émulateur de terminal non compatible avec les commandes de redimensionnement de l'environnement gnome, je pense que l'on arrive au bout de ce qui est raisonnable de faire avec ce petit "jouet".
Je m'y pencherais dessus plus tard car je dois le tester sur différentes machines (x86_64, rpi 500+, MacMini M4, etc) et différentes distros / versions (Debian 12 et 13; Ubuntu 24.04 et 26.4, Mint, etc) et ça demande pas mal de temps avec tous les reboot à faire
Merci encore.
Cheers.
Dernière modification par fnux (Le 10/07/2026, à 22:01)
N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
2 x iMac27 x86_64 CPU i7 Quad Core@3.4GHz RAM 32 GB SSD 4TB
1 x Raspberry PI 500+ aarch64 CPU ARM Kortek K76 Quad Core@2.4 GHz RAM 1GB SSD NVme 256 GB
OSes: Debian 12 & Debian 13 - Ubuntu 24.04 LTS & Ubuntu 26.04 LTS - multiple macOS - Windows 10 & 11
Hors ligne
#15 Le 10/07/2026, à 22:00
- fnux

Re : [Résolu] Commandes bash sous gnome plus reconnues sous wayland.
Bonjour MicP,
merci de tes réponses détaillées et surtout pour le lien environnement de bureau très instructif.
Le programme qui affiche la fenêtre de l'émulateur de terminal dépend de l'environnement de bureau choisi.
J'ai installé Ubuntu 26.04 LTS à partir de l'iso "de base" proposé sur le site de Cannonical, mais je ne me souvient pas qu'il m'est été proposé de choisir un environnement de bureau lors de l'installation.
- sous Ubuntu 24.04 LTS, le menu applications propose un "Terminal"
- sous Ubuntu 26.04 LTS, le menu applications propose une "Console"
- dans le "Terminal" d'Ubuntu 24.04 LTS par exemple les commandes bash de redimensionnement de la fenêtre du Terminal fonctionnent très bien,
- alors que dans la "Console" d'Ubuntu 26.04 LTS elles ne fonctionnent plus !
…
Dans aucune de ces lignes tu ne dis quel environnement de bureau tu as choisi pour l'installation du système, ce qui fait qu'on ne peut pas savoir quel programme est utilisé par défaut pour la fenêtre d'émulation de terminal.
Désolé, j'ai oublié de le mentionner.
Aussi, pour répondre cette question, j'ai modifié le petit script bash qui est sensé redimensionner la "fenêtre" de l'émulateur de terminal pour que ceux qui prennent le temps de l'exécuter (moins d'une minute) aient un retour qui ne soit pas ambigu.
#!/bin/bash
# File : save-change-restore-LC.sh
# Title : Save, change and restore the lines and columns of a gnome Terminal
# Date : June 24, 2026
# Release : 1.01
# Author : fnux
# Contact : fnux.fl@gmail.com
# Copyright: (C) 2026 - ISS Inc.
# Licence : Cc-By-Sa 4.0 - https://creativecommons.org/licenses/by-sa/4.0/legalcode.en
#
trap "tput cnorm; exit" INT TERM EXIT # This command restores correctly the cursor
os_name=$(lsb_release -sc) # Put the OS name in the bash variable $os_name
os_version=$(lsb_release -sd) # Put the OS version nikename in the variable $os_verssion4
machine_type=`uname -m` # Put the machine type "aarch4" or "x86_64" in the variable machine_type
clear
printf "\e[?25l" # This command stops the cursor blinking.
printf "\n" # This command perform a carriage return and put the cursor on a new line
#
# The next command display a message with the name of the user who launched the scritp ($USER) with its first letter capitalized.
#
printf "Hello ${USER^}\n\nYour machine is an $machine_type CPU type running $os_version $os_name.\n"
sleep 2 # This command makes a 2 seconds pause
# The next command saves the number of lines end columns of the terminal window in the variable $savLC but be aware
# that this command doesn't work in the "Console" of wayland unless you've installed some gnome packets an use its
# "Terninal" application Vs. the default wayland "Console" .
savLC="$LINES $COLUMNS"
# The next command displays a message with the number of lines and columns saved in the variable $sav_LC
printf "\nYour terminal original size was saved with its current size of %d lines\nand %d columns.\n\n" $savLC
sleep 4
printf "Now, for this test, I'll resize your terminal to 30 lines and 132 columns\033[8;30;132t\nfor 10 seconds to let you modify the size of your terminal using the mouse.\n\n"
#
# During the 10 seconds pause, you can modify the size of your terminal window with your mouse.
#
for (( i=-10; i<=0; i++ ))
do # This command starts a loop of 10 seconds
printf " $i \r" # This command displays the number of iterration of the loop $i without a carriage return "\r"
sleep 1
done # This commands ends the loop
printf "Since your terminal original size was saved with %d lines and %d columns,\n" $savLC
printf "\nnow, I'll restore your terminal to its original saved size with %d lines\nand %d columns in 10 seconds.\n\n" $savLC
#
# During the second 10 seconds pause, you can modify again the size of your terminal window with your mouse.
#
for (( i=-10; i<=0; i++ ))
do
printf " $i \r"
sleep 1
done
printf "\033[8;%d;%dt" $savLC # This command restore the window to its original numbers of lines and columns
printf "Your terminal original size of %d lines and %d columns is now restored\nto its original sizes of %d lines and %d columns.\n" $savLC $savLC
printf "\nEnjoy this script ${USER^}.\n\nGoodbye.\n\n"
printf "\e[?25h" # this command restores the cursor behavior.
exit # This command ends the script and returns to the system=======
…2) existe t-il des commandes bash de la Console de wayland qui puissent remplacer celles du Terminal de gnome qui ne fonctionnent pas ?…
Wayland n'est pas un environnement de bureau, il n'existe pas de "Console de Wayland"
Voir aussi : https://wayland-book.com/
Merci.
N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
2 x iMac27 x86_64 CPU i7 Quad Core@3.4GHz RAM 32 GB SSD 4TB
1 x Raspberry PI 500+ aarch64 CPU ARM Kortek K76 Quad Core@2.4 GHz RAM 1GB SSD NVme 256 GB
OSes: Debian 12 & Debian 13 - Ubuntu 24.04 LTS & Ubuntu 26.04 LTS - multiple macOS - Windows 10 & 11
Hors ligne