Как диагностировать старое X приложений, работающих неправильно над современными X-серверами?

Это - общее поведение с традиционными реализациями NFS. Отображения пользователя NFS выполняются независимо от контекста, таким образом, все доступы клиентским корнем должны быть отображены на конкретном пользователе (обычно nobody по умолчанию). Следовательно это странное поведение, где клиентский корень не может получить доступ к Вашим файлам непосредственно, но может su gabe получить доступ к ним.

(“Недавние” версии NFS, т.е. NFSv4 и возможно NFSv3, позволяют более нормальное поведение, если поддерживается с обеих сторон, но я не знаю детали.)

4
24.06.2011, 09:15
2 ответа

(Это не реальный ответ, больше набор предложений - но это слишком длинно для вписывания в комментарий.)

Команда xdpyinfo предоставляет список функций X-сервера, включая список всех зарегистрированных расширений и зрительного ряда; Вы могли запустить путем сравнения этого.

Однако Ваша подсказка, что перевключение BackingStore решает проблему, делает меня подозрительным, что это - клиентская проблема: то, что клиент делает некоторое неправильное предположение на работах X11 или так или иначе нарушает ICCCM (Java известен за это), и таким образом повреждается более новой версией X11, который изменил некоторые значения по умолчанию...

Два предварительных обходных решения:

  • Выполненный x11vnc на узле, где приложение находится и затем соединяется с этим по VNC от более новых хостов; можно измерить экран x11vnc соответственно так для сокращения потребления пропускной способности.

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

1
27.01.2020, 21:02
  • 1
    Мы пытались использовать сервер Nomachine NX на стороне приложения и клиенты NX на стороне клиента - это представило еще больше несовместимостей. Мы дадим VNC попытку. –  mbaitoff 23.06.2011, 04:03
  • 2
    я обновил сообщение с xdpyinfo данными. У Вас есть что-нибудь для комментария его? –  mbaitoff 24.06.2011, 09:16
  • 3
    @mbaitoff, Учитывая отсутствие зрительного ряда PseudoColor в нерабочем X-сервере, предложение Жабр могло бы быть корректным - дают ему попытку! –  Riccardo Murri 24.06.2011, 13:23

(Это не категорический ответ, но это - возможность.)

Возможно записать X приложений, которые только работают над дисплеем, который поддерживает данное количество цветов. Я встретился с несколькими старыми программами, которые просто не работали над дисплеем ни с чем кроме 8-разрядных цветов. Рабочий дисплей обеспечивает PseudoColor зрительный ряд, чтобы позволить приложениям использовать 8-разрядную или 12-разрядную глубину в дополнение к собственной 24-разрядной глубине. Нерабочий дисплей только обеспечивает 24-разрядный и 32-разрядный зрительный ряд.

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

Попытайтесь запустить приложение в VNC; Xvnc -depth 8 или Xvnc -cc 3 (на RealVNC Сервер VNC), мог бы помочь.

0
27.01.2020, 21:02
  • 1
    я попытался запустить приложение в VNC, запущенном в серверной стороне. Соединение с VNC сервера показывает ужасную среду TWM. Запуск неприятного приложения в окне VNC дает еще худший результат - никакое запоминающее устройство, никакие перерисовки, пустые окна и т.д. Я также пытался выполнить сервер VNC на стороне клиента, затем соединяясь с ним, и входя в систему в нем ot сервер приложений. И это работало! Я достиг надлежащих перерисовок и запоминающего устройства даже в истинном цвете. Однако этот вид соединения очень нестабилен - это отбрасывает тут и там, и сервер VNC перестает работать. Какая-либо справка с этим? –  mbaitoff 04.07.2011, 08:28
  • 2
    @mbaitoff Трудно для сообщения наверняка но я рекомендую выполнить сервер VNC на той же машине как приложение. Среда не должна иметь значения, так как Вы только запустили одно приложение в ней, но можно настроить ее путем помещения, например. gnome-session & в ~/.vnc/xstartup. Попытайтесь выполнить сервер клиента VNC на машине, где приложение (скопируйте vncserver исполняемый файл и любая библиотека этому нужно). –  Gilles 'SO- stop being evil' 04.07.2011, 09:44
  • 3
    показывает, что машина клиента сервер VNC отбрасывает из-за segfault в 'Xtightvnc'. Я теперь пытаюсь экспериментировать с серверной стороной сервер VNC. –  mbaitoff 04.07.2011, 10:54

Теги

Похожие вопросы