Il y a donc, je crois, 2 questions à ce sujet. Tous ont à voir avec tail -f
et donc les gens donnent la réponse tangente de «utiliser moins».
J'en ai besoin pour tout, pour chaque commande, etc. Le problème est que je dois exécuter beaucoup de fenêtres de console et même avec plusieurs moniteurs, je dois encore les réduire. En conséquence, à peu près chaque sortie est supprimée par le retour à la ligne et difficile à lire.
Une solution suggérée est echo -ne '\e[?7l'
, qui fonctionne quelque peu. Le problème maintenant, est-il possible d'obtenir des barres de défilement sur une console?
Ubuntu 12.10, Terminal
ls
etmcedit
fonctionnent correctement, car la largeur de l'écran et la largeur du tampon sont traitées séparément.Réponses:
Ce que vous demandez, c'est un terminal de largeur infinie, dont une partie est affichée. Ce n'est pas comment les terminaux fonctionnent traditionnellement ni comment les applications s'attendent à ce qu'ils fonctionnent.
Par exemple, si le terminal a une largeur infinie, comment les applications visuelles sont-elles censées fonctionner lorsqu'elles veulent afficher quelque chose au milieu de l'écran?
Cependant, vous pouvez utiliser GNU
screen
(vous êtes censé pouvoir attacher une session d'écran à partir de plusieurs terminaux de différentes tailles afin que l'écran sache comment afficher une petite fenêtre d'un terminal plus grand) et définir lascreen
largeur des fenêtres à quelque chose très grandes, puis tromper les applications visuelles en pensant que la largeur de l'écran est celle d'origine.Comme (à l'intérieur
screen
)Certaines applications visuelles fonctionneront bien, d'autres pas si bien (pour une installation lorsqu'elles font un positionnement relatif ou lorsqu'elles reposent sur l'enveloppement du terminal).
vim
semble fonctionner correctement.Ensuite, pour faire défiler et copier-coller des données, la seule option est d'utiliser
screen
le mode de copie de . (<prefix>]
) et déplacez le curseur (voirinfo -f screen -n Movement
pour vous déplacer en mode copie ).tmux
peut avoir des capacités similaires.Cet
terminator
émulateur de terminal (basé sur java), qui n'est pasterminator
celui fourni avec ubuntu, fait exactement cela avec une largeur de terminal infinie:screen
solution basée ci-dessus dans la mesure où son entrée terminfo affirme qu'il ne fait pas de retour à la ligne afin que les applications en soient conscientes, et BS au début de la ligne ne passe pas à la fin de la ligne précédente.la source
screen -X width -w 1000
retours en coursNo screen session found.
, des idées?screen
. Commencez d'screen
abord.screen -X width -w 1000 <mycommand>
screen
est un émulateur de terminal basé sur un terminal. Vous devez donc le démarrer d'abord comme vous auriez besoin de le démarrerxterm
ou d'gnome-terminal
abord, en exécutant lascreen
commande. Ensuite, à l'intérieur de ce nouvel émulateur de terminal, vous exécutez cettescreen -X
commande pour indiquerscreen
de modifier la largeur de sa fenêtre. Voir aussi ma réponse modifiée pour l'terminator
émulateur que je pense que vous préférerez.Bien qu'Emacs soit principalement un éditeur et un IDE¹, il correspond très bien à votre problème. Vous pouvez exécuter un programme dans une fenêtre Emacs et Emacs l'affiche dans un terminal stupide de largeur et de hauteur infinies. Si le curseur se trouve à la fin de la mémoire tampon, la fenêtre défile lorsque le programme produit une sortie; si vous déplacez le curseur, la fenêtre restera sur place à mesure que la sortie augmentera.
Tapez
M-x shell RET
(ie Alt+ xshell
Return) pour démarrer un shell dans un tampon Emacs. TapezC-u M-x shell RET
ouM-1 M-x shell RET
pour démarrer un autre shell. Vous pouvez exécuter un programme dans chaque shell et organiser les tampons dans plusieurs fenêtres comme vous le souhaitez.¹ On dit parfois que c'est un meilleur système d'exploitation qu'un éditeur, mais seulement par des gens qui ne l'utilisent pas - c'est juste une blague.
la source