One place for hosting & domains

      обмениваться

      Как записывать сеансы терминала и обмениваться ими при помощи Terminalizer в Ubuntu 18.04


      Автор выбрал фонд Electronic Frontier Foundation для получения пожертвований в рамках программы Write for DOnations.

      Введение

      Terminalizer — приложение записи терминала, позволяющее записывать сеанс терминала в реальном времени и воспроизводить его позже. Он работает таким же образом, как и устройство записи рабочего стола, но в терминале.

      Запись сеанса терминала полезна, если вы хотите просмотреть конкретную деятельность снова или поспособствовать в отладке особенно сложной ошибки. Записи, выполняемые при помощи Terminalizer, могут также экспортироваться в качестве анимированных GIF, которые полезны для обмена в онлайн-режиме или добавления в маркетинговые материалы вашего программного обеспечения.

      В этом обучающем руководстве вы установите Terminalizer, используете его для записи и воспроизведения сеансов терминала, настроите свои записи и затем экспортируете их для обмена в онлайн-режиме.

      Предварительные требования

      Для данного обучающего руководства вам потребуется следующее:

      Если вы хотите поделиться своими записями в онлайн-режиме, вам понадобится следующее:

      Подготовив все вышеперечисленное, войдите на сервер без привилегий root, чтобы начать подготовку.

      Шаг 1 — Установка Terminalizer

      На этом шаге вы скачаете и установите Terminalizer в вашей системе. Terminalizer написан с помощью Node.js и может быть установлен с помощью диспетчера пакетов npm.

      Чтобы установить Terminalizer на глобальном уровне в вашей системе, выполните следующую команду:

      • sudo npm install --global --allow-root --unsafe-perm=true terminalizer

      Terminalizer использует каркас приложений Electron для экспорта зарегистрированных сеансов терминала в формат GIF. Для установки Electron на глобальном уровне в вашей системе требуется аргумент команды --unsafe-perms=true.

      После установки Terminalizer вы увидите примерно следующий вывод:

      Output

      . . . /usr/local/lib └── terminalizer@0.7.1

      Далее проверьте установку Terminalizer, запустив следующую команду:

      Будет выведен текст следующего вида:

      Output

      0.7.1

      В заключение сгенерируйте файл конфигурации Terminalizer по умолчанию, который можно использовать для расширенной настройки Terminalizer (подробнее см. в шаге 4):

      Результат будет выглядеть примерно следующим образом:

      Output

      The global config directory is created at /home/user/.terminalizer

      Теперь, когда вы установили Terminalizer, можно сделать первую запись терминала.

      Шаг 2 — Запись и воспроизведение сеанса терминала

      На этом шаге вы записываете и воспроизводите сеанс терминала.

      В начале настройте новую запись Terminalizer с помощью имени на ваш выбор:

      • terminalizer record your-recording

      В результате будет выведено следующее, чтобы указать, что запись началась:

      Output

      The recording session has started Press Ctrl+D to exit and save the recording

      Теперь вы можете перейти к любым необходимым действиям в вашем терминале. Каждое нажатие клавиши и команда будут записываться в реальном времени в Terminalizer.

      Например:

      • pwd
      • date
      • whoami
      • echo "Hello, world!"

      Когда хотите остановить запись, нажмите CTRL+D. Затем Terminalizer сохранит запись в указанном файле в формате YAML, например your-recording.yml.

      Output

      Successfully Recorded The recording data is saved into the file: /home/user/your-recording.yml

      Возможно, Terminalizer предложит поделиться записью в онлайн-режиме. Сейчас нажмите CTRL+C для отмены этого, поскольку вы можете сначала воспроизвести запись терминала локально.

      Далее воспроизведите ваш записанный сеанс терминала при помощи следующей команды:

      • terminalizer play your-recording

      В результате записанный сеанс будет воспроизведен в реальном времени в вашем терминале:

      Output

      user@droplet:~$ pwd /home/user user@droplet:~$ date Sun Mar 8 14:55:36 UTC 2020 user@droplet:~$ whoami user user@droplet:~$ echo "Hello, world!" Hello, world! user@droplet:~$ logout

      Также вы можете изменять скорость воспроизведения вашей записи при помощи опции --speed-factor.

      Например, следующее действие будет воспроизводить вашу запись в два раза медленнее (½ скорости):

      • terminalizer play your-recording --speed-factor 2

      Также вы можете воспроизвести запись в два раза быстрее (скорость х 2):

      • terminalizer play your-recording --speed-factor 0.5

      Вы записали и воспроизвели сеанс терминала. Далее вы можете поделиться записью терминала в онлайн-режиме.

      Шаг 3 — Обмен записанными сеансами терминала

      На этом шаге вы поделитесь своим записанным сеансом терминала в онлайн-режиме на странице изучения Terminalizer.

      Сначала выберите записанный сеанс, которым вы хотите поделиться:

      • terminalizer share your-recording

      Затем вам будет предложено предоставить несколько базовых метаданных по вашей записи, в том числе название и описание:

      Output

      Please enter some details about your recording ? Title Title of Your Recording ? Description Description of Your Recording ? Tags such as git,bash,game Comma-separated Tags for Your Recording

      Предупреждение. Записи Terminalizer выкладываются в публичный доступ по умолчанию, поэтому убедитесь, что в вашей записи терминала отсутствуют личные или конфиденциальные данные, которыми вы не хотите делиться.

      Если вы впервые поделились записанным сеансом с помощью Terminalizer, вам нужно будет привязать свою учетную запись Terminalizer. Terminalizer отобразит ссылку для подтверждения, если это потребуется:

      Output

      Open the following link in your browser and login into your account https://terminalizer.com/token?token=your-token When you do it, press any key to continue

      Предупреждение. Убедитесь, что ваш токен Terminalizer остается приватным, т. к. он позволяет любому пользователю, владеющему им, получить доступ к вашей учетной записи Terminalizer.

      После того как вы прошли по ссылке в вашем браузере и вошли в вашу учетную запись Terminalizer, нажмите любую клавишу, чтобы продолжить.

      Теперь Terminalizer загрузит вашу запись и предоставит ссылку для ее просмотра:

      Output

      Successfully Uploaded The recording is available on the link: https://terminalizer.com/view/your-recording-id

      Пройдя по ссылке в браузере на настольном компьютере, вы сможете просматривать записи, которыми вы поделились:

      Скриншот веб-сайта Terminalizer, показывающий пример записи терминала, которой вы поделились

      Вы поделились записанным сеансом терминала на веб-сайте Terminalizer и просмотрели его в браузере.

      Шаг 4 — Настройка расширенной конфигурации Terminalizer

      Теперь, когда вы ознакомились с Terminalizer, вы можете начинать рассматривать некоторые более расширенные опции персонализации, такие как способность изменять цвета и стили отображения.

      Каждая запись наследует конфигурацию по умолчанию из глобального файла конфигурации Terminalizer, который находится в ~/.terminalizer/config.yml​​​. Это означает, что вы можете изменять конфигурацию для отдельных записей напрямую, изменяя файл записи (например, your-recording.yml). Также вы можете изменять глобальную конфигурацию, которая будет влиять на все новые записи.

      В этом примере вы измените глобальный файл конфигурации, но те же указания применяются и к отдельным файлам записи.

      Сначала откройте файл глобальной конфигурации Terminalizer в текстовом редакторе, например nano:

      • nano ~/.terminalizer/config.yml

      Каждая из доступных опций конфигурации в этом файле прокомментирована, чтобы объяснить, что она делает.

      Есть несколько стандартных вариантов конфигурации, которые вы, возможно, захотите изменить по вашему желанию:

      • cols: в явном виде задает количество столбцов терминала, используемых для записи.
      • rows: в явном виде задает количество строк терминала, используемых для записи.
      • frameDelay: переопределяет задержку между каждым нажатием клавиши во время воспроизведения.
      • maxIdleTime: указывает максимальное время между нажатиями клавиш во время воспроизведения.
      • cursorStyle: указывает стиль курсора умолчанию на выбор из прямоугольника, полосы и подчеркивания.
      • fontFamily: указывает список предпочитаемых шрифтов воспроизведения в порядке предпочтения.
      • theme: изменяет цветовую схему воспроизведения, например для создания черно-белого терминала и т. п.

      Например, вы можете сделать бело-черный дисплей терминала, настроив следующие опции:

      config.yml

      . . .
      theme:
        background: "white"
        foreground: "black"
      . . .
      

      Результат будет выглядеть примерно так:

      Скриншот веб-сайта Terminalizer, показывающий пример записи с черно-белой темой

      Вы можете изменять стиль курсора, упрощая понимание записи, например, посредством изменения курсора по умолчанию в виде прямоугольника на курсор в виде подчеркивания:

      config.yml

      . . .
      cursorStyle: underline
      . . .
      

      Результат будет выглядеть примерно так:

      Скриншот веб-сайта Terminalizer, показывающий пример записи с курсором в виде подчеркивания​​

      После внесения всех необходимых изменений сохраните файл и возвращайтесь в терминал.

      Если вы изменили глобальную конфигурацию Terminalizer, эти настройки будут применяться ко всем новым записям, выполняемым далее. Если вы изменяете конфигурацию конкретной записи, Terminalizer немедленно применяет изменения к этой конкретной записи.

      Обратите внимание, что настраиваемый стиль воспроизведения применяется только к сеансам записи, которыми поделились. Их воспроизведение непосредственно в вашем терминале всегда будет происходить со стилем и цветовой схемой вашего терминала по умолчанию.

      На этом последнем шаге вы рассмотрели некоторые из расширенных вариантов настройки конфигурации в Terminalizer.

      Заключение

      В этой статье вы использовали Terminalizer для записи сеанса терминала и обмена данными о нем. Теперь у вас есть знания, необходимые для создания записанных демо-версий вашего программного обеспечения для использования в маркетинговых материалах или для обмена секретными приемами командной строки с друзьями.

      Если вы хотите сделать рендеринг и экспорт записей Terminalizer в формат GIF, вы можете установить Terminalizer на компьютере с графическим интерфейсом пользователя/на настольном компьютере и использовать встроенные функции рендеринга:

      Также вы можете посетить веб-сайт Terminalizer, чтобы увидеть записанные сеансы терминала, которыми поделились другие пользователи:



      Source link