Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 19/04/2026, à 06:55

iznobe

bug historique terminal toute versions récentes

Bonjour , ça fait un moment que j' ai remarqué ce bug , depuis la 20.04 .
j ' ouvre 2 fenêtres de terminal , dans la 2eme , je fais :

iznobe@iznobe-PC-U2604:~$ ls -l
total 40
drwxr-xr-x 2 iznobe iznobe 4096 Nov 27 13:16 Bureau
drwxr-xr-x 2 iznobe iznobe 4096 Nov 27 13:16 Documents
drwxr-xr-x 2 iznobe iznobe 4096 Nov 27 13:16 Images
drwxr-xr-x 2 iznobe iznobe 4096 Nov 27 13:16 Modèles
drwxr-xr-x 2 iznobe iznobe 4096 Nov 27 13:16 Musique
drwxr-xr-x 2 iznobe iznobe 4096 Nov 27 13:16 Public
drwxr-xr-x 2 iznobe iznobe 4096 Nov 27 13:16 Téléchargements
drwxr-xr-x 2 iznobe iznobe 4096 Nov 27 13:16 Vidéos
-rw-rw-r-- 1 iznobe iznobe 2380 Mar 19 14:33 foo.png
drwx------ 7 iznobe iznobe 4096 Dec 17 09:00 snap
iznobe@iznobe-PC-U2604:~$ 

dans la 1ere je fais :

iznobe@iznobe-PC-U2604:~$  history
....
   91  sudo apt update
   92  sudo apt full-upgrade 
   93  sudo reboot
   94  sudo mount /dev/nvme0n1p5 /mnt
   95  sudo nano /mnt/etc/fstab
   96  history
iznobe@iznobe-PC-U2604:~$ 

je reviens dans la 2eme et je fais :

iznobe@iznobe-PC-U2604:~$  history
....
  114  ls -l
  115  history
iznobe@iznobe-PC-U2604:~$ 

je reviens dans la 1ere , et " history " donne toujours le même retour et s ' arrête a 96 commandes listées ...

Avant je me disais que c' etait possiblement du a des modifications que j' avais faites.

Sur la 26.04 , là je suis certain que ce n ' est pas lié a des modifs que j' aurais mis en place.

Dernière modification par iznobe (Le 19/04/2026, à 07:01)

Hors ligne

#2 Le 19/04/2026, à 07:42

O_20_100_O

Re : bug historique terminal toute versions récentes

Bonjour,
Je ne constate pas cela. Ni sur une VM en 24.04 avec "Terminal de Gnome", ni sur une autre distribution avec Gnome 49 et  "Terminal" qui est "ptyxis".
Dans la VM, l'historique présente les 116 commandes de mon test avec les partages en sshfs et NFS, puis les même + ls.

Hors ligne

#3 Le 19/04/2026, à 08:29

iznobe

Re : bug historique terminal toute versions récentes

Salut O_20_100_O , a mon avis , tu ne fais pas la manip correctement ...

Ouvre 2 terminaux .
Ensuite , dans un donne le retour de

history | tail -1

.
Dans l' autre , donne le retour de

history | tail -2

, aussi .
Tu verras que la dernière commande de l' un ne correspond pas à la dernière commande de l' autre .

Pour les autres distros , avec d' autres terminaux , évidemment , ça n ' entre pas en compte ...

Voici un autre example , c' est clair que ça ne va pas :

iznobe@iznobe-PC-U2604:~$ history|tail -5
  172  history tail -1
  173  history tail 1
  174  history | tail 1
  175  history | tail -1
  176  history|tail -5
iznobe@iznobe-PC-U2604:~$ 
iznobe@iznobe-PC-U2604:~$ history|tail -6
  170  snap remove firefox
  171  sudo mount -av
  172  history
  173  history | tail -1
  174  history |tail -2
  175  history|tail -6
iznobe@iznobe-PC-U2604:~$ 

celle ci-dessus , est la commande que j' ai passé en dernier .
les numeros de commandes ne sont pas bons , et la commande : " history|tail -5 " , n' est pas répertoriée du tout .

Dernière modification par iznobe (Le 19/04/2026, à 08:39)

Hors ligne

#4 Le 19/04/2026, à 09:03

O_20_100_O

Re : bug historique terminal toute versions récentes

Alors en refaisant avec ce dernier protocole :
D'abord l'historique ne s'arrête pas à un nombre limité de lignes, il donne tout le passé. Par contre il faut fermer les fenêtres en cours et en ouvrir une nouvelle pour avoir un historique qui tient compte de ce qui a été fait dans les dernières fenêtres.

Et je pense que c'est ainsi depuis bien longtemps, c'est pénible quand on recherche une commande récente sur un terminal, alors qu'elle a été passée sur un autre et que l'on ne sait plus lequel tongue

Dernière modification par O_20_100_O (Le 19/04/2026, à 09:04)

Hors ligne

#5 Le 19/04/2026, à 09:06

eric63

Re : bug historique terminal toute versions récentes

Salut
chez moi ca ressemble à ce qu’à iznobe

Sur konsole scindé en 2 (11-12) et en même temps sur 2 terminaux supplémentaires (13-14)
chacun des 4 terminaux retient son history propre tant qu’ils sont ouverts

kubu@kubu-System-Product-Name:~$ history | tail -11
  819  history
  820  history | tail -2
  821  history | tail -6
  822  history | tail -1
  823  history | tail -5
  824  history | tail -4
  825  history | tail -8
  826  history | tail -3
  827  history | tail -7
  828  history | tail -8
  829  history | tail -11
kubu@kubu-System-Product-Name:~$ 
kubu@kubu-System-Product-Name:~$ history | tail -12
  818  ls -l
  819  history
  820  history | tail -2
  821  history | tail -6
  822  history | tail -1
  823  history | tail -5
  824  history | tail -4
  825  history | tail -8
  826  history | tail -3
  827  history | tail -7
  828* 
  829  history | tail -12
kubu@kubu-System-Product-Name:~$ 
kubu@kubu-System-Product-Name:~$ history | tail -13
  817  history
  818  ls -l
  819  history
  820  history | tail -2
  821  history | tail -6
  822  history | tail -1
  823  history | tail -5
  824  history | tail -4
  825  history | tail -8
  826  history | tail -3
  827  history | tail -7
  828  history | tail -8
  829  history | tail -13
kubu@kubu-System-Product-Name:~$ 
kubu@kubu-System-Product-Name:~$ history | tail -14
  816  ls -l
  817  history
  818  ls -l
  819  history
  820  history | tail -2
  821  history | tail -6
  822  history | tail -1
  823  history | tail -5
  824  history | tail -4
  825  history | tail -8
  826  history | tail -3
  827  history | tail -7
  828  history | tail -8
  829  history | tail -14
kubu@kubu-System-Product-Name:~$ 

puis j’éteins tous les terminaux et rouvre  1 seul terminal

kubu@kubu-System-Product-Name:~$ history | tail -22
  816  ls -l
  817  history
  818  ls -l
  819  history
  820  history | tail -2
  821  history | tail -6
  822  history | tail -1
  823  history | tail -5
  824  history | tail -4
  825  history | tail -8
  826  history | tail -3
  827  history | tail -7
  828  history | tail -8
  829  history
  830  history | tail -14
  831  history
  832  history | tail -13
  833  history | tail -12
  834  history
  835  history | tail -11
  836  history
  837  history | tail -22
kubu@kubu-System-Product-Name:~$ 

Kubuntu 25.10 wayland  KDE Plasma 6.5.6 Qt 6.9.2 noyau 6.17.0-29 Framework 6.20
Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script demonipuch
J’utilise le clavier azerty AFNOR

Hors ligne

#6 Le 19/04/2026, à 09:09

O_20_100_O

Re : bug historique terminal toute versions récentes

@eric63,
Je peux te dire que les serveurs SSH de ton serveur/portable et de ton fixe sont en écoute et qu'ils acceptent toujours une connexion par mot de passe. Je viens de le constater. Tu devrais corriger cela, soit en n'acceptant que la clé soit en désactivant le service s'il ne te sert pas.

Hors ligne

#7 Le 19/04/2026, à 10:07

eric63

Re : bug historique terminal toute versions récentes

[HS]
O_20_100_O
je sais pas comment faire cela j’ouvre un post pour ça https://forum.kubuntu-fr.org/viewtopic.php?id=2095129
je veux garder au moins le ssh vers le nvme de la freebox;
le ssh vers le serveur avec mdp ne me sers pas ou n’est pas optimal avec digikam
comment tu te connectes chez moi ???
[/HS]

Dernière modification par eric63 (Le 19/04/2026, à 10:58)


Kubuntu 25.10 wayland  KDE Plasma 6.5.6 Qt 6.9.2 noyau 6.17.0-29 Framework 6.20
Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script demonipuch
J’utilise le clavier azerty AFNOR

Hors ligne

#8 Le 19/04/2026, à 11:02

MicP

Re : bug historique terminal toute versions récentes

Bonjour

iznobe a écrit :

… j' ai remarqué ce bug …

Ce n'est pas un bug, et ça toujours été comme ça (autant que je me souviennes)

Si vous ouvrez plusieurs shells simultanement, chacun de ces shells aura son environnement propre : son history, ses variables d'environnement, etc.

Je pense que, dans la plupart des cas, vous n'aimeriez pas du tout que le comportement d'un shell change en fonction de ce qu'il se passe dans un autre shell.

En gros, le fichier ~/.bash_history est chargé en mémoire à l'ouverture du shell et ce fichier sera mis à jour à la fermeture du shell.

Dernière modification par MicP (Le 19/04/2026, à 11:05)

Hors ligne

#9 Le 19/04/2026, à 11:04

iznobe

Re : bug historique terminal toute versions récentes

Bonjour @MicP , c ' est sûr que non , mais bon , là on parle que de l' historique .
Parfois il m' arrive d  ' avoir 3 ou 4 fenetres de terminal , et quand je veux chercher une commande de l' historique , et bien voilà quoi ....

Peut être qu ' il serait bon de gérer l' historique des terminaux d ' une manière plus globale , je pense que ça doit être possible ( et qu ' il ne soit pas nécessaire de fermer un terminal pour avoir l' historique ).
Parce que c' est franchement relou de se taper une recherche dans 4 terminaux au final roll

De plus , les commandes ne sont pas répertoriées dans le bon ordre de temps / numéro de passage avec ce système ...

Alors , ca peut paraître anodin , mais selon ce qu ' on est en train de faire , c ' est vraiment pas pratique du tout .

Dernière modification par iznobe (Le 19/04/2026, à 11:08)

Hors ligne

#10 Le 19/04/2026, à 11:14

MicP

Re : bug historique terminal toute versions récentes

Bonjour

Si tu veux que le fichier ~/.bash_history soit mis à jour et rechargé à chaque fois que le prompt s'affiche dans n'importe quel shell bash ouvert,
tu peux ajouter cette ligne de commandes dans ton fichier ~/.bashrc :

PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"   # À chaque fois que le prompt sera affiché : -a append; -c clear; -r read

Voir aussi :

man --pager='less -p "PROMPT_COMMAND"' bash

et aussi

man --pager='less -p "^HISTORIQUE"' bash

et aussi

man history

=======
Et pour que la date/heure à laquelle chaque ligne de commande a été entrée soit aussi enregistrée dans ton fichier ~/.bash_history,
tu peux ajouter cette ligne de commande dans ton fichier ~/.bashrc

HISTTIMEFORMAT="%d-%m-%Y %T "   # Format d'affichage date/heure des lignes de commande(s) enregistrées dans ~/.bash_history

Dernière modification par MicP (Le 21/04/2026, à 22:46)

Hors ligne

#11 Le 19/04/2026, à 11:35

iznobe

Re : bug historique terminal toute versions récentes

Merci je vais tester .


[ HS ]
Je cherche aussi l ' astuce qui permet au terminal d' afficher avec la fléche haut les commandes déja passées qui commencent avec les lettres qu ' on a deja tapées , mais je ne retrouve plus cette astuce ...

Une idée ?

[ /HS ]

Dernière modification par iznobe (Le 19/04/2026, à 12:16)

Hors ligne

#12 Le 19/04/2026, à 11:37

O_20_100_O

Re : bug historique terminal toute versions récentes

Ctrl+r

À condition d'être sur le bon terminal smile
Tu diras si l'astuce de MicP fonctionne.

Dernière modification par O_20_100_O (Le 19/04/2026, à 11:39)

Hors ligne

#13 Le 19/04/2026, à 11:46

iznobe

Re : bug historique terminal toute versions récentes

[ HS ]
ha j ' ai retrouvé , et non c e n' est pas la " reverse search "  dont je parle , c' est encore mieux et plus rapide si tu connais le début de la commande .
c ' est là : https://debian-facile.org/doc:programma … rse-search

Par exemple tu écris : " g " , puis tu utilises la touche ↑ et s'affichent à la suite toutes les commandes qui commencent par “g” et qui se trouvent dans ton ~/.bash_history..

Pareil, bien sur, si tu tapes “ge”, s'affiche > gedit /tra/la/la…touche…> .geany /super/coptère

Pour ce faire, éditer avec nano :

1- à la fin de ~/.bashrc

 # appel alphabétique commandes
 shopt -s histappend
 PROMPT_COMMAND='history -a'

2 - dans ~/.inputrc (à créer au lieu d'utiliser /etc/inputrc)

 "\e[A": history-search-backward
 "\e[B": history-search-forward

Bien sûr, utilisable pour root (à condition de lui cloquer la même chose)


[ /HS ]

Dernière modification par iznobe (Le 19/04/2026, à 12:17)

Hors ligne

#14 Le 19/04/2026, à 11:57

eric63

Re : bug historique terminal toute versions récentes

la recherche se fait pas avec his + touche tab ? pour avoir seulement history
avec moins h ou hi il te nomme toutes les possibilités
h + la touche flèche haute donne la dernière commande history et plus si tu rappuie sur la touche la touche flèche

Dernière modification par eric63 (Le 19/04/2026, à 12:01)


Kubuntu 25.10 wayland  KDE Plasma 6.5.6 Qt 6.9.2 noyau 6.17.0-29 Framework 6.20
Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script demonipuch
J’utilise le clavier azerty AFNOR

Hors ligne

#15 Le 19/04/2026, à 12:03

iznobe

Re : bug historique terminal toute versions récentes

MicP a écrit :

Si tu veux que le fichier ~/.bash_history soit mis à jour et rechargé à chaque fois que le prompt s'affiche dans n'importe quel shell ouvert,
tu peux ajouter cette ligne de commandes dans ton fichier ~/.bashrc :

PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"   # À chaque fois que le prompt sera affiché : -a append; -c clear; -r read

Marche pô ...
Dans un 1eree fenêtre ( apres avoir sourcer le .bashc et réouvert une nouvelle session ) :

iznobe@iznobe-PC-U2604:~$ history | tail -10
  207  nano .bashrc
  208  tee ~/.inputrc << EOF
  209   "\e[A": history-search-backward
  210   "\e[B": history-search-forward
  211  EOF
  212  source .bashrc
  213  history | tail -1
  214  history|tail -2
  215  history | tail -1
  216  history | tail -10
iznobe@iznobe-PC-U2604:~$ 

Dans la seconde :

iznobe@iznobe-PC-U2604:~$ history | tail -11
  206  sudo apt-get update && sudo apt install sublime-text
  207  nano .bashrc
  208  tee ~/.inputrc << EOF
  209   "\e[A": history-search-backward
  210   "\e[B": history-search-forward
  211  EOF
  212  source .bashrc
  213  history | tail -1
  214  history|tail -2
  215  history | tail -1
  216  history | tail -11
iznobe@iznobe-PC-U2604:~$ grep PROMPT_COMMAND .bashrc
PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
iznobe@iznobe-PC-U2604:~$ 

Hors ligne

#16 Le 19/04/2026, à 12:10

MicP

Re : bug historique terminal toute versions récentes

iznobe a écrit :

… Marche pô ...

Là, tu as ouvert un shell (que je nommerai shell_A), puis tu as ensuite ouvert un autre shell (que je nommerai shell_B) dans lequel tu as lancé une ligne de commandes.

Au moment de l'ouverture du shell_A, le fichier ~/.bash_history a été chargé dans le shell_A, mais c'était avant que le shell_B ne lance sa ligne de commande et qu'il ne mette à jour le fichier ~/.bash_history

Comme je le spécifiais, avec ma proposition de modification, le fichier ~/.bash_history est mis à jour à chaque fois qu'une ligne de commande est lancée dans un shell ce que tu peux vérifier,
mais là, tu demande au shell_A d'afficher ce qu'il avait chargé avant que shell_B n'ait lancé sa ligne de commandes et mis à jour le fichier ~/.bash_history.

Pour que le shell_A prenne en compte les modifications que le shell_B a fait dans le fichier ~/.bash_history, il faut que le shell_A recharge le fichier ~/.bash_history (simplement en appuyant sur entrée pour faire afficher un nouveau prompt)

Après avoir appuyé sur Entrée dans le shell_A pour lui faire prendre en compte les dernières modifications qui auraient été faites dans le fichier ~/.bash_history par le shell_B,
tu peux appuyer sur la touche Flèche vers le haut pour voir s'afficher la dernière ligne de commandes qui a été lancée dans le shell_B

=======

iznobe a écrit :

… les commandes déja passées qui commencent avec les lettres qu ' on a deja tapées …

Pour que la ligne de commande trouvée ne soit pas directement lançée mais d'abord simplement affichée, il faut positionner à set l'option histverify du shell bash (c'est une des lignes de commande qui sont dans mon ~/.bashrc)

shopt -s histverify

Ensuite, pour relancer la plus récente ligne de commande(s) qui commencerait par p
j'entre sur la ligne de commande :

!p

un nouveau prompt s'affiche alors juste en dessous avec la ligne de commande(s) trouvée => il n'y a plus qu'à valider l'exécution de la ligne de commande trouvée en appuyant sur la touche Entrée :

mic@deb1210:~$ !p
mic@deb1210:~$ ping -c3 8.8.8.8

Dernière modification par MicP (Le 19/04/2026, à 13:39)

Hors ligne

#17 Le 21/04/2026, à 21:53

iznobe

Re : bug historique terminal toute versions récentes

Salut @ MicP
je testereais l ' actualisation via la commande " a vide " entre 2 terminaux un peu plus tard .

Pour l ' aautre partie , je trouve que c' est plus simple de monter et de descendre avec les fleches , peut etre l' habitude .
Et donc du coup j ' ai appliqué çe qui est indiqué au #13 , en version faignasse qu ' on peut le voir dans mes derniers retours :
j ' ai ajouté ta ligne ( qui comportait deja ce qui etait demandé pour la 1ere partie du post 13 , suivi de :

tee ~/.inputrc << EOF
 "\e[A": history-search-backward
 "\e[B": history-search-forward
EOF

Relancer le terminal , et ça marche sans soucis avec les flèches , enfin presque , car si on veut modifier la commande , il me semble que cela l' efface roll

Faut que je teste ça aussi , plus tard .

Hors ligne

#18 Le 21/04/2026, à 22:42

MicP

Re : bug historique terminal toute versions récentes

Voir : gnu.org Bash Features -> 9.2 Bash History Builtins
La méthode que j'ai proposé dans mon message #10 permet de "synchroniser" l'history qui est en mémoire de chacun des shells ouverts, mais je n'ai pas fait un système qui va passer son temps à vérifier si un changement a eu lieu dans l'history de chacun des shells ouverts,
c'est donc seulement quand le prompt revient s'afficher, juste après l'exécution d'une ligne de commandes, que cette synchronisation est faite.

Donc si on lance une commande dans un shell, l'autre ne la verra dans son history qu'après avoir affiché un nouveau prompt puisque c'est l'affichage du prompt qui lance les commandes de sauvegarde et actualisation du fichier ~/.bash_history

=======
Pour lister les raccourcis claviers qui sont accessibles dans ta fenêtre de terminal,
lance la ligne de commandes suivantes :

bind -P | sort | sed  '/ is not bound to any keys/d;s/ can be found on /\t\t/' | less -S

Voir aussi :

man --pager='less -p "^READLINE"' bash
man --pager='less -p "bind \["' bash

gnu.org Bash Features -> 8.4 Bindable Readline Commands

Dernière modification par MicP (Le 22/04/2026, à 08:10)

Hors ligne