Je n'aime pas la sortie de more
sur HP-UX, donc j'utilise less
plutôt comme pager:
PAGER=less
Sa sortie est agréable, mais sous Linux, lorsque j'utilise man
puis quitte, je reviens au shell, et l'affichage ressemble exactement à ce que je l'ai laissé, mais sur HP-UX, quand je reviens au shell, là est une ligne partielle laissée avant l'invite, un peu comme la commande suivante produit:
echo -e "text \c"
Regarde ça:
sur HP-UX:
user@hpux2:~$ man ls Riformattazione in corso. Attendere...user@hpux2:~$
(le message en italien signifie "Reformatage en cours, veuillez patienter")
sous Linux:
user@linux:~$ man ls user@linux:~$
Comment résoudre ce problème?
q
ou en utilisantCTRL+C
. J'ai une machine HPUX et elle semble revenir à la nouvelle ligne (similaire à linux) si je donneq
ouCTRL+C
. J'aiEDITOR=vi
dans mes variables d'environnement.Réponses:
L'échange d'écran se fait avec un code de contrôle du terminal. Ces codes sont documentés sous
terminfo(5)
. Les deux impliqués dans la sauvegarde / restauration d'écran sont généralementsmcup
etrmcup
. Le premier active un mode d'adressage de curseur spécial du terminal (sm = "set mode") et le second le désactive. En règle générale, ces deux enregistreront l'écran et le restaurer.Si la restauration d'écran ne fonctionne pas, il est possible que ces entrées soient incorrectes pour votre type de terminal. Vous pouvez imprimer le contenu de l'entrée terminfo actuelle à l'aide de la
infocmp
commande. Vous devrez regarder ces entrées (smcup
etrmcup
) et comparer les séquences d'échappement avec le manuel de votre terminal pour déterminer ce qu'elles font. Il y a de fortes chances que votre terminal soit légèrement différent de celui attendu par l'entrée terminfo.la source
La fonctionnalité mentionnée est l' écran alternatif de xterm qui a été introduit dans X.V10R4 (décembre 1986). Bien que la fonctionnalité ait été prise en charge, elle n'a pas été ajoutée à la description du terminal avant X11R6 (environ dix ans).
La description du terminal HPUX
xterm
pour est la même que la description du X11R5, avec quelques ajouts (principalement les touches de fonction 1-12). Encore une fois, la fonction (touches de fonction) était prise en charge par le programme depuis un certain temps, mais n'a pas été ajoutée à la description du terminal.Voici ce que
infocmp
signale HPUX:Voici les liens vers le fichier X11R6 et le X11R3 (inchangé via X11R5). La fonction d'écran alternative dans la description du terminal X11R6 est fournie par cette ligne :
Avec ncurses (Linux, etc.), vous avez une description du terminal beaucoup plus récente qui répertorie toutes les fonctionnalités applicables.
Pour HPUX, vous pouvez résoudre le problème en utilisant tic pour compiler une description de terminal avec la fonctionnalité ajoutée. Si vous avez un accès root sur la machine HPUX, c'est simple:
Sinon, vous pouvez contourner ce problème en définissant le tic
environment variable to your own terminfo directory, and running
TERMINFO à compiler dans ce répertoire. Quelque chose comme(vous auriez également besoin de
TERMINFO
définir dans votre shell pour les sessions de suivi).la source