MMM
12:32 17-07-2013 HTPC RDS

[изображение]

Решил записать отдельной записью, потом приобщу к мегаотчету про мою реализацию HTPC. Итак: стояла многим знакомая...
Задача: выводить на телевизор медиаоболочку и контент через нее так, чтобы при необходимости можно было пользоваться этим же компьютером никак не нарушая этого функционала.
Конфигурация железа: собственно, HTPC с интегрированной и дискретоной видеокартами, к дискретной по HDMI подключен телевизор и по D-Sub монитор, встроенная отключена в BIOS.
Дополнительные условия: монитор львиную часть времени используется по своему прямому назначению любимой женой (к нему же по DVI подключен ее компьютер), иногда монитор используется мной для каких-либо работ на HTPC (на телевизоре работать не удобно, привычнее переключиться на нормальный монитор).
Поиск решения производился в области разделения экранов: телевизор - для медиаоболочки, второй экран - для всего остального.
Отвергнутые варианты:

  1. Имеющийся и уже подключенный монитор. Сразу в топку. По двум причинам: во-первых, он часто занят любимой женой, во-вторых, монитор тупоупертый - произвольно переключается между источниками DVI и D-Sub когда на них пропадает или появляется сигнал, и никак это не победить.
  2. Виртуальная машина в фоновом режиме с удаленным доступом к ее экрану через RAdmin или VNC. Отвергнуто по причине заведомой избыточности и неэффективности решения. Нафига огород городить, корячиться с созданием вылизанного образа, а в результате получить не самое удобное решение?
  3. Виртуальный монитор - hardware решение. Рассматривался т.н. 30-секндный монитор и удаленный доступ к его экрану через привычные RAdmin или VNC. Времнно отвергнуто по следующим причинам: во-первых, нет под рукой ингредиентов для изготовления такого эмулятора; во-вторых, не хочется отказываться от возможности иногда использовать уже подключенный по D-Sub реальный монитор; в-третьих других подходящих разъемов D-Sub в HTPC нет (имеющийся на встроенной видеокарте не катит, потому как заставить работать одновременно дискретную и интегрированную видеокарты не реально).
  4. Виртуальный монитор - software решение. После отказа от hardware варианта казался оптимальным вариантом. А вот йух. Все, что было найдено, либо не решает поставленной задачи (всякие делители реального экрана на виртуальные мониторы), либо преследует другие цели и без постоянного контакта с клиентом не работают (всякие эмуляторы дополнительного монитора на соседние компы через сеть). Плюс еще и Aero в Win7 все эти программные эмуляторы убивают насмерть, а я к ней уже привык.

В итоге на данный момент выбрано и реализовано следующее:

Что имеем в итоге:

  1. Телевизор установлен единственным экраном HTPC, на нем по умолчанию отображается медиаоболочка (XBMC управляется пультом телевизора через USB-CEC-адаптер или программной лентяйкой из любого андроид-девайса по сети). В случае нечастой необходимости экран переключается или расширяется на монитор через D-Sub.
  2. К HTPC настроен доступ через удаленный рабочий стол (дополнительные пользователи не вводятся, используется тот же юзер, под которым крутится медиаоболочка).
  3. В случае необходимости что-либо сделать на HTPC не затрагивая медиаоболочку, с любого компа под Windows (как из локальной сети, так и из интернета) запускается удаленный рабочий стол от имени того же юзера (спасибо твику за возможность параллельного сеанса).
  4. Получаем удаленно когда и где нужно ту же конфигурацию, что изначально вылизана для главной учетной записи HTPC, но без дополнительных мониторов (или их эмуляторов), никак не влияющую на реальную сессию, в которой на реальном телевизоре крутится медиаоболочка.

Минусы такого решения - жесткая привязка к OC Windows: удаленный рабочий стол вместо привычных RAdmin или VNC и его тормознутость, а также желательность при каждом коннекте полностью открывать/закрывать удаленную сессию для экономии ресурсов HTPC (чтобы не висела в фоне).
Таково текущее решение. Наверняка не окончательное и не самое оптимальное. Потому и публикую, может кто еще идей накидает. А пока изучаю то, что получилось, плюс альтернативы. Буду тестировать, а этот текст - редактировать и дополнять.