Для подключения к экрану виртуальной машины, расположенной на XenServer необходимо:
- Получить номер домена виртуальной машины (выполняется на консоли XenServer):
xe vm-list params=dom-id name-label=[vm name] | grep dom-id
- Получить порт VNC для полученного домена (выполняется на консоли XenServer):
xenstore-read /local/domain/[domain]/console/vnc-port
- Подключится посредством 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