====== SCRIPT Enregistrer et visionner des sessions dans le terminal ======
* Objet : script, Utilisation
* Niveau requis : {{tag>débutant avisé}}
* Commentaires : //Enregistrer et visionner des sessions dans le terminal. //
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
* Suivi :
* Création par [[user>smolski]] le 11-02-2010
* Testé par [[user>smolski]] le 05-03-2014 , en vrai le 28/03/2017
* Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=2297 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Préalable =====
Le logiciel //script// n'a rien à voir avec [[doc:programmation:scripts | les scripts shell]]. \\
Il peut être utilisé dans n'importe quel terminal (et non «shell») pour enregistrer les entrées et sorties de celui-ci. C'est un peu comme une capture vidéo de l'écran, sauf que là c'est une capture de terminal (caractères de contrôle compris).
Cela ne capture pas seulement les entrées/sorties des scripts, mais de tout logiciel lancé dans le [[doc:systeme:terminal | terminal]]. C'est donc plutôt lié au terminal qu'au [[doc:programmation:shell:shell | shell]].
==== Exemple ====
script -t/tmp/session.t -c alsamixer /tmp/session.s
Faire //mumuse// dans [[doc:media:alsamixer | alsamixer]], changer le volume par exemple, puis quitter avec la touche Échap. \\
Visionner la session :
scriptreplay -s /tmp/session.s -t /tmp/session.t
On remarquera qu'ici script et scriptreplay n'ont lancé aucun shell. \\
On aurait même pu se passer complètement de shell en exécutant les commandes directement dans des terminaux.
//Merci au //**captnfab**// pour tout ces éclaircissements ajoutés !// :-)
===== Utilisation =====
SCRIPT permet d'enregistrer dans un fichier toutes les commandes que vous tapez ainsi que leurs sorties d'écran.
Le fichier résultant peut être utile dans plusieurs cas :
* Sauvegardez tout ce qui vous est demandé de faire lors d'une explication en direct.
* Faire un script d'une liste de commandes habituelles.
* Ecrire un article pour un tuto. :-D
==== Enregistrer ====
Pour enregistrer à partir du répertoire de destination, tapez :
script /chemin/nom-fichier
==== Arrêter d'enregistrer ====
Pour ne plus enregistrer dans le fichier, il suffit de taper :
exit
contributeurs:jonesy http://wiki.slackware-fr.org
Pour contempler vos belles commandes:cat /chemin/nom-fichier
==== Enregistrer dans l'optique de rejouer avec scriptreplay ====
script -tFichierTiming fichierTest
# j'aurais pu aussi utiliser:
# script --timing=FichierTiming fichierTest
# je saisis de belles commandes
exit #je sors
l'option -t, ou --timing=, est obligatoire
maintenant on //replay//:
scriptreplay FichierTiming fichierTest
# on aurait pu aussi utiliser:
# scriptreplay -tFichierTiming fichierTest
**attention**:
scriptreplay est seulement garanti de fonctionner proprement s'il tourne sur le même type de terminal où il a été enregistré.
voir man scriptreplay
donc ce n'est pas destiné à partager une session terminal sur une autre machine ou avec quelqu'un d'autre.
Pour cela, il y a: [[doc:systeme:terminal:termrecord|TermRecord : publier et partager facilement une session Terminal]]\\