мая 192018
 

Для подключения к экрану виртуальной машины, расположенной на XenServer необходимо:

  1. Получить номер домена виртуальной машины (выполняется на консоли XenServer):
    xe vm-list params=dom-id name-label=[vm name] | grep dom-id
  2. Получить порт VNC для полученного домена (выполняется на консоли XenServer):
    xenstore-read /local/domain/[domain]/console/vnc-port
  3. Подключится посредством VNC ([port] – последние две цифры вывода предыдущей команды:
    vncviewer -via root@[xenserver] localhost:[port]

Все вместе в одном скрипте xen_vm_screen.sh, выполняется на удаленном компьютере:

#!/bin/bash
XEN_HOST=$1
VM=$2
XEN_USER=root
DOMAIN=`ssh $XEN_USER@$XEN_HOST "xe vm-list params=dom-id name-label=$VM | awk -F ':' '{gsub(/[ \t]+/, \"\", \\\$2); print \\\$2}'"`
VM_PORT=`ssh $XEN_USER@$XEN_HOST "xenstore-read /local/domain/$DOMAIN/console/vnc-port"`
vncviewer -via $XEN_USER@$XEN_HOST localhost:${VM_PORT:2:2}

Запускать:

bash ./xen_vm_screen.sh vm_host_name vm_name