понедельник, 19 сентября 2016 г.

Публикация веб-браузеров Google Chrome и Mozilla Firefox на терминальном сервере Windows Server 2008

Не так давно я столкнулся с несколькими проблемами при публикации веб-браузеров на терминальном сервере под Windows Server 2008 (R2).

Google Chrome

При попытке запустить опубликованный Google Chrome в seamless mode (у разных вендоров этот режим называется по-разному - RemoteApp у Microsoft, Hosted Applications у VMware, Application Publishing у Citrix), в окне браузера не загружались страницы, и через некоторое время он завершал свою работу с ошибкой.

Для решения проблемы при публикации Chrome через Microsoft RDS или VMware View достаточно добавить параметр "--allow-no-sandbox-job".

Для Citrix XenApp 6.5 есть статья в базе знаний (http://support.citrix.com/article/CTX132057), в которой при публикации Chrome также рекомендуется добавить параметр "--disable-gpu". Для решения проблемы мне также пришлось заменить Chrome на 32-битную версию, т.к. 64-битная ни в какую не хотела работать.

Mozilla Firefox

При попытке запустить два экземпляра Firefox на одном терминальном сервере под одним пользователем возникает ошибка "Firefox is already running but is not responding".

Проблема возникает в том случае, если два экземпляра Firefox запускаются из-под одной учетной записи пользователя в разных сессиях. При запуске процесс Firefox блокирует на запись профиль настроек для других процессов, соответственно, второй процесс Firefox не может получить доступ к профилю и выдает ошибку. Проверить это можно, открыв на терминальном сервере в момент возникновении ошибки диспетчер задач и посмотрев на количество сессий у пользователя (у данного пользователя будет две или больше сесии ICA-TCP).

По умолчанию Citrix использует механизм Session Sharing, который запускает опубликованные приложения внутри одной сессии. Данная ошибка возникает, если отключить Session Sharing, добавив ключ в реестре:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\Wfshell\TWI\:
Type: REG_DWORD
Value: SeamlessFlags = 1

а также настроить разрешение на запуск пользователем нескольких сессий на одном терминальном сервере (Remote Desktop Session Host Configuration -> Restrict each user to a single session: no).

Соответственно, чтобы решить проблему, надо либо включить Session Sharing обратно, либо настроить публикацию Firefox с ключами "-P -no-remote", тогда при запуске пользователь сможет создавать и использовать отдельный профиль для каждого экземпляра браузера.

Комментариев нет:

Отправить комментарий