Question

Je jure qu’il y avait un moyen dans X de commencer à capturer tout le trafic du terminal dans un fichier sur votre hôte. C'était peut-être une extension HummingBird, mais je pensais que c'était standard. Maintenant, je ne trouve pas le truc. Est-ce que je hallucine (ça se passe quand on vieillit), ou est-ce possible?

Je ne parle pas de 'tee'. Je veux pouvoir envoyer une séquence de contrôle xterm à stdout, en donnant un nom de fichier, et tout s'affiche dans la fenêtre à partir de ce moment-là, sauvegardé dans le fichier (jusqu'à ce que l'annulation de fin de livre soit émise).

Était-ce utile?

La solution

Cette fonctionnalité s'appelle la journalisation et existe dans le code source mais est désactivée par défaut pour des raisons de sécurité. Voulez-vous vraiment que tous ceux qui ont la possibilité d'écrire des séquences de contrôle sur votre terminal ( par exemple , l'auteur de tout fichier que vous pourriez un jour cat ) puissent écrire des données arbitraires des fichiers nommés arbitrairement sous votre compte?

Par exemple, un attaquant pourrait facilement utiliser cette fonctionnalité pour modifier votre ~ / .ssh / registered_keys afin d'accorder l'accès à l'attaquant, et modifier votre ~ / .profile en envoyez une requête ping à l’attaquant avec votre adresse IP.

Cela dit, si vous compilez xterm avec - enable-logging ET vous #define ALLOWLOGFILECHANGES , puis selon le Séquences de contrôle Xterm , vous aurez accès aux séquences de contrôle suivantes:

^[[?46h            Start logging
^[[?46l            Stop logging
^[]46;filename\007 Change log file to `filename`

Le nom du fichier journal sera par défaut appelé Xterm.log.nomhôte.aaaa.mm.dd.hh.mm.ss.XXXXXX .

Il existe également une option permettant d'activer la journalisation via un tuyau, ce qui est également très dangereux si vous autorisez la modification de l'enregistreur via des séquences de contrôle. Cela permettrait également à quiconque d’exécuter son code sur votre système.

Autres conseils

La question est plutôt vague.

Essayez de regarder:

  1. " ttyrec / ttyplay " pour enregistrer un "film" en mode texte de votre session de terminal
  2. " écran " pour enregistrer une sortie standard de votre session entière
  3. " tee " pour enregistrer un stdout / stderr d’une seule commande

Je suis un peu dérouté par la façon dont vous avez posé votre question. D'abord, vous mentionnez Xterm, puis X, puis terminal, cherchez-vous simplement le "tee"? ( man tee ) commande?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top