Przenośne rozwiązanie
Użyj script
! Na przykład:
Terminal osobisty:
> script -f /tmp/lecture1.scrpt #use -F instead on MacOS
> ... #start doing things here!
Terminal prezentacyjny:
> #after this, terminal will continuously print whatever's written to personal terminal
> tail -F /tmp/lecture1.scrpt
Jak to działa
script
Wszystko kopie poleceń zapisywane na ekranie terminala (w tym co piszesz!) Do pliku potrzebny jako parametr. Zwykle wszystko jest zapisywane do pliku po zakończeniu skryptu (przez wpisanie exit
). Jednak -f
opcja powoduje script
opróżnienie bufora po każdym zapisie (w systemie MacOS będzie to -F
lub -t 0
). Następnie, w terminalu prezentacji, możesz używać tail -F
do ciągłego przeglądania treści w trakcie ich pisania.
Warto zwrócić uwagę
Ponieważ jeden terminal zapisuje do pliku, a drugi czyta, można to zrobić między różnymi użytkownikami! Oznacza to, że możesz mieć kogoś ssh z bardzo małą liczbą uprawnień i tak długo, jak umieścisz plik skryptu w miejscu, które może odczytać, nadal będziesz mógł mu to przedstawić. (tzn .: jeśli masz serwer, do którego mają dostęp uczniowie, możesz utworzyć plik .scrpt, który byłby dla nich czytelny, aby mogli śledzić na własnych ekranach)
Biorąc pod uwagę charakter tej metody, jeden terminal prowadzi, a drugi tylko obserwuje.
Ta metoda ma również dodatkową zaletę polegającą na tym, że możesz łatwo przestać tworzyć kopię lustrzaną, wykonać jakąś tajną pracę i zacząć wszystko od nowa bez opuszczania osobistego terminalu. Można to zrobić za pomocą:
Terminal osobisty:
> 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
Więcej zabawy z script
!
Celem script
jest nagranie sesji terminala, aby można ją było później odtworzyć (zdarza się, że jesteśmy szczególnym przypadkiem odtwarzania podczas nagrywania). Aby temu zaradzić, script
ma -t
opcję rejestrowania czasu wraz z treścią zapisaną na ekranie. Aby z niego skorzystać, rozpocznij sesję skryptową:
> script -f -t 2>/tmp/lecture1.timing /tmp/lecture1.scrpt
I odtwarzaj (z timingiem!) Za pomocą:
> scriptreplay -t /tmp/lecture1.timing -s /tmp/lecture1.scrpt
Czy uczeń, który wysłał Ci e-maila z informacją, że byłby chory i nie może prowadzić wykładu? A może po prostu chcesz dać swoim studentom więcej materiałów wykładowych? Jeśli nagrasz swój głos podczas wykładu (i zaczniesz pisać scenariusz mniej więcej w tym samym czasie, co nagranie), wtedy twoi uczniowie mogą odtworzyć twoją sesję terminalową głosem i uzyskać pełne doświadczenie wykładowe!
Czy uczeń, który lubi odtwarzać wszystkie swoje filmy z prędkością 2x? scriptreplay
bierze „dzielnik”, przez który zwielokrotnia prędkość gry! Wystarczy przejść -d 2
do gry z prędkością 2x (zauważ, że jest to podwójna wartość, więc możesz zrobić nawet -d .5
z połową prędkości!).