La soluzione portatile
Usa script
! Per esempio:
Terminale personale:
> script -f /tmp/lecture1.scrpt #use -F instead on MacOS
> ... #start doing things here!
Terminale di presentazione:
> #after this, terminal will continuously print whatever's written to personal terminal
> tail -F /tmp/lecture1.scrpt
Come funziona
Il script
comando copia tutto ciò che è scritto sullo schermo del terminale (incluso quello che scrivi!) In un file che accetta come parametro. Di solito tutto viene scritto nel file dopo aver terminato lo script (digitando exit
). Tuttavia, l' -f
opzione provoca script
lo svuotamento del buffer dopo ogni scrittura (su MacOS, sarà -F
o -t 0
). Quindi, nel terminale di presentazione, è possibile utilizzare tail -F
per vedere continuamente i contenuti mentre vengono scritti.
Cose da notare
Poiché un terminale sta scrivendo su un file e l'altro sta leggendo, questo può essere fatto tra diversi utenti! Questo significa che puoi avere qualcuno in ssh con pochissime autorizzazioni e finché metti il file di script in una posizione che possono leggere, sarai comunque in grado di presentarli. (vale a dire: se hai un server a cui i tuoi studenti hanno accesso, potresti creare un file .scrpt che sarebbe leggibile solo per loro in modo che potessero seguirli sui loro schermi)
Data la natura di questo metodo, un terminale sta guidando e l'altro sta solo guardando.
Questo metodo ha anche il vantaggio aggiuntivo di semplificare l'interruzione del mirroring, eseguire alcuni lavori segreti e ricominciare a mirare senza lasciare il terminale personale. Questo può essere fatto con il seguente:
Terminale personale:
> exit #end script session; stop writing to /tmp/lecture1.scrpt
> ... #do secret things not safe for student eyes!
> script -f -a /tmp/lecture1.scrpt #begin writing again with -a to append
Più divertimento con script
!
Lo scopo script
è quello di registrare la sessione del terminale in modo che possa essere riprodotta in un secondo momento (ci capita solo di essere il caso speciale della riproduzione durante la registrazione). Per aiutare in questo, script
ha la -t
possibilità di registrare i tempi insieme a ciò che è scritto sullo schermo. Per usarlo, avvia la tua sessione di script con:
> script -f -t 2>/tmp/lecture1.timing /tmp/lecture1.scrpt
E riproducilo (con i tempi!) Con:
> scriptreplay -t /tmp/lecture1.timing -s /tmp/lecture1.scrpt
Hai uno studente che ti ha mandato un'e-mail dicendo che sarebbe stato malato e non poteva tenere una conferenza? O vuoi semplicemente dare ai tuoi studenti più materiale didattico? Se registri la tua voce durante la lezione (e inizi lo script quasi contemporaneamente alla registrazione), i tuoi studenti potrebbero riprodurre la tua sessione terminale con la tua voce e ottenere la lezione completa!
Hai uno studente a cui piace riprodurre tutti i suoi video a velocità 2x? scriptreplay
prende un "divisore" per cui moltiplica la velocità di riproduzione! Basta passare -d 2
a giocare a velocità 2x (nota che questo è un doppio valore, quindi potresti farlo anche -d .5
a metà velocità!).