2017-01-02 9 views
0

J'essaie d'obtenir de l'aide de quelqu'un, je veux donc enregistrer mon écran pour être en mesure d'examiner plus tard ce qui s'est passé. Auparavant, j'ai utilisé ssh avec tee comme ssh [email protected] | tee recfile et l'enregistrement fonctionne bien. Même lorsque j'utilise byobu sur le serveur, tout est enregistré en utilisant ce simple tuyau.Enregistrement d'un écran de terminal entier en utilisant le tee

Mais quand je pipe byobu lui-même à tee, le fichier ne contiendra rien. J'ai utilisé à la fois byobu | tee recfile et byobu |& tee recfile. Dans les deux cas, byobu démarre et fonctionne bien, mais le fichier d'enregistrement ne contiendra que quelques lignes non liées aux événements survenus lors de la session byobu.

et byobu utilise tmux. J'ai également tenté de rediriger tmux vers tee, et le fichier de sortie ne contenait que [exited].

Ma question est comment tmux écrit à l'écran? Il semble qu'il n'utilise pas de sortie standard ou d'erreur standard, comme si c'était le cas, tee pourrait fonctionner en enregistrant l'écran. Est-il possible de dire à tmux d'écrire sur la sortie standard ou sur l'erreur standard? Ou existe-t-il un autre moyen de rediriger la sortie vers tee?


Edit: Je vérifie que screen | tee recfile et screen |& tee recfile produira un fichier vide. En outre, bash | tee recfile redirigera uniquement la sortie des commandes exécutées vers le fichier ([email protected]:~$ et les commandes d'entrée ne s'y trouvent pas). bash |& tee recfile fera de même, sauf que l'invite du bash ([email protected]:~$) ne s'affiche pas du tout.

+3

Avez-vous essayé d'utiliser 'script' pour enregistrer votre session? –

+0

'tmux' utilise des tampons, donc vous pouvez utiliser [cette solution de contournement] (https://ricochen.wordpress.com/2011/04/07/capture-tmux-output-the-much-less-painful-way/) pour Enregistrez votre session tmux dans un fichier. – F4240

+0

Vous pouvez utiliser l'outil 'recordmydesktop' qui a une interface graphique gtk que vous pouvez utiliser pour sélectionner des fenêtres spécifiques à enregistrer. – Yokai

Répondre

0

Comme gniourf_gniourf a souligné, script a résolu mon problème. J'ai également écrit un simple code C++ pour lire le fichier enregistré. Compilez-le avec --std=c++11. (J'utiliser script -c byobu --timing=recfile.tim recfile pour enregistrer et scriptout recfile recfile.tim 3 pour la lecture.)

https://gist.github.com/Shayan-To/672c77fbf9811d769d453c8a9b43747e