====== 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]]\\