===== Настройка возможности подключения к консолям виртуальных машин oVirt, Hyper-V и VMware из macOS High Sierra ===== {{:apple-mac-os:macos-high-sierra:pasted:20180501-181731.png }} В этой заметке мы рассмотрим пример настройки компьютера **Apple** на базе ОС **macOS High Sierra** для возможности подключения к консолям виртуальных машин таких сред виртуализации, как **[[:ovirt|oVirt]]**, **[[:microsoft-hyper-v|Hyper-V]]** и **VMware** ---- ==== Консоль ВМ oVirt ==== Подключим репозиторий:
brew tap jeffreywildman/homebrew-virt-manager
Установим консоль:
brew install virt-viewer
Следующие зависимости будут установлены автоматически: intltool, libtool, jpeg, libtiff, libpng, gdk-pixbuf, atk, libepoxy, freetype, fontconfig, pixman, cairo, fribidi, graphite2, icu4c, harfbuzz, pango, hicolor-icon-theme, gdbm, openssl, readline, sqlite, python@2, gsettings-desktop-schemas, gtk+3, libtasn1, gmp, nettle, libunistring, p11-kit, gnutls, libgpg-error, libgcrypt, gtk-vnc, yajl, libvirt, gobject-introspection, libxml2, libvirt-glib, shared-mime-info, autoconf, bdw-gc, guile, autogen, automake, webp, gd, graphviz, vala, lz4, spice-protocol, libusb, usbredir, bison, gstreamer, orc, gst-plugins-base, xz, gst-libav, glib-networking, libsoup, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, spice-gtk. Для удобства использования можно создать простое приложение на **Automator.app**: Тип документа: **Программа** {{ :apple-mac-os:macos-high-sierra:pasted:20180501-184547.png }} Из библиотеки «**Утилиты**» перенесём шаг «**запустить Shell-скрипт**» Вставим тело «**скрипта**» ''/usr/local/bin/remote-viewer "$@"'', а входные данные будем передавать как аргумент. {{ :apple-mac-os:macos-high-sierra:pasted:20180501-184602.png }} Сохраним приложение с именем **oVirt-Viewer.app** Перейдём на Web-консоль **oVirt**, выберем нужную нам машину. {{ :apple-mac-os:macos-high-sierra:pasted:20180501-184626.png }} Выберем **SPICE** и скажем браузеру, что файлы с расширением **vv** необходимо открывать с помощью **oVirt-Viewer.app** {{ :apple-mac-os:macos-high-sierra:pasted:20180501-184643.png }} Откроется окно с консолью виртуальной машины. {{ :apple-mac-os:macos-high-sierra:pasted:20180501-184659.png }} ---- \\ ==== Консоль ВМ Hyper-V ==== Версия **freerdp** доступная в **brew** слишком старая и не имеет возможности подключаться к консоли. Установить последнюю версию можно только методом сборки:
brew install --HEAD freerdp
Но с большей долей вероятности получим ошибку:
...
freerdp: A full installation of Xcode.app is required to compile this software.
Installing just the Command Line Tools is not sufficient.
Xcode can be installed from the App Store.
freerdp: XQuartz 2.7.11 (or newer) is required to install this formula. 
X11Requirement unsatisfied!
You can install with Homebrew-Cask:
 brew cask install xquartz
You can download from:
 https://xquartz.macosforge.org
Error: Unsatisfied requirements failed this build.
Для сборки **freerdp** необходимо установить **Xcode** и **XQuartz**. После загрузки **Xcode** с AppStore его нужно запустить и принять лицензионное соглашение, после этого будет произведена установка компонентов. Снова пробуем запустить сборку:
brew install --HEAD freerdp
Вновь получим ошибку:
xcode-select: error: tool 'ibtool' requires Xcode, but active developer directory 
'/Library/Developer/CommandLineTools' is a command line tools instance
Она связана с тем, что **Xcode** ссылается на папку только с утилитами командной строки ''/Library/Developer/CommandLineTools'', которые были загружены при установке **brew**. В этом можно убедиться так:
xcode-select -p
Необходимо установить путь до всех компонент. Проще всего это сделать сбросом до значения по умолчанию:
sudo xcode-select -r
Если вновь посмотреть путь до компонент, то он будет таким: ''/Applications/Xcode.app/Contents/Developer'' Сейчас сборка пакета должна быть выполнена без проблем. Если пакет установлен, пробуем его запустить:
xfreerdp /version
Здесь мы снова можем получить ошибку:
...com.freerdp.client.x11  failed to open display: 
...com.freerdp.client.x11  Please check that the $DISPLAY environment variable is properly set
Не установлена переменная ''DISPLAY'', необходимая **FreeRDP** для вызова **XQuartz**. Для автоматического решения проблемы можно выполнить релогин. После входа будет добавлена новая переменная: DISPLAY="/private/tmp/com.apple.launchd.6hxNeEPJKA/org.macosforge.xquartz:0" На момент написания этой заметки, версия **FreeRDP**: **2.0.0-dev3** (**fc6780a**) Для подключения к консолям виртуальных машин, нам необходимо узнать **VMID**. На хосте виртуализации **Hyper-V** выполним в консоли **PowerShell**: get-vm | select name, vmid Выберем виртуальную машину и подключимся к ней:
xfreerdp /cert-ignore /u:AdminUser /vmconnect:c4a9b89e-417d-11e8-9978-10ddb1994df6 /v:VM01
{{ :apple-mac-os:macos-high-sierra:pasted:20180501-184740.png }} ---- \\ ==== Консоль ВМ VMWare ==== Для подключения к консоли виртуальных машин **VMWare** необходимо приложение **VMware Remote Console**. Его можно установить из репозитория **brew**.
brew cask install vmware-remote-console
Откроем Web-консоль **vSphere**, выберем необходимую машину, и **Open with VMRC** {{ :apple-mac-os:macos-high-sierra:pasted:20180501-184856.png }} Откроется консоль {{ :apple-mac-os:macos-high-sierra:pasted:20180501-184909.png }} **Update 27.01.2021** С 2020 года консоль доступна в [[https://apps.apple.com/us/app/vmware-remote-console/id1230249825|Mac AppStore]]. ---- Проверено на следующих конфигурациях: ^ Версия ОС ^ |Apple macOS High Sierra (10.13.4)| ---- {{:user:vyakob.png?50&nolink |}} Автор первичной редакции:\\ [[user:vyakob|Виталий Якоб]] \\ Время публикации: 01.05.2018 18:09 {{tag>Apple "Mac OS" macOS "High Sierra" "macOS High Sierra" Automator VM oVirt Hyper-V VMware Virtualization virt-viewer freerdp}} ~~DISCUSSION~~