Не работает X Render Extension из windows-клиента FreeNX.
Теперь подробнее:
Система: Debian Lenny 5.0.3
Версия FreeNX: RX@Etersoft
stable/Debian/5.0/
freenx-server_0.7.4-eter18.12debian_i386.deb
nx_3.3.0-eter18debian_i386.deb
nxclient_3.3.0.6-eter6debian_i386.deb
nxsadmin_0.2.1-eter4debian_i386.deb
Анамнез:
Некоторое время назад был установлен тестовый сервер FreeNX указанной выше конфигурации. WINE заработал под ним сразу и без проблем как на Windows, так и на Linux клиентах (сперва использовались сборки windows-клиента от Etersoft, затем - с этого форума, из "курощения").
Через некоторое время WINE перестал запускаться с windows-клиентов, и при этом начал выдавать такое сообщение об ошибке:
Wine has detected that you probably have a buggy version
of libXrender.so . Because of this client side font rendering
will be disabled. Please upgrade this library.
err:font:X11DRV_SelectFont Etersoft notes: Broken wine
build or ttf fonts missed in system. Check libXrender-devel package presence during build
При этом wine в FreeNX-клиенте запущенном из Linux работает нормально.
В результате долгих ковыряний по документации X-протокола и сайту NoMachine, а также экспериментов с различными опциями сервера и клиентов FreeNX удалось вяснить следующее:
- Из-под windows-клиента Render Extension не работает: xclock не запускается вообще, а WINE работает только при установленном ключе реестра ClientSideWithRender=N.
- Сервер FreeNX игнорирует установку опции "Disable Render Extension" в конфигурации клиента, независимо от платформы
- При установленной в файле node.conf опции AGENT_EXTRA_OPTIONS_X=" -norender" сервер FreeNX отключает поддержку Render Extension, в результате чего программы, использующие Render начинают работать в режиме совместимости (чёрные стрелки в xclock, тормозная прокрутка окон в wine и т.п.).
Диагноз:
несовместимость (версии?) расширения X Render Extension в windows-клиенте FreeNX с сервером FreeNX.
Симптоматика:
проблемы со шрифтами, медленная прокрутка окон, повышенная нагрузка на сеть и процессоры как клиента, так и сервера.
Тест: в терминале, запущенном под freenNX-сессией запустить xclock (из набора xutils).
Если Render работает - появится окно часиков с двумя полупрозрачными стрелками.
Если Render отключен (режим совместимости) - стрелки будут непрозрачные.
Если Render глючит - xclock не запустится.
Лечение:
???