Курощение nomachine клиента - за шаг до ... ((1С, wine@Etersoft, freenx, NXClient for Windows))

Модераторы: dimbor, Модераторы разделов

Mitridat
Сообщения: 18

Re: Курощение nomachine клиента - за шаг до ...

Сообщение Mitridat »

dimbor, респект тебе и уважуха! Преклоняюсь перед твоим талантом и упорством.
У меня просьба, выложи код, который ты правил (модуль, номера строк, исходный текст и на что он был заменён), чтобы можно было не только скачать твою сборку, собрать её и тупо юзать, а поправить самому и иметь возможность поправить в следующих версиях (если это не сделают разрабы).
Если не жалко, конечно. :rolleyes:
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

Mitridat писал(а):
20.06.2008 10:17
У меня просьба, выложи код, который ты правил (модуль, номера строк, исходный текст и на что он был заменён), чтобы можно было не только скачать твою сборку, собрать её и тупо юзать, а поправить самому и иметь возможность поправить в следующих версиях (если это не сделают разрабы).
Если не жалко, конечно. :rolleyes:


Ха! Если на мой счет 322223322 в новодрищенской сберкассе не поступит лимона три евриков, то меня сейчас-же задушит огроменная жаба! :crazy:

Насчет кода. В сборке клиента из #59 уже есть измененные исходники. Да вот только извращенцев, компилирующих под Cygwin, тут более не нашлось. А жаль!

Теперь про сервер: rpm-ки nx-3.2.0 у меня есть, только они альтовские и левые, т.к. я ни разу не ментейнер (там церемония вступления, как в масонскую ложу).
В сизифе альта лежит nx-3.1.0. В переписке с их автором на тему компиляции меня насторожила фраза "Если вам нужна техподдержка, то она всегда стоила денег.", после чего я прекратил надоедать ему глупыми вопросами.

Суть изменений: правился nxagent-3.2.0-6 от nomachine.
Буфер обмена - чтобы (виндовому?) клиенту при paste не отдавался COMPOUND_TEXT - он все равно не знает, что с ним делать.
cat Clipboard.c.patch

Код: Выделить всё

*** ./nx-X11/programs/Xserver/hw/nxagent/Clipboard.c.orig    2008-03-19 19:26:15 +0300
--- ./nx-X11/programs/Xserver/hw/nxagent/Clipboard.c    2008-06-20 15:41:23 +0400
***************
*** 1194,1203 ****
      Atom xa_STRING[4];
      xEvent x;

      xa_STRING[0] = XA_STRING;
!     xa_STRING[1] = clientTEXT;
!     xa_STRING[2] = clientCOMPOUND_TEXT;
!     xa_STRING[3] = clientUTF8_STRING;

      ChangeWindowProperty(pWin,
                           property,
--- 1194,1204 ----
      Atom xa_STRING[4];
      xEvent x;

+     /* --- Order changed by dimbor (prevent sending COMPOUND_TEXT to client?) --- */
      xa_STRING[0] = XA_STRING;
!     xa_STRING[1] = clientUTF8_STRING;
!     xa_STRING[2] = clientTEXT;
!     xa_STRING[3] = clientCOMPOUND_TEXT;

      ChangeWindowProperty(pWin,
                           property,

Кстати, у меня к nxagent-у xfixes при запуске не цепляются (из-за виндового клиента?). Если у кого-то цепляются, картина с буфером может быть совсем другой.

Иконки в жуналах/справочниках 1с - делаем так, чтобы "простыни" попадали (в кэш сервера?) всегда, а "альфа-кодироваться" где-то раньше они не хотят.
cat Image.c.patch

Код: Выделить всё

*** ./nx-X11/programs/Xserver/hw/nxagent/Image.c.orig    2008-06-09 15:08:16 +0400
--- ./nx-X11/programs/Xserver/hw/nxagent/Image.c    2008-06-20 15:53:27 +0400
***************
*** 644,649 ****
--- 644,653 ----
              pDrawable -> depth != 1 &&
                  nxagentOption(DeferLevel) >= 1)
      {
+     /* -- changed by dimbor (small "bed-sheets" never need be prevented - always put) --*/
+      if (dstHeight > 16)
+      {
+     /* -------------------------------------------------------------------------------- */
        #ifdef TEST
        fprintf(stderr, "nxagentPutImage: WARNING! Prevented operation on region [%d,%d,%d,%d] "
                    "for drawable at [%p] with drawable pixmap.\n", pRegion -> extents.x1,
***************
*** 654,659 ****
--- 658,666 ----
        nxagentMarkCorruptedRegion(pDrawable, pRegion);

        goto nxagentPutImageEnd;
+     /* --- changed by dimbor ---*/
+      }
+     /* ------------------------- */
      }

      if (pDrawable -> type == DRAWABLE_WINDOW &&

Файлик со всей этой хренью пристегнут.

P.S.: Кликнул я Etersoft, а в ответ тишина...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

radist051
Сообщения: 1
ОС: Ubuntu

Re: Курощение nomachine клиента - за шаг до ...

Сообщение radist051 »

Уважаемые гуру!
а можно выложить тут и поправленный nxagent-3.2.0-6, то самому скомпилять ну никак серого вещества в голове нету.

пс Огромное спасибо за работу.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

radist051 писал(а):
21.06.2008 13:20
Уважаемые гуру!
а можно выложить тут и поправленный nxagent-3.2.0-6, то самому скомпилять ну никак серого вещества в голове нету.

Увы, все не так просто. nxagent - это компонент открытой части NX Server-a . В этой открытой части сосредоточена сама технология NX, а в остальной находится менеджмент и... маркетинг. :( NX Server не один в природе. Он может быть платный от nomachine. Есть бесплатная кастрированная подачка NXFree от тех-же итальянцев. Есть загнувшийся 2X Terminal Server. Есть freenx, который мы все любим, а он - нас со страшной силой :)
Вся эта цветомузыка использует открытую часть, которую nomachine, благодетельница наша, периодически обновляет.
А еще есть куча больших железных серверов, с разнообразнейшими линуксами, на которых работают NX-сервера. К каждому линуксу прилагается кучка злобных ленивых ментейнеров :) , которые компилируют NX-сервера и делают пакеты, которые можно устанавливать только на этот линукс. Так что дом, который построил Джек, просто отдыхает.

Короче, если Вы счастливый обладатель Альтлинукс сервера 4.0, то пакетом я конечно поделюсь. В противном случае придется учиться компилить самому. Серого вещества в процессе прибавляется и становится столько, что оно начинает лезть из ушей. Проверено.
Еще конечно можно указать ментейнерам своего линукса на эту ветку. И через полгодика, если все будет хорошо, пакетики обновятся.

Как-то так.
Спасибо сказали:

vkr
Сообщения: 53

Re: Курощение nomachine клиента - за шаг до ...

Сообщение vkr »

Уже давно пользуем k12ltsp6+wine@etersoft. До 15 машин. Почти все клиенты бездисковые - абсолютный хлам и металлолом. Все работает без проблем с бухами. Даже через xming... . Скорость хорошая- ощутимо лучше, чем на средней машине через sambу. И НИКАКИХ танцев. Конечно это опыт применения в небольшой фирме.
Удачи :)
Спасибо сказали:

lav
Модератор
Сообщения: 192

Re: Курощение nomachine клиента - за шаг до ...

Сообщение lav »

dimbor писал(а):
21.06.2008 14:58
Короче, если Вы счастливый обладатель Альтлинукс сервера 4.0, то пакетом я конечно поделюсь. В противном случае придется учиться компилить самому. Серого вещества в процессе прибавляется и становится столько, что оно начинает лезть из ушей. Проверено.
Еще конечно можно указать ментейнерам своего линукса на эту ветку. И через полгодика, если все будет хорошо, пакетики обновятся.

Не знаю, где вам из Etersoft тишина, у нас есть сборка NX под все системы:
ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft
сейчас обновляем до 3.2, если получится, приложим ваши патчи.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

lav писал(а):
22.06.2008 15:03
Не знаю, где вам из Etersoft тишина, у нас есть сборка NX под все системы:
ftp://updates.etersoft.ru/pub/Etersoft/RX@Etersoft
сейчас обновляем до 3.2, если получится, приложим ваши патчи.


Ну и ладушки. Примерно чего-то такого я и дожидался.

P.S. Может быть эта информация пригодится при пересборке: Когда используется на сервере freenx от etersoft (а именно freenx-0.7.2-alt0.M40.1e.r427.i586.rpm), при завершении 1с в сеансе, запущенном в режиме MODEM, она не успевает корректно завершиться. Во freenx из альтовского сизифа (freenx-0.7.2-alt5.r430.i586.rpm) завершение происходит корректно. Предположение: у etersoft-овской сборки где-то закручен таймаут.
Спасибо сказали:

bsavelev
Сообщения: 231
ОС: Debian

Re: Курощение nomachine клиента - за шаг до ...

Сообщение bsavelev »

сейчас в гите лежит релизная 0.7.2 freenx и последняя 3.2.0 nx от nomachine.
Ваш патч обязательно приложим.
http://git.altlinux.org/people/boris/packages/

в альте мантейнер не я, но в RX@Etersoft новые сборки появятся на след. недели для всех дистрибутивов
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

bsavelev писал(а):
22.06.2008 23:13
в альте мантейнер не я, но в RX@Etersoft новые сборки появятся на след. недели для всех дистрибутивов

Это дело. Забираю слова насчет "злобных и ленивых" взад. :)
Спасибо сказали:

bsavelev
Сообщения: 231
ОС: Debian

Re: Курощение nomachine клиента - за шаг до ...

Сообщение bsavelev »

Спасибо сказали:

Аватара пользователя
warlomak
Сообщения: 384
ОС: Ubuntu 10.04

Re: Курощение nomachine клиента - за шаг до ...

Сообщение warlomak »

Опять под ubuntu 8.04 сборок нет ;-( скоро 8.10 уже !!!
Спасибо сказали:

iYang
Сообщения: 41
ОС: SuSE 10.3, 11.0

Re: Курощение nomachine клиента - за шаг до ...

Сообщение iYang »

Поясните пожалуйста, сборки freenx у Etersoft свободные или нет?
Сейчас у меня стоит freenx для OpenSUSE из репозитория. Для того, чтобы получить функциональность от уважаемого dimbor достаточно будет заменить его на Etersoftoвский нужной версии с соответствующим патчем?
Спасибо сказали:

Hoblin
Модератор
Сообщения: 1442
Статус: Etersoft team
ОС: ALT Linux

Re: Курощение nomachine клиента - за шаг до ...

Сообщение Hoblin »

iYang писал(а):
25.06.2008 08:55
Поясните пожалуйста, сборки freenx у Etersoft свободные или нет?
Сейчас у меня стоит freenx для OpenSUSE из репозитория. Для того, чтобы получить функциональность от уважаемого dimbor достаточно будет заменить его на Etersoftoвский нужной версии с соответствующим патчем?

Свободные.
Совершенно верно.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

iYang писал(а):
25.06.2008 08:55
Сейчас у меня стоит freenx для OpenSUSE из репозитория. Для того, чтобы получить функциональность от уважаемого dimbor достаточно будет заменить его на Etersoftoвский нужной версии с соответствующим патчем?

freenx я не трогал, правились библиотеки nx-3.2.0
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

Прошедшая неделя, впрочем как и предыдущие, прошла под лозунгом: "Линукс и Виндовс - братья навек!"
Вернулся к вопросу, с которого началась эта тема (#1). Там в последующей дискуссии было выяснено, что работать с несколькими экземплярами 1с рациональнее под одной сессией. Но очень некрасиво ради этого держать в памяти сервера что-то здоровое.
Предположил, что bash-скрипт будет самым меньшим злом. Правда он получился несколько монстрообразным в оконцовке, зато только кофе варить и не умеет.
Получилась такая схема запуска терминальных приложений, причем не только 1с:
1. Бух любит тыкать для запуска любой 1с-ки в одну иконку - пущай тычет. Но это будет иконка стартера, простенькой виндовой программы.
2. Специально обученный (ini-файлом или командной строкой) стартер сначала закинет на сервер файлик со списком заданий для "центрального" скрипта.
3. Способ доставки дешев и сердит - smb. Для не приемлющих по религиозным соображениям, можно и по ssh.
4. Потом стартер проверит, есть ли на компе работающий х-сервер. В случае отсутствия наличия - стартует NX-сессию, где "following command"==скрипт. А если рабочий х-сервер имеется - стартер просто не будет делать больше ни хрена завершится. (Случай, когда по всем углам конторы расставлены терминальные сервера, не рассматривался из скромности).
5. Скрипт на настоящем сервере обязан висеть в фоне и периодически просматривать временный каталог на предмет просьб. И удовлетворять их по возможности.
6. Также скрипт обязан застрелиться при отсутствии в памяти всего того, что он поназапускал.
Вроде как работает.

Все это безобразие вместе с исходником прицеплено. В инишке написано, чего и как. Конструктивная ругань в мой адрес приветствуется.

P.S. Итальянцы обновились до nxagent-3.2.0-7 и nx-X11-3.2.0-2. Что-то там с extensions (xfixes???). Кто-нибудь пробовал? Что-то изменилось в лучшую сторону? :)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Курощение nomachine клиента - за шаг до ...

Сообщение Djelf »

dimbor писал(а):
01.07.2008 05:58
Конструктивная ругань в мой адрес приветствуется.

Легко :tongue: Чем то мне идея костылей к nxserver не нравится... тем более что в freenx 0.7.2 уже есть начальные наработки по сабжу.

ENABLE_SHOW_RUNNING_SESSIONS = "0" - не показывать клиенту запущенные сессии (приостановленные будут показываться), в результате должно запускается несколько копий того чего надо.
ENABLE_ADVANCED_SESSION_CONTROL = "1" - запускать то что нам надо в уже существующей сессии.
В таком виде уже сейчас можно запускать несколько копий одноименных сессий.

С запуском внутри сессий идея у freenx была такая: при строке запуска "nxclient.exe add program" программа подклеивается в сессию.
Правда механизм недоделан. Чтобы что-то хоть как-то заработало нужно в ~1350 строке nxserver закоментровать 4 строчки

Код:

if [ "$ENABLE_ADVANCED_SESSION_CONTROL" = "1" ] then CMDLINE="$FULL_PARAMS" #case "$(getparam session)" in # "add "*) server_nxnode_start --applicationsession "$USER" "$FULL_PARAMS" echo_x "Quit" echo_x "NX> 999 Quit" exit 1 # ;; #esac fi

и установить
ENABLE_SHOW_RUNNING_SESSIONS = "1"
ENABLE_ADVANCED_SESSION_CONTROL = "1"

В этом случае программы запускаются в одной сесии.
Сразу хочу сказать это кривое исправление, только для демонстрации самой возможности.
ИМХО если нужно много rootless нужно сам сервер допиливать на предмет запуска приложений без дополнительных вопросов и окошек в уже существующих одноименных сессиях).

З.Ы. с 1С rootless мне вообще не нравится, двойная перерисовка окон в этом режиме отбивает всяческое желание в нем работать и допиливать freenx.

З.Ы.Ы. уж не знаю почему, но под Ubuntu 8.04 сборка nxserver c deb http://ppa.launchpad.net/marceloshima/ubuntu hardy main визуально работает быстрее etersoft`овской. Патч на иконки 1С помог?
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

Djelf писал(а):
03.07.2008 12:50
Легко :tongue: Чем то мне идея костылей к nxserver не нравится... тем более что в freenx 0.7.2 уже есть начальные наработки по сабжу.
...
Сразу хочу сказать это кривое исправление, только для демонстрации самой возможности.
ИМХО если нужно много rootless нужно сам сервер допиливать на предмет запуска приложений без дополнительных вопросов и окошек в уже существующих одноименных сессиях).

На тему костылей сам не в восторге, но если сидеть и ждать, когда мимо проплывет труп врага, то есть все шансы, что сидящий ниже по течению враг дождется того-же. Все красивые мысли упираются в аргумент: "Людям работать надо! А ты второй месяц сопли жуешь."
А причина создания костылей тривиальна. Похоже, для общественности станет новостью: freenx 0.7.2 - это "двуликий анус".
Есть мартовская "Priscilla Edition" со всеми теми заморочками, которые Вы описали, а еше есть сборки, где Присцилла и рядом не лежала - этерсофтовская r427 и альтовская r430 (~11.07). Эти сборки тоже позиционируются, как "последние релизные" (2bsavelev - фактический факт!) Когда я это заметил, хотел привести в альт Присциллу на поиграться. Посмотрел на количество альтовских патчей, пришлепнутых к старому оригиналу, и понял, что сооблазнять гражданку я буду до ее старости.

В старом freenx со стартером никаких лишних окошек нет, есть ругань в логах про nxdialog. Хотел пробовать чинить, но теперь не буду :)

Djelf писал(а):
03.07.2008 12:50
З.Ы. с 1С rootless мне вообще не нравится, двойная перерисовка окон в этом режиме отбивает всяческое желание в нем работать и допиливать freenx.

"Потерпите детки, дайте только срок!" (С) Если это про чехарду с фокусом, то в данный момент я пилю клиента - дело скорее всего в нем.

Djelf писал(а):
03.07.2008 12:50
З.Ы.Ы. уж не знаю почему, но под Ubuntu 8.04 сборка nxserver c deb http://ppa.launchpad.net/marceloshima/ubuntu hardy main визуально работает быстрее etersoft`овской. Патч на иконки 1С помог?

Для чистоты экскремента надо сравнивать быстродействие в режиме LAN. Там патч не работает и не должен.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Курощение nomachine клиента - за шаг до ...

Сообщение Djelf »

dimbor писал(а):
03.07.2008 16:05
А причина создания костылей тривиальна. Похоже, для общественности станет новостью: freenx 0.7.2 - это "двуликий анус".
Есть мартовская "Priscilla Edition" со всеми теми заморочками, которые Вы описали, а еше есть сборки, где Присцилла и рядом не лежала - этерсофтовская r427 и альтовская r430 (~11.07). Эти сборки тоже позиционируются, как "последние релизные" (2bsavelev - фактический факт!) Когда я это заметил, хотел привести в альт Присциллу на поиграться. Посмотрел на количество альтовских патчей, пришлепнутых к старому оригиналу, и понял, что сооблазнять гражданку я буду до ее старости.

Рядом не лежала это слишком сильно сказано. Алтьтовских патчей всего 11 штук, маааленьких. В основном это изменение каталогов библиотек и изменение настроек по умолчанию. Часть уже в freenx 0.7.3
Изменений для rootless нужно немного. Главное догадаться как объяснить запускалке клиента, что приложение запустилось, чтоб она без вопросов и сообщений закрылась. Остальная логика в 10-20 строк копипаста уместится.

dimbor писал(а):
03.07.2008 16:05
"Потерпите детки, дайте только срок!" (С) Если это про чехарду с фокусом, то в данный момент я пилю клиента - дело скорее всего в нем.

Не фокус, а двойная прорисовка меню в 1С в режиме rootless. Да и формы медленнее работают.
Пропадает эта ерунда при установке "New virtual desktop" но мне этот режим работы совсем не нравится.

dimbor писал(а):
03.07.2008 16:05
Для чистоты экскремента надо сравнивать быстродействие в режиме LAN. Там патч не работает и не должен.

Вроде разобрался, все нормально. Как-то не так библиотеки встали пришлось пошаманить чутка.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

Djelf писал(а):
04.07.2008 13:24
Рядом не лежала это слишком сильно сказано. Алтьтовских патчей всего 11 штук, маааленьких. В основном это изменение каталогов библиотек и изменение настроек по умолчанию. Часть уже в freenx 0.7.3

Ну даже и не знаю... На берлиозе гворят, что в "Присцилле" уже есть корме скриптов еще и бинарники. В тех-же сборках не обнаружил. Да и дата внутри скриптов старенькая, да и спеки...
А что за зверь 0.7.3, кто его делает, и где его искать?

Djelf писал(а):
04.07.2008 13:24
dimbor писал(а):
03.07.2008 16:05
"Потерпите детки, дайте только срок!" (С) Если это про чехарду с фокусом, то в данный момент я пилю клиента - дело скорее всего в нем.

Не фокус, а двойная прорисовка меню в 1С в режиме rootless. Да и формы медленнее работают.
Пропадает эта ерунда при установке "New virtual desktop" но мне этот режим работы совсем не нравится.

Полчаса мучал 1с-ку (025) под wine@etersoft 1.0.8 коммерческой на ALS4, под сервером из последних исходников от nomachine (от 23.06 ) + патчи + freenx-0.7.2-alt7.r430 (альтовский, позавчерашний), с правленным клиентом под винду... Уф! Включал-выключал все флажки в клиенте, но в rootless добиться двойной отрисовки меню так и не получилось... Или чой-то у нас разное, или у меня машина под виндой слишком шустрая, или дело не в бобине.

С фокусом - да, с фокусом - жопа. При запуске в одной сессии хотя-бы двух wine программ, даже notepad-ов, при переключении между ними alt+tab-ом или мышой наблюдается хаотичное перемещение фокуса между ними в течении ~2 сек. Для линуксовых программ (kwrite, kmine...) - все ОК.
Если запустить два экземпляра wine программы, то просто тыча в кнопку на панели задач одной из них, можно прибить ее окно навсегда. Слепоглухонемой экземпляр так и будет болтаться в памяти на сервере, пока сессию не грохнешь. Мало того, единственное wine окно можно гарантированно пришибить разворачиванием меню, последующим сворачиванием окна и выбором пункта меню, которое не свернулось вместе с окном.

Итак, что имеем:
- под нормальным XOrg (KDE) wine-окно ведет себя нормально
- под ненормальными полулинуксовыми - полувиндовыми X-ами линуксовые программы ведут себя оч. хорошо в любых режимах, даже rootless.
- под ними-же wine ведет себя оч. хорошо только в режиме virtual desktop, т.е. когда wm крутится на сервере.

Вывод: Виновата реализация wm от nomachine - половина работает на сервере, половина - под виндой на клиенте. Опять где-то схалявили итальянцы (опять- потому что не стали же реализовывать ConvertRequest из ICCCM, и теперь не знаю, куда XConvertSelection всунуть, чтоб от вопросиков в буфере избавиться. Оно же все там асинхронное :( Только wine, по простоте своей, не знает, что такое COMPOUND_TEXT, и потому все-таки работает с буфером нормально.)
А тепрерь, если хватило терпения дочитать этот стон до конца, скажите:
1) Где бы взять спеца по X-ам, который бы за общественное спасибо, помог бы мне найти отличия в реализации X от номашин и нормальным XOrg? :)
2) Посоветуйте пожалуйста доку на русском, где без лишних соплей было бы рассказано, когда и какие бегают сообщения между мастдайным виндовым wm (или как он и где? в панели задач что-ли?) и виндовыми-же окнами.

PS. А костыли-то (стартер и скрипт) скрипят без вопросов и извращений с freenx. Во! :tongue:
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Курощение nomachine клиента - за шаг до ...

Сообщение Djelf »

dimbor писал(а):
05.07.2008 23:05
А что за зверь 0.7.3, кто его делает, и где его искать?

На белиозе в SVN уже 0.7.3 http://developer.berlios.de/svn/?group_id=2978

dimbor писал(а):
05.07.2008 23:05
Полчаса мучал 1с-ку (025) под wine@etersoft 1.0.8 коммерческой на ALS4, под сервером из последних исходников от nomachine (от 23.06 ) + патчи + freenx-0.7.2-alt7.r430 (альтовский, позавчерашний), с правленным клиентом под винду... Уф! Включал-выключал все флажки в клиенте, но в rootless добиться двойной отрисовки меню так и не получилось... Или чой-то у нас разное, или у меня машина под виндой слишком шустрая, или дело не в бобине.

О как... забавно... на ALS4 значит двойной прорисовки нет, на Ubuntu 8.04 есть... будем пилить.
Спасибо сказали:

Аватара пользователя
warlomak
Сообщения: 384
ОС: Ubuntu 10.04

Re: Курощение nomachine клиента - за шаг до ...

Сообщение warlomak »

Djelf писал(а):
06.07.2008 12:24
На белиозе в SVN уже 0.7.3 http://developer.berlios.de/svn/?group_id=2978


ОООооо !!!

Кто-то просто не прочитал чего это за релиз :happy: 0.7.3 - это Luke-SDK – Source Browser and Software Developer's Toolkit
http://luke-sdk.berlios.de/

А freenx тока 0.7.2 http://developer.berlios.de/news/?group_id=2978 и далее по ссылкам...
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

Никто меня не любит, никто не уважает, пойду-ка на болото - наемся жабонят.
Т.к. никто мне не ответил на поставленные вопросы, разбираться пришлось самому, и поделка получилась слегонца дилетантская.
Обтачивался клиент под rootless 1с. Добился ее приемлемого поведения. Доступны бинарники сборки клиента. Исходники по запросу - уж больно страшные, а приводить в порядок и делать diff-ы пока ломает.
Суммарно изменения следующие:
1. Допилена перекодировка из utf и отображение заголовка окна. Теперь работает для любых программ. (Lin,Wine)
2. Доделано динамическое изменение заголовка: Перевешено на WM_PAINT, добавлена проверка, чтоб не мелькало. Быстродействие сильно уйти не должно - проверка простая, на strlen.
3. Теперь есть нормальное сооружение win-класса окна. Непечатные символы вызывали глюк.
4. Сделан "русский" Cut из wine: CLIPBOARD вместо PRIMARY, перекодировка utf.
5. Paste в wine (KDE,xterm). Paste в Lin - с патченым сервером. (поправка 16.07.08: Полноценное Paste в wine - тоже с патченым сервером)
6. Отключен хитроумный механизм, в теории препятствующий зацикливанию перемещения фокуса, а на самом деле, в wine его провоцирующий.
7. Устранены случаи аварийного закрытия wine окна - разворачивание, сворачивание, перетаскивание, закрытие при развернутых меню: они оказались sibling окнами - надо их прибивать. Остающиеся "вмятины" на главном меню не опасны.
8. Урезана самостоятельность любых sibling окон для корректного поведения системных диалогов wine-прог и компенсации глюков выбора в формах 1с.
Вспомню еще - допишу сюда же.

Замер в ожидании благодарностей и/или пинков.
PS: Объявляется конкурс - "А ну-ка урони rootless окно 1с". Главный приз - астролябия.
PPS: Кто знает заклинание, коим gcc и ld вычищают из бинарников отладочные символы? Может оно и под CygWin сработает. А то какой-то непацанский exe-шник получается.
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Курощение nomachine клиента - за шаг до ...

Сообщение Djelf »

warlomak писал(а):
07.07.2008 23:24
ОООооо !!!

А freenx тока 0.7.2 http://developer.berlios.de/news/?group_id=2978 и далее по ссылкам...

Да нет, именно 0.7.3, ну не релиз конечно, ну так и релиз все равно допиливать приходится...

XX.06.2008 FreeNX 0.7.3
* Opened the 0.7.3 development.
* Added logging of failed authentication attempts
to auth.log via syslog (3). This can be disabled by
setting ENABLE_LOG_FAILED_LOGINS="0".
(fabianx@bat.berlios.de)
* Added -nolisten tcp to nxagent invocation.
(fabianx@bat.berlios.de, idea by pappy- (Gentoo))
* Used bash for all tasks as 'sh' might be not what we want
on standard ubuntu.
(fabianx@bat.berlios.de, thx to tan (IRC))
* Finally fixed mv not working for failed or terminated
sessions.
(fabianx@bat.berlios.de, Terje Andersen <terander@guard.zapto.org>)
* Added patch from 2005 to enable reconnect to 24-bit display via
32-bit or vice versa. Oops :)
(Sunil <funtoos at yahoo.com> )
* Added 3.2.0 as a backend version for nxloadconfig.
(fabianx@bat.berlios.de)
* Added configuration key ENABLE_SOURCE_BASH_PROFILE for toggling of
sourcing ~/.bash_profile.
(fabianx@bat.berlios.de)
* Added /usr/bin/xauth as default key and used /usr/X11R6/bin/xauth as
fallback.
(fabianx@bat.berlios.de)
Спасибо сказали:

Djelf
Сообщения: 614
ОС: Гигтег+Цшт32

Re: Курощение nomachine клиента - за шаг до ...

Сообщение Djelf »

dimbor писал(а):
08.07.2008 08:48
Замер в ожидании благодарностей и/или пинков.
PS: Объявляется конкурс - "А ну-ка урони rootless окно 1с". Главный приз - астролябия.
PPS: Кто знает заклинание, коим gcc и ld вычищают из бинарников отладочные символы? Может оно и под CygWin сработает. А то какой-то непацанский exe-шник получается.

Прогресс налицо однако. Значительно лучше. Попробую кому нибуть из самых спокойных пользователей поставить.
Уронить пару раз удалось, закономерность не поймал. Астролябия не светит... Восстановление сессии сработало, так что не смертельно.
Под линухом strip NXWin.exe (4278041 байт > 3701760 байт).
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

Djelf писал(а):
08.07.2008 10:57
Прогресс налицо однако. Значительно лучше. Попробую кому нибуть из самых спокойных пользователей поставить.

Профессия сисадмина, вижу, приближается по степени риска к профессиям испытателя и дрессировщика.
Djelf писал(а):
08.07.2008 10:57
Уронить пару раз удалось, закономерность не поймал. Астролябия не светит... Восстановление сессии сработало, так что не смертельно.

Если в рабочем каталоге клиента (как правило на десктопе) после сваливания появляется NXWin.exe.stackdump, то, скорее всего, я где-то перемудрил с указателями. Но эт вряд-ли - у меня такого давно нет.
Если при пропадании окна NXWin в памяти остается, и на сервере сессия есть - то это те самые случаи, с которыми идет борьба.
А если сессия на серваке уходит в suspend при корректном завершении NXWin, то это вообще какая-то непознанная фантастика. Не нарывался.
В любом случае, как только проблема будет описана, есть все шансы от нее избавиться.
Djelf писал(а):
08.07.2008 10:57
Под линухом strip NXWin.exe (4278041 байт > 3701760 байт).

Благодарю, под Cygwin тоже получилось.
Спасибо сказали:

SirYorik
Сообщения: 41

Re: Курощение nomachine клиента - за шаг до ...

Сообщение SirYorik »

> Никто меня не любит, никто не уважает, пойду-ка на болото - наемся жабонят.
тебя тут слушают разинув рты как великого гуру. (#83 вообще феерия..)
вероятность появления более великого гуру, и оказание им хелпа, маловероятна к сожалению.
респект.
Спасибо сказали:

iYang
Сообщения: 41
ОС: SuSE 10.3, 11.0

Re: Курощение nomachine клиента - за шаг до ...

Сообщение iYang »

Присоединяюсь к предыдущему оратору. Молчу, чтобы не нарушать процесса, но очень жду решения пошагового так сказать.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

Censored марафон по интуитивно-детективно-примитивному программированию продолжается. Эркюль Пуаро и мисс Марпл обнявшись плачут...
Новые свершения таковы:
1. Системные диалоги и некоторые хитрые формы выбора 1с приведены в нормальный вид.
2. Также выбор в полях форм стал издалека напоминать нормальный.
3. Устранены многочисленные случаи суицида окна при манипуляциях с формой путем запрещения этих манипуляций в ненужные моменты. (Кстати, так задумано Нуралиевым для некоторых случаев и под виндой, но здесь таких случаев пришлось устроить поболе.)
4. Сделаны первые робкие шаги по исправлению позиционирования основного окна. Хоть оно немаксимизированое и продолжает ползти по экрану при каждом запуске, но теперь упирается в правый нижний угол.
5. Относительно нормальная максимизация и последующие запуски. (Два последних пункта тестировались с неубирающейся панелькой "Пуск" внизу, для трех остальных положений тестировать было лень)
6. Ускорена отрисовка меню, она там была не двойная,а четверная. Теперь - двойная. :)

На этом достижения пока кончаются. Теперь самое печальное: суперспециальный мультистек окон в клиенте задумывался для одного приложения и его "сестро-братских" окон. Наличие под одной сессией двух 1с-ок приводит к отшибанию у стека донышка и проваливанию окон в такую задницу, из которой им уже не вылезти. А у меня слишком маленькая голова, чтобы переписывать всю логику у клиента. Или у сервера. Или у wine. Или у ...1с :wacko:
Вывод: Схему запуска на помойку, стартер - туда, куда проваливаются окна. На каждую 1с-ку нужна новая сессия. Ковырять freenx в направлении, указанном Djelf. Ключик "ENABLE_SHOW_RUNNING_SESSIONS" обнадеживает. Пока с его слов. Вырву все волосы, но 11 патчей буду накладывать.

Господа! Затрудняете процесс как-раз своим молчанием. Мне не нужно конного бюста на родине. Я прошу, чтоб вы мне глюков накидали, потестили.
Ни в коем случае не профессиональный программер. И денег за это мне тоже никто не платит. Связан только опрометчивым обещанием заставить эту хреновину работать.

Хреновина.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Курощение nomachine клиента - за шаг до ...

Сообщение dimbor »

Да и вот еще. Как всем известно, клиентовский NXWin, который я курочу - это остроумная доделка XWin из Cygwin/X. Нарыл тут интересный документец: Definition of the Porting Layer for X v11 Sample Server. Он может приоткрыть завесу тайны над тем, как-же вся эта лабуда работает с точки зрения науки, и чего-же там поломано/недоделано. Ведь под обычными Х-ами, напоминаю, wine-овские окна ведут себя нормально (или не так?). (thnx 2Prof) Речь идет о возврате фокуса после закрытия окна (например, выбора расчетного счета в 1с-бухии) окну программы, при наличии еще одной копии позже-запущенного чего-нибудь.

Спрашиваю громко. По какому пути мне идтить-то? Разбираться с freenx и его мультисессиями, или лезть в дебри портирования, чтобы в одной все работало?

Если б кто-то здесь взялся за одно, а я - за другое, то это был бы праздник какой-то! Оно же все допиливается при должной усидчивости :)
С нетерпением ожидаю ответов.
Спасибо сказали:

prof
Сообщения: 119
ОС: gentoo

Re: Курощение nomachine клиента - за шаг до ...

Сообщение prof »

dimbor писал(а):
14.07.2008 05:28
Речь идет о возврате фокуса после закрытия окна (например, выбора расчетного счета в 1с-бухии) окну программы, при наличии еще одной копии позже-запущенного чего-нибудь.
Ошибаетесь, в линуксе происходит тоже самое, если разрешить WM управлять окнами wine :(
Спасибо сказали: