Это - общее поведение с традиционными реализациями NFS. Отображения пользователя NFS выполняются независимо от контекста, таким образом, все доступы клиентским корнем должны быть отображены на конкретном пользователе (обычно nobody
по умолчанию). Следовательно это странное поведение, где клиентский корень не может получить доступ к Вашим файлам непосредственно, но может su gabe
получить доступ к ним.
(“Недавние” версии NFS, т.е. NFSv4 и возможно NFSv3, позволяют более нормальное поведение, если поддерживается с обеих сторон, но я не знаю детали.)
(Это не реальный ответ, больше набор предложений - но это слишком длинно для вписывания в комментарий.)
Команда xdpyinfo предоставляет список функций X-сервера, включая список всех зарегистрированных расширений и зрительного ряда; Вы могли запустить путем сравнения этого.
Однако Ваша подсказка, что перевключение BackingStore решает проблему, делает меня подозрительным, что это - клиентская проблема: то, что клиент делает некоторое неправильное предположение на работах X11 или так или иначе нарушает ICCCM (Java известен за это), и таким образом повреждается более новой версией X11, который изменил некоторые значения по умолчанию...
Два предварительных обходных решения:
Выполненный x11vnc на узле, где приложение находится и затем соединяется с этим по VNC от более новых хостов; можно измерить экран x11vnc соответственно так для сокращения потребления пропускной способности.
Выполненные Xnest на более новых узлах и позволяют неприятному приложению соединиться с дисплеем Xnest; необходимо смочь скомпилировать версию Xnest, достаточно взрослого, чтобы быть совместимыми с приложением.
(Это не категорический ответ, но это - возможность.)
Возможно записать X приложений, которые только работают над дисплеем, который поддерживает данное количество цветов. Я встретился с несколькими старыми программами, которые просто не работали над дисплеем ни с чем кроме 8-разрядных цветов. Рабочий дисплей обеспечивает PseudoColor
зрительный ряд, чтобы позволить приложениям использовать 8-разрядную или 12-разрядную глубину в дополнение к собственной 24-разрядной глубине. Нерабочий дисплей только обеспечивает 24-разрядный и 32-разрядный зрительный ряд.
Таким образом, это могло быть ошибкой в приложении, когда оно не может взаимодействовать с сервером с помощью своего любимого количества цветов (скорее всего, 256). Я понятия не имею, как трудно фиксация его могла бы быть.
Попытайтесь запустить приложение в VNC; Xvnc -depth 8
или Xvnc -cc 3
(на RealVNC Сервер VNC), мог бы помочь.
gnome-session &
в ~/.vnc/xstartup
. Попытайтесь выполнить сервер клиента VNC на машине, где приложение (скопируйте vncserver
исполняемый файл и любая библиотека этому нужно).
– Gilles 'SO- stop being evil'
04.07.2011, 09:44