Calculate linux vnc server

AlektroNik

Протокол VNC предусматривает подключение к удалённому рабочему столу. Он является аналогом RAdmin из Windows, но в отличии от последнего является кроссплатформенным и поддерживает шифрование передаваемых данных.

Сразу оговорюсь что в этой статье я никоим образом не отрицаю других способов удалённого администрирования Linux. Просто появилось желание осветить возможности VNC — протокола, более удобного для начинающих пользователей чем, например, SSH.

Как и большинство моих статей, эта статья будет ориентирована в первую очередь на пользователей дистрибутива Gentoo, одним из которых я являюсь. Однако 95% того что здесь написано применимо и для других дистрибутивов.

Для начала нам нужно установить пакет VNC. Обязательно с включенным флагом server. Для этого достаточно выполнить следующую команду:

Если по какой-то причине сборка пройдёт не удачно — обновите ваше дерево portage при помощи emerge —sync, emerge-webrsync или emerge-delta-webrsync (Тут уж на ваше усмотрение). Всё дело в том что в какой-то момент в дереве уже был X.Org 7, но имеющаяся версия VNC не
поддерживала его. Именно поэтому и нужно обновить дерево (Хотя по идее поможет и откат на X.Org 6, но я не думаю что кто-то использует это решение).

Следующим шагом нужно добавить в секцию Module файла /etc/X11/xog.conf следующую строчку:

Теперь нужно решить вопрос с аврторизацией. Для анонимного доступа добавьте в секцию Screen того же файла строчку:

или, если вы хотите защитить свой рабочий стол паролем, то в секцию Screen нужно добавить строки:

Option «SecurityTypes» «VncAuth»
Option «UserPasswdVerifier» «VncAuth»
Option «PasswordFile» «/etc/vncpasswd»

После этого вам понадобится задать пароль для подключения. Для этого выполните от имени пользователя root:

и введите желаемый пароль (само собой два раза:)).

После этого вам необходимо перезапустить X-сервер.

Теперь вы можете ввести команду vncviewer и получить доступ к вашему рабочему столу. Если вы хотите изменить какие-то параметры VNC-сервера (например разрешение, глубину цвета или порт, на котором «слушает» сервер) то вам нужно дописывать соответствующие параметры в секекцию Screen файла xorg.conf. Список опций и их подробное описание (на английском языке) есть в man-странице Xvnc

Всё это, практически один в один описано в FAQ на официальном сайте Real VNC, однако в man-страницах в самом пакете VNC про это ничего не сказано. Поэтому и была написана эта статья.

Читайте также:  Is my linux mint 32 bit or 64 bit

Источник

Система виртуализации QEMU

KVM (Kernel-based Virtual Machine) — это программное решение, обеспечивающее виртуализацию в среде Linux, которая поддерживает аппаратную виртуализацию на базе Intel VT (Virtualization Technology) либо AMD SVM (Secure Virtual Machine).

QEMU — свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ, которая может работать и без использования KVM, но использование аппаратной виртуализации значительно ускоряет работу гостевых систем, поэтому использование KVM в QEMU (enable-kvm) является предпочтительным вариантом.

Первоначально разработка велась в рамках проекта Linux KVM (Kernel-based Virtual Machine), в котором, помимо собственно KVM (поддержки технологий аппаратной виртуализации x86-совместимых процессоров на уровне ядра Linux), разрабатывались патчи для QEMU, позволяющие QEMU использовать функциональность KVM. Однако недавно разработчики QEMU в содружестве с разработчиками KVM приняли решение интегрировать поддержку KVM в основную ветку QEMU (mainline).

Используя KVM, вы может запустить несколько виртуальных машин с немодифицированными образами Linux и Windows. Каждая виртуальная машина имеет собственную приватную среду, в которой она работает: сетевую карту, диск, графический адаптер и т.д.

Поддержка KVM вошла в ядро Linux начиная с версии 2.6.20.

libvirt — это интерфейс и демон для управления виртуальными машинами различных технологий (qemu/kvm, xen, virtualbox), он позволяет удобно настраивать и манипулировать виртуальными машинами. Также к нему есть много разных сторонних приложений для управления, web-интерфейсов и т.д. Например, весьма полезным может быть графический интерфейс управления виртуальными машинами virt-manager .

virt-manager

Установка пакетов

По умолчанию QEMU поддерживает архитектуры i386 и x86_64. Отредактируйте флаги для поддержки необходимых гостевых машин. Пример добавления поддержки архитектуры arm :

QEMU_SOFTMMU_TARGETS="arm i386 x86_64"

Для установки QEMU и libvirt выполните:

Источник

Calculate Container Games

Steam Link

Calculate Container Games — это контейнер, предназначенный для запуска Steam на сервере Calculate Scratch Server. Для запуска Steam игр можно использовать Steam Link, запущенный под Android/iOS, AppleTV, Raspberry Pi, Samsung Smart TV или Steam клиент с запуском игр в режиме трансляции. Calculate Container Games позволяет запускать Steam с неподдерживаемым разрешением монитора или на системе без подключенного монитора, задействуя простаивающие возможности вашего домашнего сервера.

Настройка хост-машины

Установите firmware для полноценной поддержки видеокарт:

emerge -a sys-kernel/linux-firmware

Укажите тип системы — «host» для поддержки запуска контейнеров с графическим окружением:

Обновите настройки системы и перезагрузите хост-машину:

Установка и настройка Calculate Container Games

Подготовка LXC-контейнера

Выполните установку контейнера Calculate Container Games, настроив его согласно инструкции, указав имя дистрибутива , а имя контейнера — games .

Настройка видеодрайвера

Выполните настройку видеокарты, используя утилиту cl-setup-video . Для отображения списка поддерживаемых видеодрайверов выполните:

Видео драйвер: [default] Автоопределение системой * [radeon] AMD Radeon (radeon) [amdgpu] AMD AMDGPU (amdgpu) [modesetting] Framebuffer device (modesetting) [intel] Intel (intel) [nouveau] Nvidia Nouveau (nouveau)

Для выбора AMDGPU и разрешения 1920×1080 выполните:

Читайте также:  Welcome to your_domain

cl-setup-video —video amdgpu -X 1920×1080

Добавление пользователя

Добавьте пользователя guest в контейнере, настройте его профиль и автовход:

useradd —groups audio,input,video guest

Для начальной настройки Steam вам понадобится либо физический доступ к серверу с монитором, либо удаленный. Для включения удалённого доступа по VNC, задайте пароль доступа для пользоватля guest :

su guest -c «x11vnc -storepasswd»

Enter VNC password: Verify password: Write password to /home/guest/.vnc/passwd? [y]/n y Password written to: /home/guest/.vnc/passwd

При наличии пароля, VNC сервер будет запускаться вместе с Xorg сервером.

Настройка проприетарного драйвера Nvidia

Установка и настройка

В отличии от открытых видеодрайверов, проприетарный драйвер Nvidia необходимо установить как на хост-машину, так и в контейнер, причём одинаковую версию. Так же для сборки драйвера внутри контейнера необходимо подключить каталог с исходным кодом ядра из хост-машины, а для полноценной работы драйвера дать доступ на модификацию устройств 195 char .

Установите и настройте пакет с драйвером Nvidia на хост-машине:

emerge -a x11-drivers/nvidia-drivers

cl-setup-video —video nvidia

Перезагрузите хост-машину и убедитесь, что модуль Nvidia загружен:

nvidia_drm 53248 5 nvidia_modeset 1175552 9 nvidia_drm nvidia 33525760 374 nvidia_modeset drm_kms_helper 200704 1 nvidia_drm drm 462848 8 drm_kms_helper,nvidia_drm i2c_core 49152 4 drm_kms_helper,nvidia,i2c_piix4,drm 

Добавьте доступ к видеокарте и подключите исходный код ядра в контейнер, раскомментировав две строки в конфигурационном файле контейнера:

# Nvidia driver support lxc.cgroup.devices.allow = c 195:* rwm lxc.mount.entry = /usr/src usr/src none bind,create=dir 

Остановите контейнер и запустите его заново:

Установите и настройте драйвер Nvidia в контейнере, указав разрешение 1920×1080 :

emerge -a x11-drivers/nvidia-drivers

cl-setup-video —video nvidia -X 1920×1080

Обновление

Для обновления драйверов Nvidia или ядра, обновите на хост-машине ядро, затем драйвер Nvidia:

emerge -a sys-kernel/calculate-sources x11-drivers/nvidia-drivers

Перезапустите контейнер с остановкой для подключения исходного кода ядра:

Обновите Nvidia драйвер в контейнере:

emerge -a x11-drivers/nvidia-drivers

Настройка произвольного разрешения

Если монитор не поддерживает разрешение, которым вы хотите транслировать изображение, то его можно будет указать через файл настроек Xorg сервера. В примерах ниже транслируемое разрешение — Full HD ( 1920×1080 ).

Видеокарта Nvidia

При использовании видеокарты раскомментируйте следующие строки:

# Nvidia settings Section "Screen" Identifier "Monitor" Option "UseEDID" "true" Option "CustomEDID" "DFP-0:/usr/share/edid/1920x1080.bin" EndSection

Видеокарты Intel и AMD

При использовании видеокарты или , определите название порта к которому подключен монитор:

==> /sys/class/drm/card0-DP-1/status  connected ==> /sys/class/drm/card0-DP-2/status /sys/class/drm/card0-HDMI-A-1/status /sys/class/drm/card0-HDMI-A-2/status /sys/class/drm/card0-HDMI-A-3/status 

Раскомментируйте следующие строки, указав вместо Monitor-DVI-I-0 ваш (в примере выше ):

# Intel, AMDGPU settings Section "Monitor" Identifier "StandardMonitor" ModeLine "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync EndSection Section "Device" Identifier "Video" Option "Monitor-DVI-I-0" "StandardMonitor" EndSection

Настройка Xorg-сервера для работы без монитора

Без подключенного монитора, Steam не сможет определить поддерживаемые разрешения и не будет запускать игры.

Видеокарта Nvidia

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

# Nvidia displayless Section "Device" Identifier "Video" Option "ConnectedMonitor" "DFP-0" EndSection

Видеокарты Intel и AMD

Решение проблемы на видеокартах Intel и AMD без потери производительности только аппаратное: можно сделать заглушку по инструкции. Либо воспользоваться эмулятором HDMI подобным этому:

HDMI emulator 4K

Подключение к графическому сеансу контейнера

Для доступа к контейеру вы можете использовать подключенный к серверу монитор, либо, используя протокол VNC, подключиться удаленно, например при помощи клиента Remmina. Для подключения укажите протокол и IP адрес контейнера 192.168.0.10 :

VNC клиент Remmina

При первом запуске контейнера с настроенной учётной записью пользователя guest будет выполнена автоматическая установка Steam по сети:

Steam download

После установки будет запущен Steam в режиме Big Picture:

Steam login

Запуск игр

Для трансляции игр с сервера необходимо, чтобы клиент и сервер находились в одной сети. Если же они находятся в разных сетях, то их можно объединить в одну, используя VPN.

Для подключения ОС Android к запущенному Steam используйте клиент Steam Link:

Steam Link for Android

К сожалению, версии Steam Link под Linux нет. Вместо этого вы можете установить Steam, залогиниться той же учётной записью и подключиться к серверу, выбрав , для использования его вычислительной мощности:

Steam

Для установки Steam в Calculate Linux Desktop выполните:

emerge -a games-util/steam-launcher

Возможные проблемы

Моргание экрана

В некоторых случаях при трансяции изображения в Steam Link на видеокартах Nvidia может появляться моргание экрана. Чтобы исправить это, выйдите из Steam и запустите NVIDIA X Server Settings. В настройках OpenGL выключите опции и :

Nvidia disable sync

После этого снова запустите Steam из меню.

Изображение плохого качества

Может случиться, что качество транслируемого по сети изображения может сильно ухудшиться. Это может быть связано не только с проблемой работы сети, но и с автоопределением скорости сети в Steam, из-за чего он может занизить передачу до 3 Мбит/сек. Для решения этой проблемы укажите фиксированную минимально достаточную скорость. Например для трансляции Full HD вам вполне хватит скорости 10-15 Мбит/сек. Эти настройки можно выполнить как в Steam Link, так и в Steam, запущенном на сервере, перейдя в Настройки -> Remote Play -> Расширенные настройки клиента -> Предельная пропускная способность и выбрав 15 Мбит/с :

Предельная пропускная способность Steam

Настройка Steam-контроллера

Могут возникнуть сложности подключения Steam контроллера к Android через USB адаптер. В таком слуае для полключения используйте Bluetooth соединение. Возможно для этого может потребоваться обновить прошивку контроллера. Подробная инструкция доступна на сайте.

Steam Controller

Так же в Steam понадобится включить поддержку Xbox контроллера. Это можно сделать перейдя в меню "Настройки" -> "Настройки контроллера" и включить "Пользовательская настройка контроллера xbox":

Источник

Оцените статью
Adblock
detector