opennx

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

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

Re: opennx

Сообщение dimbor »

Победил. Там часть кода из опенэныкса в wxwidgets переехала. Авторство кода - не Фрица. Видимо было было экспериментальным. Когда-то очень давно. Теперь его погоняю во всех режимах, что вспомню. Может верну для десктопа клиентское окошко suspend/terminate. А там глядишь, и к винде перейду.

Upd:

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

-    wxXmlResource::Get()->AddHandler(new wxRichTextCtrlXmlHandler());

Но эту вот хрень я возможно зря удалил... Заметка на будущее.
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

Под линуксом:
  • suspend/resume - работает
  • rootless/desktop - запускается
  • nonencrypted - работает
  • native sound - работает
  • samba shares - исправлено, прокидывается.
  • cups printing - отложено, т.к. в новых купсах существующая сехма неработоспособна.
  • samba printing - отложено, сначала будет проверяться с винды.


Пошел на винду теперь.

Upd: nxssh под свежими линусами требует пересборки - старый на версию openssl ругается. Удобнее все скопом пересобрать. Например - отсюда.
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

Собрал под винду. Изменения - минимальны. Сессию запускает. Остальное еще не проверял.

Вижу один большой глюк: Второе окошко с настройками сессии, там где рутлес/десктоп переключается (X11PropertyDialog), при открытии под виндой не заполняет свои поля. Под линуксом - штатно.

Вот поэтому инсталяшку пока и не выкладываю.

Upd: С mingw случились траблы при линковке. Не разбираясь, дал ему, что он хотел:

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

#!/bin/bash

dir="/usr/i686-w64-mingw32/lib"
#ln -s $dir/libwx_*-3.0-i686-w64-mingw32.a $dir/libwx_*-3.0.a

cd "$dir"
for f0 in libwx_*-3.0-i686-w64-mingw32.a; do
    f1="$(echo "$f0" | sed 's/-i686-w64-mingw32//')"
    ln -s "$f0" "$f1"
done
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

Тушка под wx3 приведена в состояние, аналогичное wx2.8. Насчет проблемы с окном получился жирненький такой avoid - не хочется остаток жизни тратить на переписку в баголовке wx. Тем более, мог это самый wx под винду криво собрать, и что потом всю жизнь себя винить в этом?

Djelf, инсталяшку дать, или сам соберешь?

Теперь кручу на тему невставания nxwin-а под виндами, предположительно с включенным отображением эскизов у кнопок панели задач.
Параметры запуска сессии на сервере привел в соответствие с родным клиентом - не помогло. Разбираюсь с запуском самого nxwin. Причем раньше ты это уже делал .

Скажи, а кто пишет файл S-*\session? У родного клиента в этом файле первая строчка с ручкой:

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

Info: Display running with pid '2696' and handler '0x502f8'

За эту ручку клиент nxwin-а потом и дергает. Ты же ловишь окно по классу. Из каких соображений сие было сделано? Не может быть кака связана с тем, что таких окон там, вообще говоря, несколько? Некоторые из них отображаться не должны в принципе, да и не могут.
Спасибо сказали:

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

Re: opennx

Сообщение Djelf »

dimbor писал(а):
11.02.2017 17:51
Djelf, инсталяшку дать, или сам соберешь?
Теперь кручу на тему невставания nxwin-а под виндами, предположительно с включенным отображением эскизов у кнопок панели задач.
Скажи, а кто пишет файл S-*\session? У родного клиента в этом файле первая строчка с ручкой:
За эту ручку клиент nxwin-а потом и дергает. Ты же ловишь окно по классу. Из каких соображений сие было сделано? Не может быть кака связана с тем, что таких окон там, вообще говоря, несколько? Некоторые из них отображаться не должны в принципе, да и не могут.

exe`шник кинь пока. соберу-сравню ;)
Эскизы... хм... надо над этим подумать.
session не помню уже откуда, попытаюсь напрячся
ну как то так заметил в коде nxwin что его надо хитро пнуть, а гугление первыми двумя строчками выдало этот способ. Тогда он работал...
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

Хаюшки! Я так понял, что nx все кроме меня выкинули на помойку. В таком случае - очень грустно.
Но спрошу все же, вдруг живы еще некрофилы, и им еще не отомстили.

Гоняется у меня под nx-ом остофигевшая одинэсина. Давненько нативная уже, т.е. вайн выкинут. Пускается в рутлесе.
Все бы хорошо, прекрасная маркиза, но доколупалась до нас наконец 3 редакция стандартной конфы, та которая на управляемых формах. Посему обновил на сервере 1С и сервере терминалов релиз до 8.3.10 и стал тестировать.

В процессе выяснилось, что почти все там стало работать окромя нормального поведения окна. Одинэсина теперь не доверяет операционке даже оконный заголовок отображать и рисует свой серенький ужос. Это недо-окно перетаскивается и трасформируется мышой, закрывается своей кнопкой. Но кнопки макси/минимизации и кнопка системного меню окна не пашут под любым клиентом. Какие-то они там другие интересные события стали слать, для чего в nx-e надо опять дырку проковыривать.

Подумалось, а может господа из x2go уже об этом позаботились. А кто 1це в рутлесе там гоняет - минмизируется кнопкой?

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

grandcat
Сообщения: 1

Re: opennx

Сообщение grandcat »

Очень интересует nx. Ввиду того, что под него есть клиент под PXE/Ponix.
Стоял rx@etersoft под AltLinux 7, но он устарел.
Ставил в 2015 году, тогда это тема поживей была.
Что нового с клиентами-серверами ? Или всё заглохло..
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

Знаю одного человека, который на нем работает - себя. Стараюсь допиливать под текущие реалии. Но это все на уровне make && make install, потому как ни разу не мантейнер. Еще Этерсофт с ним возится. Их свершения по политическим мотивам сообщества достигнут не скоро, если вообще достигнут. Да и свершения те больше на около nx-овую тему: по авторизации и пробросу usb. В потрошка не лезут. А я так не спеша тестирую/допиливаю собственный переход под библиотеки Арктики (это единственный сейчас развивающийся апстрим, x2go-нщики его используют).

Короче, вяло все, практически на пол-шестого.
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

Олды тут? Есть давняя традиция: перед каждым новым годом я откапываю стюардессу. Не стало исключением и текущее предверие.

Сначала дядя @Bizdelnick таки научил меня изготовлять deb пакеты. Как научил, так и получились. Потом я зачем-то перетащил виндовый опенэныкс под wxWidgets 3.0.4. Вспомнил - чтобы по каталогам не прыгать, одновременно под две системы собираючи. А дальше добавил в него нескучных иконок и прочего переименования копирайта.

Изображение

Еще убрал невнятный дополнительный клиентский купс. Линуксовым принтерам теперь тоже надо пароли с логинами прописывать аналогично виндовым.

Туточки лежит вин инсталятор. А здесь - наколхоженный deb64 под devuan ascii. Есть обоснованное подозрение, что под debian stretch он тоже встанет.

Самое-то главное: ползучий переход на либы Арктики с обоих концов соединения успешно завершился уже давненько. Так-что либы и агент (на сервере) должны подтягиваться с дистрибутива.

Про Арктику: Совместимость немцы держат, молодцы. Большая часть патчей там была. Критичный клипбордовый от этерсофта удалось пропихнуть, даже фиксми под него был оборудован. Там теперь нет только нерофильско-хулиганского под очень старый вайн на сервере. Пообщался заодно с разработчиками. Гуглопереводчик плакал. Одно может извинить: у них с английским не сильно лучше, чем у меня.

freenx-у также само сделал пакет: deb64. Наговнокодил туда всякого типа завершения рутлес сессии не по таймауту, а по завершению специально указанного процесса. Также частично он теперь юзает sqlite. Модно, чо! И багов наловил изрядно.

Раз пошла такая пьянка, на старости лет опозорился и ввалился со всем этим на гитхаб. Упс! Нафигачил туда пиджина - глаза потом с мылом надо мыть - предупреждаю.

А еще мое вам всем (кто жив) поздравление с подступающим!
Спасибо сказали:

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

Re: opennx

Сообщение Djelf »

Хороший подарок под Новый год ;)

Думал что придется вечно на xrdp сидеть, хотя нынче он работает хорошо.

На Ubuntu 16.04 ставится так:
https://code.launchpad.net/~x2go/+archive/ubuntu/stable/+index?field.series_filter=trusty
sudo apt-add-repository ppa:x2go/stable
sudo apt-get update
Ставим библиотеки из x2go-stable/now
Ставим пакет из поста выше up/nxman/freenx-server_1.0.0_amd64.deb
Забираем freenx-server с https://github.com/dimbor-ru?tab=repositories, подменяем кривой nxloadconfig
Прогоняем nxsetup, проверям nxsetup --test, упс!!! Применяем решение https://www.nomachine.com/ru/TR12M06271
Все запустилось.

Замечания:
Обычно базы на sqlite3 имеют расширение db3
Частично юзает sqlte, увы, недостаточно. nxserver --terminate user, сессию то прибивает, но в базе не чистит.
В результате, без прибивания базы, запустить nx удается только один раз,дальше идет попытка восстановления сессии, а ее то и нет и так по кругу...
nxserver --cleanup
Error: incomplete SQL: UPDATE sess SET status='Finished',endTime='1577614709' WHERE sessionId='8E73FB66C5B132F4D7EE25F336AB2ECF'
Это не хватает ";" в конце запроса. Ага, после этого и --terminate заработал.
Но ругается
NX> 716 Terminating session 962194E83EA754A5E87A11D5B56CD489 on user request.
/usr/bin/nxnode: строка 416: wait: pid 23178 не является дочерним процессом этой оболочки
А кто у нас был 23178? Это был сам nxagent. Ну и черт с ним...
addm 23178 23146 7 13:33 ? 00:00:09 /usr/bin/nxagent -persistent -D -name NX - addm@server2:2001 - server2 (GPL Edition) -option /home/addm/.nx/C-server2-2001-962194E83EA754A5E87A11D5B56CD489/options -nolisten tcp -dpi 96 :2001

Запускается что-то медленно, задержка после соединения,в логе
29.12 13:25:34: node_start_applications (13367): DISPLAY is 2000
29.12 13:25:38: node_start_applications (13367): Sleep while get a valid DISPLAY (59)
потом
29.12 13:25:39: try_remount_printers (13367): Session dir NOT FOUND! Calling twice? Why?
29.12 13:25:39: node_cupsd_stop (13367): end
29.12 13:25:39: node_stop_services (13367): call reconnect_pa
29.12 13:25:39: node_stop_services (13367): end
29.12 13:25:39: node_start_monitor_2_0_0 (13367): end
29.12 13:25:40: node_start_applications (13367): Sleep while get a valid DISPLAY (55)
и так ~17с...

OpenNX, по традиции, на винде не запустился ;) Вернее запустился, но сессию не поднял...
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

Есть у меня идея окончательно freenx под скулайт перетащить. Там, в принципе, еще пару суток позагоняться надоть. Ну и потом еще сутки послушать твою критику. Зато потом на си переписывать останется практически всего-ничего.

А еще обнаружил сугубо на линуксовом опенэныксе шикарную неведомую долбаную хрень: когда ему подложен в правильное место линк на libsmbclient.so (т.е. при нормальной установке), при нажатии на кнюппель "Настройка" валится в сегфолт в libc6, если список шар/принтеров непустой. При пустом умирает в настройках на вкладке сервисов.

Как узрел, схватился за головенку - докодился Парамоша. Стукнулся к Этерсофту в чатик и вопрошаю, валится ли у них. Говорят, не падает. Но я-то параноик, собираю их клиент, запускаю - и правда не падает. Пущаю его с --trace=All на посмотреть. И тут ему приходит аналогичный кирдык. Ага, корова сдохла и у соседа! Хоть какая-то радость в море разочарования. Отключаю трассировку своему. (а у меня, у крутого мамкиного девелоппера она воткнута была на постоянку.) И мой падать перестает.

Дальше - больше. Комментирую всяческое логирование на два полета стрелы вокруг подозрительного места в коде. А он все равно валится, нехороший. Причем на libcups не возбуждается, именно на libsmbclient у него стояк. Мистика.

Ну как была Рождественская история?
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

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

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

Re: opennx

Сообщение Djelf »

Боль на клиент наступает, боль! Cygwin же 3й уже как...
На этот раз сломались сокеты:

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

Info: Proxy running in client mode with pid '798'.
Session: Starting session at 'Wed Jan  8 18:26:55 2020'.
fd 8 is socket
NXComp Socket: PANIC! Failed to set TCP_NODELAY flag on result is -1 FD#8 to 1. Error is 109 'Protocol not available'.
Info: Connection with remote proxy completed.
Warning: Unrecognized session type 'unix-desktop'. Assuming agent session.
fd 8 is socket
NXComp Socket: PANIC! Failed to set TCP_NODELAY flag on result is -1 FD#8 to 1. Error is 109 'Protocol not available'.
Info: Using MODEM link parameters 256/24/1/0.
Эти сообщения я нарисовал, сразу после попытки установить TCP_NODELAY на сокет, а потом установил признак отсутствия ошибки.
Ну и проверку, что туда поступает сокет, а не черт знает что.
Работает, но медленнее...
Предполагаю что не может заблокировать сокет для изменения параметров, либо какой-то таймаут блокировки ввели, и он не устанавливается и блокировки сокета из-за этого и нет, а сообщение совершенно "левое" :(

P.S. Обвязку собираю с помощью смаке, конфу брать тут: https://cloud.mail.ru/public/4jGi/nV3EzN1gp
Скопируй в свой каталог, да и "смаке .", и "make install"...
До "ума", как обычно бывает, не доводил - работает красиво и быстро, мне больше то и не надо...
P.P.S. В гробу я видел эти make-файлы :drunk:
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

Гут! Пригодится. Но это чуть попозже, сначала сервер. Только вот это полумеры все - избавляться надоть от цигвина. Давно уже на него вырос зуб.
Спасибо сказали:

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

Re: opennx

Сообщение Djelf »

Недостаточно вырос зубик, видать не вырос зуб мудрости (у меня они так и не выросли) ;)
Теперь "мудрым" уже наверное и не стать ;(

1. В оригинальном OpenNX используется очень древняя версия Xming, которую пришлось открыть по лицензионным соображениям. Я не уверен, но вроде на Арктике стало и с ним веселее;
2. В x2go используется VcXsrv, который /*вроде как цапцарапнул некоторые наработки Xming */;
3. NXAgent пинать уже не честно, это уже почти труп;
4. OpenNX использует Xming или NXWin, это шаг назад, поскольку NXWin мы не сможем подтянуть до уровня VcXsrv или даже Xming (ресурсов не хватит).
5. Арктика поломала nxcomp для cygwin и работы через nxclient, не уверен, наверно можно починит..

А зачем все это чинить? NX-клиент работает, ну и хорошо!!!
Работает -> не торжь ;)
Спасибо сказали:

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

Re: opennx

Сообщение dimbor »

Пусть эти твои изыскания тут лежат, чтоб не забыть:
Кстати,  вот эти 4 строки (в OpenNX сложнее)
                case 134: /* NX> 134 Accepted protocol: 3.5.0 */
                    io.WriteString(stdin, "SET SHELL_MODE SHELL\n")
                    io.WriteString(stdin, "SET AUTH_MODE PASSWORD\n")
                    io.WriteString(stdin, "login\n")
                    fmt.Printf("(O) Send username: %v\n", UserName)
                    io.WriteString(stdin, UserName+"\n")
можно кидать сразу же одним пакетом, не дожидаясь ответа от nxserver`а - он сожрет и не подавится, а OpenNX ответы на эти строки обрабатывает с изрядной задержкой.
Спасибо сказали: