Насколько я для себя понял использование xterm.js для виртуальной машины под гипервизором Proxmox 6 – это своего рода работа через консоль с системой, но через браузер. Т.е. можно не боясь вносить изменения в настройки сети потеряв доступ по сети к ней, не нужно с от хостовой системы Debian 10 + Proxmox 6 через “>_ Shell” инициализировать подключение и настраивать VM. Ну как-то так я работал с ними (VM) до того, как приобщился к функционалу xterm.js при работе с VM осью которых является Ubuntu 18.04 Server (может и Desktop, но я не проверял). Что есть в наглядном понимании консоль при работе с виртуальными системами гипервизора Proxmox: — это когда VM запущена, а через переходите: (см. ниже)

https://IP&DNS:8006 – user&pass – Datacenter – Virtual Machine – 108 (U218042) – где вход в “>_ Console” нажимаем стрелочку вниз и видим активную не затемненную настройку, как xterm.js. Выбрав ее, вы получаете новое окно браузера, через который вы обратились с своему гипервизору (у меня Google Chrome, на рабочем месте системы Windows 10 Pro):

Чтобы включить работу с использование xterm.js для Ubuntu 18.04 Server нужно:

Шаг №1: Выключить VM с осью Ubuntu 18.04 Server

Шаг №2: Добавить в Hardware VM: оборудование вида Serial Port (serial0)

Добавляю уст-во Serial Port в виртуальную машину

Если посмотреть содержимое контейнера VM: 108 через консоль командной строки на системе Debian 10 с установленным сервисом Proxmox, то добавленное устройство в разделе Hardware есть ни что иное, как строчка в конфигурационном файле виртуальной машины:

https://IP&DNS:8006 – user&pass – Datacenter – Nodes – srv-debian – “>_Shell”

root@srv-debian:~#

root@srv-debian:~# cat /etc/pve/qemu-server/108.conf | grep serial

serial0: socket

Шаг №3: Устанавливаю в нее агент и узнаю ее IP адрес (после действий ниже перейдя в свойствах VM на элемент Summary)

Шаг №4: Т.к. контейнер с VM (Ubuntu 18.04 Server) включен, произвожу подключение к ней с консоли гипервизора Debian 10 + Proxmox:

root@srv-debian:~# ssh -l ekzorchik 172.40.40.2 -> из Datacenter – Nodes – srv-debian – “>_Shell” инициализирую подключение к VM, адрес узнал, предварительно установив в Ubuntu 18.04 Server агент и в настройках контейнера VM: Options – изменив Qemu Agent с Disabled на Enabled. Настройка применяется после выключения/включения VM.

Шаг №5: Предопределяю настройки для использования tty в системе Ubuntu 18.04 Server:

ekzorchik@srv-bionic:~$ sudo nano /etc/default/grub

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash console=ttyS0"

ekzorchik@srv-bionic:~$ sudo update-grub

Sourcing file `/etc/default/grub'

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-4.15.0-60-generic

Found initrd image: /boot/initrd.img-4.15.0-60-generic

done

ekzorchik@srv-bionic:~$

ekzorchik@srv-bionic:~$ sudo mkdir /etc/init

ekzorchik@srv-bionic:~$ sudo nano /etc/init/ttyS0.conf

# ttyS0 - getty

#

# This service maintains a getty on ttyS0 from the point the system is

# started until it is shut down again.

start on stopped rc RUNLEVEL=[12345]

stop on runlevel [!12345]

respawn

exec /sbin/getty -L 115200 ttyS0 vt102

ekzorchik@srv-bionic:~$ sudo start ttyS0

sudo: start: command not found

ekzorchik@srv-bionic:~$ sudo reboot

ekzorchik@srv-bionic:~$ dmesg | grep ttyS

[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-60-generic root=/dev/mapper/srv--bionic--vg-root ro quiet splash console=ttyS0 vt.handoff=1

[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-60-generic root=/dev/mapper/srv--bionic--vg-root ro quiet splash console=ttyS0 vt.handoff=1

[    0.004000] console [ttyS0] enabled

[    0.827419] 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

ekzorchik@srv-bionic:~$

Шаг №:6 Выглядит использование xterm.js так:

https://IP&DNS:8006 – user&pass – Datacenter – Virtual Machine – 108 (US18042) – “>_ Console” – xterm.js

Инициализируем работу через xterm.js для VM: Ubuntu 18.04 Server

 

После открывается окно:

Результат работы в консоли VM: Ubuntu 18.04 через отдельное окно браузера

И теперь мне более не нужно взаимодействовать с рабочего места через Shell Proxmox подключаясь к гостевым VM (Ubuntu 18.04) внутри моего гипервизора.

И еще я могу в этом открытом окне выделить левой кнопкой мыши команды и скопировать их в систему, на которой я сейчас работаю, будь это Windows 10 Pro либо Ubuntu 18.04 Desktop amd64.

Итого я для себя разобрал еще один функционал использования гипервизора Proxmox на благо своей работе и получил удобный инструмент, спрашивается, как я жил раньше до Proxmox. Хотя я работаю с множеством инструментов и от каждого получаю профит. А пока на этом все, с уважением автор блога Олло Александр aka ekzorchik.