Портативне рішення
Використовуйте script
! Наприклад:
Персональний термінал:
> script -f /tmp/lecture1.scrpt #use -F instead on MacOS
> ... #start doing things here!
Презентаційний термінал:
> #after this, terminal will continuously print whatever's written to personal terminal
> tail -F /tmp/lecture1.scrpt
Як це працює
script
Команда копіює все , що написано на екрані терміналу ( в тому числі і те , що ви набираєте!) В файл він приймає в якості параметра. Зазвичай все записується у файл після завершення сценарію (набравши exit
). Однак -f
опція змушує script
змивати свій буфер після кожного запису (на MacOS це буде -F
або -t 0
). Потім у терміналі презентації ви можете tail -F
постійно переглядати вміст за їх написанням.
Що слід зазначити
Оскільки один термінал записує у файл, а другий читає, це можна зробити між різними користувачами! Це означає, що ви можете мати когось, в кого не вдається ввійти з дуже невеликими дозволами, і поки ви розмістите файл сценарію там, де він може прочитати, ви все одно зможете їх представити. (тобто: якщо у вас є сервер, до якого ваші студенти мають доступ, ви можете створити .scrpt файл, який би читався лише для них, щоб вони могли переходити на своїх екранах)
Враховуючи характер цього методу, один термінал їздить, а другий лише дивиться.
Цей метод також має додатковий бонус - полегшує вам припинення дзеркального відображення, виконайте таємну роботу і знову почніть дзеркально все, не виходячи з особистого терміналу. Це можна зробити за допомогою наступного:
Персональний термінал:
> 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
Більше розваг script
!
Мета script
- записати свій термінальний сеанс, щоб його можна було відтворити пізніше (у нас просто трапляється особливий випадок відтворення під час запису). Щоб допомогти у цьому, script
є -t
можливість записувати таймінги разом із тим, що написано на екрані. Щоб скористатися ним, розпочніть сеанс сценарію з:
> script -f -t 2>/tmp/lecture1.timing /tmp/lecture1.scrpt
І відтворити його (з тимчасовим часом!) За допомогою:
> scriptreplay -t /tmp/lecture1.timing -s /tmp/lecture1.scrpt
У студента, який вам по електронній пошті сказав, що він хворий і не може читати лекції? Або просто хочете дати своїм студентам більше лекційного матеріалу? Якщо ви записуєте свій голос під час лекції (і починаєте сценарій приблизно в той же час, що й запис), то ваші студенти можуть відтворити ваш термінальний сеанс своїм голосом та отримати повний досвід лекції!
Чи є учень, який любить відтворювати всі свої відеоролики на 2x швидкості? scriptreplay
бере "дільник", на який він примножує швидкість відтворення на! Просто перейдіть, -d 2
щоб грати на 2x швидкості (зауважте, це подвійне значення, так що ви могли б зробити навіть -d .5
на половину швидкості!).