Multiseat для Windows рабочих мест / Хабр

Multiseat для Windows рабочих мест / Хабр Компьютер

Виртуальные рабочие места

Создание виртуальных машин и установку систем оставлю вам на откуп, думаю, этот процесс знаком большинству читателей. Но несколько рекомендаций все же будут, так как целью ставится комфортная работа пользователей.

Некоторые важные условности для скриптов, расположенных ниже:

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


Все компоненты подготовлены и оптимизированы, остается собрать все воедино и добавить пару штрихов.

Документация астер [aster wiki]

АСТЕР — программа (и только программа!), позволяющая создать несколько рабочих мест на базе одного системного блока. Для создания дополнительного рабочего места к компьютеру достаточно подключить еще один монитор или телевизор, клавиатуру, мышь и, при необходимости, микрофон, колонки, джойстик и т.д. После настройки и запуска АСТЕР отобразит на каждом мониторе свой, независимый от других мест, рабочий стол. За счет разделения ресурсов компьютера АСТЕР позволяет сэкономить до 70% затрат на программы, оборудование и его обслуживание в самых различных областях – от офисных приложений до 3D игр.

Если вы новичок в АСТЕР, то этот раздел — для вас:
Быстрый старт

Для более подробного знакомства с программой:

Руководство пользователя АСТЕР:
Руководство пользователя АСТЕР

Интерфейс пользователя АСТЕР:
Интерфейс программы «Управление АСТЕР»

Решения различных проблем с помощью АСТЕР:
Многопользовательские решения на базе АСТЕР

Здесь можно найти ответы на часто возникающие вопросы:
Часто задаваемые вопросы

Здесь вы найдете полезную информацию по работе с АСТЕР и примеры использования АСТЕР в различных организациях:
Статьи
Полезные ссылки

Фото, видео и промо-материалы:
Медиа

Что нового в АСТЕР:
История версий

Глоссарий:
Список терминов программы АСТЕР

Изоляция

Теперь приступим к изоляции ресурсов между рабочими местами.

Как играть вдвоем на одном системнике — другая полезная информация

http://other-games.r…re/2022-01-11-3 — полезная статья с тестами программы Aster

В данной статье вы узнаете как имея всего один достаточно мощный системный блок запустить два и более полноэкранных 3D приложения — игры. Другими словами, вы и еще кто-то сможет поиграть в любые современные игры на одном ПК (портативном компьютере) не испытывая никакого дискомфорта, лагов и всего прочего, как будто вы играете на двух разных ПК.

Также, следуя описанной ниже инструкции, один пользователь сможет запустить игру или любое другое приложения в полноэкранном режиме, а другой — просматривать веб страницы, смотреть фильм или заниматься какими-то своими делами, не мешая первому пользователю. И, самое главное, все это можно осуществить имея всего один системный блок.

Все описанное в данной статье изначально было проделано мной для личных целей. Однако, прочитав не один десяток форумов и не получив однозначного ответа на многие интересующие меня вопросы, которые впоследствии были найдены самостоятельно, было принято решения написать данную статью. Здесь вы найдете подробное описание всех проделанных действий и получите ответы на все самые распространенные вопросы, большинство из которых вы больше нигде не найдете.

Основная задача, которая передо мною стояла: Одновременный запуск 2 тяжелые 3D приложений (игры) имея всего один системные блок, два монитора, две мышки и клавиатуры, то есть необходимо было создать второе полноценное игровое место.

Сразу хочу заметить, что вопрос о покупке нового системного блока меня не интересовал, так как две игры на одном системном блоке надо было запустить только на небольшой период времени.

Примечания:

  • количество пользователей/игроков (от 2 до 6) и количество запущенных приложений напрямую зависит от мощности вашего системного блока;
  • все, что описано ниже, было протестировано в реальных приложениях и реальном компьютере;
  • в статье описаны некоторые подробности не зная которых вы будете испытывать дискомфорт, лаги в играх на любой конфигурации компьютера;
  • в данной статье описаны ключевые нюансы, которые могут возникнуть во время превращения одного системного блока в несколько рабочих/игровых мест;
  • в зависимости от конфигурации системного блока, которая у всех разная, могут быть различные нюансы, но в большинстве случаев, если все сделано правильно, все прекрасно работает;
  • приступать к практике настоятельно рекомендуется только после полного прочтения данной статьи, так как не зная некоторых подробностей вы можете нарушить нормальную работу своей системы;
  • если вы знаете, что можете сделать что-то не так, как описано в данной статьи или не хотите подвергать свою систему риску — не делайте ничего из описанного ниже.

1. Результаты

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

Тестовый стенд:

После всех описанных ниже действий было одновременно запущено 2 клиента игры World of Tanks и выставлены следующие настройки:Использованные ресурсы системы во время запуска двух игр на одном компьютере:Никаких лаг в игре замечено не было, все прекрасно работало как будто играешь на 2 совершенно разных системных блоках.

Игра World of Tanks была взята только для примера. Кроме нее успешно запускалось и множество других современны игр 2022 года выпуска.
2. Системные требования

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

Как видите, компьютер с данной комплектацией есть практически у каждого. Количество оперативной и видео памяти может быть еще ниже, но что-то запустить на такой системе будет весьма проблематично. Дополнительную мишку и клавиатуру, если нет в наличии, можно докупить, причем любую, даже самую дешевую. Дополнительный монитор — единственное, без чего нельзя будет обойтись.

Рекомендуемые системные требования для одновременного запуска двух современных игр:

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

Примечание: Все системные требования указывались с учетом использованных ресурсов тестовой системы и могут значительно отличаться в зависимости от ваших потребностей.
3. Подготовительные работы

Переходим к этапу предварительной настройки операционной системы, если ваша система соответствует указанным выше требованиям.
3.1. Подключение второй пары устройств

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

Примечания:

3.2. Создания новых профилей и установка пароля

Для запуска двух игр на одном компьютере или простого создания нескольких рабочих мест на базе одного системного блока необходимо создать как минимум еще 1 учетную запись в операционной системе Windows 7. Пароль устанавливать не обязательно, но рекомендуется (чтобы не было никаких проблем потом), хотя бы «1» (единицу).

Для всех дальнейших действий необходимо иметь права Администратора.

Пуск — Панель инструментов — Просмотр: Маленькие значки — Учетные записи пользователей

Рекомендуется установить: 4. Установка программного обеспечения АСТЕР

С помощью программы АСТЕР русского производства и будет произведено разделение одного системного блока на несколько рабочих/игровых мест (от 2 до 6). Данная программа, сразу говорю, платная, но имеет Trial-версию на 30 дней без каких-либо ограничений, как заявляет сам разработчик. Однако, во всех приведенных ниже примерах использовалась лицензионная версия программыАСТЕР V7 на два места (x64).

Официальный сайт программы: overcomp.ru

Изображение

Внимание! Если после установки программы и перезагрузки компьютера в правом нижнем углу Рабочего стола нет надписи «Тестовый режим Windows 7 Сборка 7601» запускать программу нельзя, так как вы не сможете запустить операционную систему после перезагрузки. Данное правило относится только к версии программы и операционной системы x64.
5. Настройка программы АСТЕР

Без предварительной настройки программы АСТЕР запустить две игры на одном компьютере или два и более рабочих места вам не удастся.

Внимание! Не нажимайте кнопку Применить до полной и окончательной настройки программы, пока это не будет написано в инструкции ниже.
5.1. Вкладка Видео

Запускаем программу и сразу переходим на вкладку Видео.

В системе одна видеокарта

После этих действий окно программы должно иметь следующий вид.

Изображение

В системе 2 или 3 видеокарты для игры
Если в вашей системе установлено 2 или 3 видеокарты и вы хотите для каждого игрового/рабочего места выделить по 1 видеокарте, тогда необходимо установить напротив каждой видеокарты номер рабочего места как на скриншоте ниже. Галочку «Разрешить запуск нескольких рабочих мест на одной видеокарте» устанавливать не нужно.

Изображение

В системе 2 или 3 видеокарты для только для работы
Если в вашей системе 2 или 3 видокарты и вы хотите создать 4 или 6 рабочих мест, тогда вам необходимо установить галочку «Разрешить запуск нескольких рабочих мест на одной видеокарте» и указать в каждой строке номер рабочего места.
5.2. Вкладка Ввод

Здесь находится список всех подключенных клавиатур и мишек. Изначально, если у вас подключено по две пары устройств, возле названия устройства в столбце Место пишет 1,2. Данная запись говорит о том, что данное устройство ввода будет можно будет использовать как на первом, так и на втором рабочем месте.

Вопрос: Как определить какое устройство ввода находится возле того или иного монитора, если вы не знаете точную модель устройства или два устройства имеют одинаковую модель.

Ответ: Все очень просто. При перемещении мишки и нажатия клавиш на клавиатуре возле названия устройства в программе загорается маленький значок (i).

Теперь, когда вы знаете какое устройство находится возле какого монитора (рабочего/игрового места), необходимо расставить цифры 1 и 2.
5.3. Вкладка Звук

Здесь находится список всех подключенных к системе аудиоустройств, список аудио выходов и входов.

Если на предыдущей вкладке Ввод программа сама нам подсказывала какое устройство находится возле какого рабочего места, то здесь ничего подобного нет. Определять устройства, если не знаете его название, необходимо методом подбора. Рекомендую оставить эту вкладку так, как есть, а после, когда все уже будет окончательно настроено и все будет работать, заняться настройкой этой вкладки. Также хочу заметить, что изменения вступают в силу только после нажатия кнопки Применить, но нажимать ее еще рано.
5.4. Вкладка Вход

Данная вкладка служит для автоматического входа в систему пользователей.

Для редактирования:

5.5. Вкладка Сеть

Данная вкладка предназначена для установки локального IP адреса для каждого рабочего места.

Производить настройку IP адреса рабочих мест необходимо только в том случаи, если у вас есть 2 или более сетевых адаптера и какая-то программа или игра, запущенная одновременно на нескольких рабочих местах, отказывается работать на одном общем для всех IP адресе.

Настройка данной вкладки производится не будет, так как данных программ/игр очень мало и во время тестирования различных приложений, включая онлайн игры, никаких конфликтных ситуаций обнаружено не было.
5.6. Вкладка Общее

На главной вкладке программы можно:

Окно правильно настроенной и работающей программы должно выглядеть следующим образом.

Изображение
6. Запуск программы

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

Внимание! Перед запуском программы с использованием нескольких видеокарт обязательно должна стоять галочка «Запускать АСТЕР автоматически при включении компьютера». В противном случаи программа и операционная система может не запуститься, зависнуть на этапе загрузки.
7. Выключение программы

8. FAQ — часто задаваемые вопросы

В этом разделе вы найдете ответы на самые распространенный и часто задаваемые вопросы.

Вопрос: Где скачать программу?
Ответ: На сайте разработчика. Ссылка на сайт разработчика указана вначале раздела «Установка программного обеспечения АСТЕР». Других ссылок на скачивание программы вы здесь не найдете.

Вопрос: При запуске полноэкранного приложения или игры на одном из рабочих мест экран несколько раз мерцает на другом рабочем месте.
Ответ: Данный эффект наблюдается только при использовании одной видео карты на 2 рабочих местах. Убрать мерцание можно установив вторую видеокарту и настроив программу с помощью инструкции описанной в разделе «3. Настройка программы АСТЕР» — «3.1. Вкладка Видео» — «В системе 2 или 3 видеокарты для игры».

Вопрос: В игре полностью отсутствует курсор или курсор невидимый.
Ответ: Данная ситуация наблюдается при использовании одной общей видеокарты для двух рабочих местах.

Полностью решить эту проблему можно только установкой еще одной видеокарты и настроив программу с помощью инструкции описанной в разделе «3. Настройка программы АСТЕР» — «3.1. Вкладка Видео» — «В системе 2 или 3 видеокарты для игры».

Частично решить это проблему можно немного поднастроив саму программу во вкладке Видео:

Данная проблема решается только частично, потому как при использовании одной видеокарты на двух рабочих/игровых местах поиграть в одну и ту же игру или запустить одно и тоже приложение, в котором наблюдается данная проблема, у вас не выйдет. Все дело в том, что аппаратный курсор может быть только 1 на одну видеокарту, а второй — программный.

Вопрос: При запуске одной копии игры/программы никаких проблем не наблюдается, но как только такую же программу/игру запускают на других рабочих местах у всех начинаются сильно притормаживать операционная система, запущенная программа или игра.
Ответ: Причин может быть несколько, но для начала убедитесь, что ваша система соответствует рекомендуемым системным требованиям указанным в разделе Системные требования.

  • Нехватка скорости жесткого диска для одновременной работы нескольких пользователей.
  • Слишком мало оперативной памяти. Нажмите [Ctrl] [Alt] [Esc]. В самом низу будет строка «Физическая память». Если загрузка 90% и более, то причина именно в оперативной памяти. Попробуйте закрыть все ненужные в данный момент приложения.
  • Процессор не достаточно мощный. Нажмите [Ctrl] [Alt] [Esc]. В самом низу будет строка «Загрузка ЦП». Если загрузка 90% и более, то причина в недостаточной мощности процессора. Попробуйте закрыть все ненужные в данный момент приложения.
  • Полностью загруженное 1 ядро процессора, а все другие почти бездействуют, слабо загружены — одна из самых распространенных проблем в много ядерных процессорах при запуске одинаковых приложений/игр на разных рабочих местах. Для решения данной проблемы необходимо каждому приложения, которое создает значительную нагрузку на центральный процессор, необходимо принудительно указать какие ядра процессора оно может использовать.
  • Слишком слабая видеокарта для запуска 2 приложений. Выявить данную проблему без установки дополнительного программного обеспечения, к сожалению, не удастся. Рекомендую установить бесплатную утилиту GPU-Z и посмотреть:
    Максимальный процент загрузки процессора видеокарты (GPU) и максимальное количество задействованной видео памяти не должно превышать отметку в 95%.

Как можно работать вдвоем на одном компьютере

АСТЕР позволяет создать на базе одного системного блока до 6 рабочих мест. Вам потребуется только подключить к системному блоку требуемое количество :

  • дополнительных мониторов или ТV
  • клавиатур, мышек;
  • микрофон, наушники или гарнитуру, колонки;
  • web-камеру, игровые устройства.

Как это работает у нас

Решение действительно работает. Сборка dualseat’а на самом деле сведена к минимуму. После установки системы, скриптом устанавливаются дополнительные пакеты, vmplayer и копируются все упомянутые конфиги и скрипты. Виртуальные машины просто тиражируются, используя «золотой шаблон».

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

Спасибо всем за внимание, надеюсь получилось интересно.

Клавиатуры и мыши

Для распределения этих HID девайсов используется возможность VMPlayer захватывать в монопольное использование USB оборудование. Перед тем, как распределять устройства, выясняем их VID и PID, воспользовавшись утилитой

lsusb

. После того, как выяснены все идентификаторы устройств, прописываем следующие параметры в каждом

workstation.vmx

Конфигурация запуска системы


Для запуска dualseat используем

/home/vm/.fluxbox/startup

, содержимое которого, последовательно и комментируя, привожу далее (обратите внимание на настройку мониторов).

/home/vm/.fluxbox/startup
/home/vm/.fluxbox/startup
Отключаем все попытки системы «потушить» экран:
xset -dpms
xset s off
setterm -blank 0
setterm -powerdown 0

По умолчанию, система с двумя мониторами запускается в режиме clone, это когда мы видим одну и ту же картинку на обоих мониторах. Для настройки корректного отображения будем использовать утилиту xrandr (вместо конфигурации в xorg.conf).
Чтобы получить доступные разрешения для каждого монитора, используется команда xrandr -q. Нужно обратить внимание на то, что DVI выход системой показывается как HDMI.
Настройка обоих мониторов происходит в момент запуска fluxbox, для этого используются следующие строки (порядок строк важен), значения в которых, у вас конечно должны быть свои:

# Устанавливаем разрешение монитора подключенного к VGA
xrandr --output VGA1 --mode 1280x1024 
# Устанавливаем разрешение монитора подключенного к HDMI
xrandr --output HDMI1 --mode 1920x1080
	
# Располагаем HDMI пространство слева от VGA
xrandr --output HDMI1 --left-of VGA1 
# Делаем HDMI монитор основным (с которого будет начинаться нумерация)
xrandr --output HDMI1 --primary

Системный курсор нам не нужен, а сам по себе он остается всегда видимым, поэтому «тушим» его таким образом

unclutter -idle 1 -root &

Теперь запуск графической оболочки и сразу после нее запуск самих виртуальных машин

exec fluxbox &
fbpid=$!
sleep 1
{
 /home/vm/user00/start &  # Скрипт запуска VM00 
 /home/vm/user01/start &  # Скрипт запуска VM01
} &
wait $fbpid

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

check_shutdown

, который выполнится сразу после выключения VM. Он нужен для проверки на необходимость выключения компьютера, при выключении обоих рабочих мест.

Мониторы


Для запуска виртуальных машин, каждой на своем мониторе, используем возможности оконного менеджера fluxbox, где в файле

/home/vm/.fluxbox/apps

указаны правила расположения виртуальных машин в момент запуска.

Обратите внимание, что VMPlayer запускается минимизированным, это сделано для того, чтобы пользователь не видел запуск оболочки VMPlayer. Но для того, чтобы этот эффект до конца сработал, нужно не забыть в настройках VMPlayer поставить галочку на опции

«Enter full screen mode after powering on»

или как эквивалент — в

workstation.vmx

установить параметр

gui.viewModeAtPowerOn = "fullscreen"


Если у вас видеокарта NVidia или Radeon и вы установили драйвера, то вы можете полноценно воспользоваться функцией проброса 3D ускорителя в виртуальный видеодевайс, установив галочку в параметре

«Accelerate 3D graphics»

. В

workstation.vmx

за это отвечает параметр

mks.enable3d = "TRUE"

Назначение usb хабов

Для рабочего места можно назначить USB хаб и тогда все подключенные в него устройства будут назначены автоматически — это относится только к устройствам, которые могут быть назначены обычным образом: — клавиатура, мышь, устройства звука, видео камера, игровой контроллер, USB монитор, а также подключённые к этому хабу дочерними хабами (вместе с подключёнными к дочернему хабу устройствами). Назначение USB хаба упрощает процесс назначения устройств, а также позволяет заменить оборудование без корректировки настроек АСТЕР, что особенно удобно при большом количестве рабочих мест и соответственно устройств.
Назначение USB хабов, помимо автоназначения устройств, также выполняет ограничительные функции:
— запрещает всем рабочим местам (кроме тех для которых назначен хаб) доступ к оптическим (CD/DVD) приводам и дискам подключенным к назначенному USB хабу
— диски и оптические (CD/DVD) приводы подключенные к USB хабу отображаются в проводнике только на рабочих местах для которых назначен хаб, но только при условии, что включена опция Проводника «Скрывать пустые диски» и «Не показывать скрытые файлы, папки и диски».

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

USB хабы отображаются в настройках в виде иконок с красными насечками — чем больше насечек тем большая у хаба глубина вложенности в USB дереве. Корневой хаб насечек не имеет. Перетаскивать на места как правило нужно самые глубокие хабы — лучше и удобнее это делать из окошка «Структура USB-устройств». Чтобы назначить все хабы из одной ветки USB дерева, достаточно назначить вышестоящий (родительский) хаб.
Иконки хабов отражают тип хаба:

Корневой хаб— корневой хаб

USB-3.0 хаб— USB-3.0 (SuperSpeed) хаб

USB-2.0 хаб— USB-2.0 хаб

Коробка USB-3.0 хаба с точки зрения системы может являться не одним, а двумя USB-3.0 и USB-2.0 хабами и при перетаскивании одного могут перетащиться два хаба (перетаскиваемый парный из той же коробки). В этом случае после перетаскивания будет предложен выбор:

Подтверждение назначения хабов

Выберите с помощью флажков хабы, которые действительно нужно перетащить: оба или только один. Как правило, лучшим решением будет оставить то, что задано по умолчанию (т.е. оба хаба, USB-3 и USB-2), так как оба хаба находятся в одном корпусе.
Хаб можно перетащить или на рабочее место или на панель “Общие”. При перетаскивании в “Общие”, устройства, подключённые хабу, получают назначения на рабочие места, которые были ранее явно заданы для этих устройств (по умолчанию или путём явного задания места).
После того, как хаб назначен на рабочее место, подключённые к нему устройства невозможно явно перетащить на другое место (или отправить в “Общие” или “Запчасти”). С этого момента устройства можно перетащить только путём перетаскивания хаба, к которому они подключены. Перетаскивание хаба в «Общие» разрывает эту жесткую связь, после чего подключенные устройства получают явное назначение на места, заданное им ранее (т.е. так как было до назначения хаба) и снова появляется возможность перетаскивать устройства на другие места.
Из этого «жёсткого» правила есть одно важное исключение, и это — USB хаб 😊. Т.е. хаб, подключённый к назначенному хабу, все равно можно перетащить на другое место или в «Общие». Это позволяет организовать каскадное подключение USB-устройств к разным рабочим местам. Например, назначаем хаб рабочему месту, подключаем к нему второй хаб, который назначаем на любое другое рабочее место. Т.е. организуете цепочку хабов. Это позволяет обойти ограничение на количество портов, имеющихся в компьютере, и сэкономить на длине и качестве USB-кабелей. Но не стоит сильно увлекаться глубиной этой цепочки, т.к. от этого может пострадать стабильность работы подключённых USB-устройств.

Назначение клавиатуры и мыши

Клавиатуры и мыши можно назначить рабочим местам после их успешного запуска или на стадии первоначальной настройки АСТЕР.

Проще всего это сделать используя технику перетаскивания или через пункт «Назначение рабочих мест» контекстного меню устройства, как это было описано выше. Если (при включенном АСТЕР) назначение клавиатур и мышек было сделано неверно, и после применения настроек управление компьютером затруднено, можно выполнить сброс настроек клавишей CTRL F12. Может потребоваться нажать CTRL F12 несколько раз, пока все клавиатуры и мыши не будут автоматически назначены на управляющее рабочее место. После этого нужно исправить неверные назначения устройств.

Как правило, эта горячая клавиша, используется редко, так как в ней не возникает необходимости. Однако, некоторые программы (например, продукты фирмы Adobe) могут использовать эту клавиатурную комбинацию. Это может создать неудобства, так как драйвер АСТЕР перехватывает её раньше других программ. В контекстном меню системного блока на вкладке «Рабочие места» есть пункт меню «Горячая клавиша переключения клавиатуры/мыши», которая позволяет переназначить эту клавиатурную комбинацию или вообще её запретить.

После выбора этого пункта меню появится диалог:

Настройте горячие клавиши для переключения устройств ввода

Для изменения горячей клавиши кликните мышью в поле ввода в нижней части диалога и нажмите клавишу, которую хотели бы использовать в сочетании с клавией Ctrl. Некоторые общеупотребительные комбинации (например, Ctrl-F4, Ctrl-C, Ctrl-S, Ctrl-V и т.д.) запрещено использовать для этой цели. Для того, чтобы вообще отменить эту комбинацию, нажмите кнопку «Сбросить».

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

Назначение мониторов

Назначать мониторы необходимо до запуска дополнительных рабочих мест. Остальное оборудование может быть назначено позже.

При назначении мониторов на рабочие места возможны следующие варианты:

При первом запуске программы Управление АСТЕР, все мониторы, как правило, будут назначены на первое место. Назначение монитора (и любого другого оборудования) рабочему месту проще всего осуществить с помощью перетаскивания (Drag & Drop) мышью на нужное рабочее место. Не забывайте, что в области «Система» содержатся раскрывающиеся панели, в которых можно увидеть нужные устройства.

Не всякое сопоставление оборудования и рабочего места будет возможно, так как существуют конфликтные конфигурации, которые не будут работать. В простейших случаях недопустимость цели перетаскивания будет обозначена изменением указателя мыши (появится запрещающий знак – перечеркнутый круг). В случае назначения мониторов очень легко получить конфликт и не всегда будет очевидно, как его избежать или разрешить. Поэтому для мониторов применяется автоматическое разрешение конфликтных ситуаций. При перетаскивании монитора в область рабочего места проверяется допустимость конфигурации, и если обнаружены конфликты, ситуация по определенным правилам преобразуется в бесконфликтную. При этом мониторы, которые удаляются с рабочего места с целью разрешения конфликта, помещаются в панель «Запчасти» (и эта панель раскрывается, если была закрыта).

Кроме метода перетаскивания (Drag & Drop) назначение устройства можно осуществить через его контекстное меню, а именно из пункта «Назначение на рабочее место». Появится диалог, внешний вид которого зависит от того, допускает ли устройство совместное использование или нет:

Допускается совместное использование динамиковНе допускается совместное использование мониторов

В первом случае можно поставить галочки перед несколькими номерами, отключить устройство от всех рабочих мест (отправить его в «Запчасти», выбрав пункт «Никому») или назначить «Всем» (поместить в «Общие»). Во втором случае устройство можно назначить только на одно рабочее место или отправить в «Запчасти».

Платформа

Первым шагом для создания платформы для dualseat инсталируем Ubuntu Server 12.04 x64. После достаточно тривиальной установки системы доставляем пакеты, которые обеспечат функционирование остальных компонентов, и заодно некоторые полезные утилиты:


После инсталляции конфигурируем систему так, чтобы ее запуск был прозрачным для пользователя, да и само графическое оформление хост системы не бросалось в глаза, а еще лучше, чтобы вообще отсутствовало.

Начнем с конфигурации nodm, который как раз предназначен для автоматического запуска X сессии, сразу во время загрузки системы:

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

Операционная система подготовлена, и как сказал бы Лёлик из кинофильма «Брильянтовая рука» – «Шеф, усе готово, система грузится без шума и пыли».

Далее скачиваем с официального сайта VMWare последнюю версию VMPlayer. Установка достаточно проста, но может потребовать установку патча, непосредственно сразу после установки, если vmplayer не будет запускаться. Но, чтобы добиться максимальной отзывчивости виртуальных машин, проведем

Подготовка

Ну что же, приступим. Для создания dualseat нам нужно подготовить несколько основных компонентов.

Последний штрих

Для полноты решения должны работать следующие сценарии:

  1. При включении системного блока, виртуальные машины запускаются автоматически.
  2. Каждое из рабочих мест можно включать и выключать, даже если работает соседнее рабочее место.
  3. При выключении всех рабочих мест, системный блок должен выключиться.

Пункт 1 и 3 реализованы с помощью скриптов расположенных выше. Пункт два выполнен частично. При выключении одной из виртуальных машин, вторая останется работать. Но как обратно включить выключенную машину? Решается вопрос очень элегантно: для этого вешаем на кнопу Power (это та, что на системном блоке) команду запуска виртуальных машин. Для этого в файле

/home/vm/.fluxbox/keys

прописываем несколько строк:

После такой конфигурации пользователь будет включать свою машину привычным для себя способом.

Результат

Я постарался изложить решение полностью, но некоторые детали я опустил, дабы не засорять и так разросшуюся статью, надеюсь, они не помешают собрать свой dualseat, а если у вас действительно возникнет такое желание, готов ответить на все вопросы возникшие в процессе сборки.

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

Системное окружение

Теперь нужно подготовить системное окружение: создать пользователя и пару папок.

Техническая часть

Разработка велась на рабочей станции со скромными на текущий момент параметрами – AMD Athlon 64 X2, GeForce GT 440, DDR II 4Gb, HDD 320GB, и хотя результат оказался вполне приемлемым, для соответствия вышеуказанным требованиям, при выборе технической составляющей следует учесть следующие рекомендации:

  • Процессор с двумя ядрами — каждой VM выделяется по одному, и конечно желательна поддержка современных технологий виртуализации, тогда можно ожидать производительность, приближенную к «железной» рабочей станции.
  • Оперативная память не является особо дорогим составляющим, поэтому лучше, не жалея, рассчитать по 3Gb на каждое рабочее место, плюс 1 Gb для хост системы. Но в определенных ситуациях вполне можно обойтись и по 1,5 Gb для каждого места.
  • Жесткий диск, на котором будет расположена виртуальная машина, желательно, чтобы был отдельный для каждого рабочего места, это даст независимость операций ввода/вывода и виртуальные машины будут меньше мешать друг другу. Это требование можно опустить, если цель экономии средств является более приоритетной.
  • Материнская плата, желательно, должна быть уже с двумя видеовыходами, этим снимается необходимость в приобретении отдельной видеокарты. Но, если у вас есть желание использовать свою видеокарту и/или на материнской нет видеовыходов, то можно использовать, конечно, внешнюю.

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

  • Мониторы. При выборе мониторов следует учесть, что материнские платы с видеовыходами DVI и VGA, не поддерживают переходники DVI->VGA. Поэтому нужно убедиться, что имеющиеся мониторы и видеовыходы соответствуют друг другу.
  • Клавиатуры и мыши. Это скорее не замечание, а больше ограничение к выбору этих HID устройств. Во первых, все устройства должны быть USB. Во вторых, VID:PID одной клавиатуры не должен совпадать с VID:PID другой. Такое же условие накладывается и на мыши. Если говорить проще, модели клавиатур должны отличатся между собой и модели мышей тоже должны быть разными. Связано это ограничение с тем, что для распределения устройств между виртуальными машинами используются VID и PID, а возможность подключения одинаковых моделей не изучалась, так как выполнение этого условия не составляет большого труда.

Для примера приведу конфигурацию, которую мы взяли за стандарт для наших dualseat’ов:

Intel Core i3, MB (DVI VGA, Audio, GLan),HDD 500Gb x 2

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

Оцените статью
OverComp.ru