Во время презентации или курса / учебного пособия вам часто нужно представить результаты команд, выполняемых в вашем терминале.
Когда аудитория присутствует, можно сразу показать результат, но для тех, кто не присутствует, было бы интересно, чтобы у них было записанное видео, которое показывает исполнение команды.
Это можно сделать с помощью некоторых инструментов, но мы будем особенно внимательно относиться к termstovg, терминальному рекордеру Linux, написанному на python, который отображает результат как анимацию SVG.
Termstovg – это инструмент, написанный на Python, позволяющий записывать сеанс терминала Linux.
Интересным способом является рендер, который он дает как автономные анимации SVG.
Затем вы можете использовать свой веб-браузер для воспроизведения анимации после записи.
Этот инструмент имеет несколько тем, доступных для записи сеанса терминала с использованием определенной цветовой темы.
Это проект Github, разработанный Николасом Бедосом, который очень интересен.
Установка termstovg
Все, что вам нужно в качестве предварительного требования, – это python, установленный на вашем компьютере Linux.
Например, на Ubuntu 18.04 у вас уже установлен python, а по умолчанию – python-3.6.
Вы можете проверить это, как показано ниже:
$ dpkg -l | grep python3.6 ii libpython3.6:amd64 3.6.5-3 amd64 Shared Python runtime library (version 3.6) ii libpython3.6-minimal:amd64 3.6.5-3 amd64 Minimal subset of the Python language (version 3.6) ii libpython3.6-stdlib:amd64 3.6.5-3 amd64 Interactive high-level object-oriented language (standard library, version 3.6) ii python3.6 3.6.5-3 amd64 Interactive high-level object-oriented language (version 3.6) ii python3.6-minimal 3.6.5-3 amd64 Minimal subset of the Python language (version 3.6)
Теперь вам нужно установить также pip для python
$ sudo apt install python3-pip Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: ... ...
Теперь установите требования для termtosvg, которые включают в себя:
- pyte
- svgwrite
- python-xlib
- base16-xresources
$ pip3 install pyte python-xlib svgwrite Collecting pyte ... Collecting python3-xlib Downloading https://files.pythonhosted.org/packages/ef/c6/2c5999de3bb1533521f1101e8fe56fd9c266732f4d48011c7c69b29d12ae/python3-xlib-0.15.tar.gz (132kB) ....
Теперь для цветных тем по умолчанию выполните следующую команду:
$ curl https://raw.githubusercontent.com/chriskempson/base16-xresources/master/xresources/base16-default-dark-256.Xresources >> ~/.Xresources $ xrdb -load ~/.Xresources
Файл ~ / .Xresources теперь присутствует в вашем каталоге home, и вы можете вставить содержание ниже
$ vim ~/.Xresources termtosvg.foreground: #f8f8f2 termtosvg.background: #272822 termtosvg.color0: #272822 termtosvg.color1: #f92672 termtosvg.color2: #a6e22e termtosvg.color3: #f4bf75 termtosvg.color4: #66d9ef termtosvg.color5: #ae81ff termtosvg.color6: #a1efe4 termtosvg.color7: #f8f8f2 termtosvg.color8: #75715e termtosvg.color9: #fd971f termtosvg.color10: #383830 termtosvg.color11: #49483e termtosvg.color12: #a59f85 termtosvg.color13: #f5f4f1 termtosvg.color14: #cc6633 termtosvg.color15: #f9f8f5
Затем вы можете установить termtosvg через pip
# pip3 install termtosvg Collecting termtosvg Downloading https://files.pythonhosted.org/packages/04/43/dd755b9185f58c4a4cf49fa710a0966b32b68e930c33bab785cf926201bd/termtosvg-0.2.2-py3-none-any.whl Collecting pyte (from termtosvg) Downloading https://files.pythonhosted.org/packages/66/37/6fed89b484c8012a0343117f085c92df8447a18af4966d25599861cd5aa0/pyte-0.8.0.tar.gz (50kB) 100% |████████████████████████████████| 51kB 6.0MB/s Collecting python-xlib (from termtosvg) Downloading https://files.pythonhosted.org/packages/54/44/e56454e3ce8fd2333e635d704e157e9cc432a375ab6b680e3c98dd7c3bc0/python_xlib-0.23-py2.py3-none-any.whl (123kB) 100% |████████████████████████████████| 133kB 5.5MB/s Collecting svgwrite (from termtosvg) Downloading https://files.pythonhosted.org/packages/9f/27/a29fc710b5fc4dc8031d55e903c1352a194df4014dccf8b507049dd754e6/svgwrite-1.1.12-py2.py3-none-any.whl (64kB) 100% |████████████████████████████████| 71kB 6.5MB/s Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from termtosvg) Collecting wcwidth (from pyte->termtosvg) Downloading https://files.pythonhosted.org/packages/7e/9f/526a6947247599b084ee5232e4f9190a38f398d7300d866af3ab571a5bfe/wcwidth-0.1.7-py2.py3-none-any.whl Requirement already satisfied: six>=1.10.0 in /usr/lib/python3/dist-packages (from python-xlib->termtosvg) Requirement already satisfied: pyparsing>=2.0.1 in /usr/lib/python3/dist-packages (from svgwrite->termtosvg) Building wheels for collected packages: pyte Running setup.py bdist_wheel for pyte ... done Stored in directory: /root/.cache/pip/wheels/c0/dd/4a/d0ec26b9d07a3b48e25ba3456dc9bcab875686af6da9e23fcd Successfully built pyte Installing collected packages: wcwidth, pyte, python-xlib, svgwrite, termtosvg Successfully installed pyte-0.8.0 python-xlib-0.23 svgwrite-1.1.12 termtosvg-0.2.2 wcwidth-0.1.7
Запись сеанса терминала
чтобы начать запись вашего сеанса в реальном времени, просто запустите команду termstosvg в вашем терминале и используйте команду exit для завершения процесса записи.
Начать запись
$ termtosvg Recording started, enter "exit" command or Control-D to end
Затем введите команды и выполните работу.
Когда вы закончите, вы можете закончить сеанс записи в реальном времени.
Вы можете увидеть, что он указывает путь (обычно / tmp) и имя записанного файла
$ exit exit Recording ended, SVG animation is /tmp/termtosvg_ksz18r3y.svg