Старый друг - лучше новых двух (тут трется воскресший freenx-server)

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

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

глюк cleanup увидел, покурю.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Все бы хорошо с OpenNX, но что он тупит 9с до момента соединения? Доускорялись донельзя :cray:
Спасибо сказали:

dimbor удалил сообщение автора gostevsv по следующей причине: Не по теме раздела

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Djelf писал:
05.02.2020 10:30
Все бы хорошо с OpenNX, но что он тупит 9с до момента соединения? Доускорялись донельзя :cray:
Странно. У меня пропатченный уже ~2-2.5 с. что с винды, что с линукса. Ага, у тебя же десктоп. А NODE_AUTOSTART ты юзаешь? Лишнее ожидание в nxnode именно туда переехало.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Не... это фигня какая то. Х`ы стартуют на 10й винде через 9с после (именно после, я диспетчером задач смотрел) нахождения свободного порта.
С nxclient такой проблемы нет.
Spoiler
02/05/20 11:07:02 14036 (MySession) adding file 'C:\Users\User\.nx\temp\28868\sshlog'
02/05/20 11:07:02 14036 (MySession) adding file 'C:\Users\User\.nx\temp\28868\winlog'
02/05/20 11:07:02 14036 (MySession) startXServer first free port is 6000
02/05/20 11:07:11 14036 (MyXmlConfig) Display: 1920x1080, Workarea: 1920x1040 (netto: 1920,1040)
02/05/20 11:07:11 14036 (AsyncProcess) Starting 'C:\PROGRA~2\OpenNXCE\bin\nxssh.exe -nx -x -2 -p 22 -o 'RhostsAuthentication no' -o 'PasswordAuthentication no' -o 'RSAAuthentication no' -o 'RhostsRSAAuthentication no' -o 'PubkeyAuthentication yes' -i C:\Users\User\NXC495~1\temp\14036\keylog -4 -B -E nx@192.168.0.50'
02/05/20 11:07:11 14036 (AsyncProcess) wxExecute returned 22684
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Уф. Победил cleanup. Пописал на баше - досвидос кукуша! Битый час сраные кавычки искал. Но не скучно, да.
И своим го мне не тычь. Заглянул сдуру в твоего клиента - поплохело. Вот эти вот стеснительные штучки () сзади каждой строчки. Я конечно толерантно отношусь к меньшинствам среди языков программирования и все такое...
В общем, буду безмерно благодарен в пределах разумного, если ты в меня будешь бинарниками своего клиента изредка кидаться. Или там еще фреймворк какой здоровый нужен, габаритами с моно, яву и дотнет вместе положенными?

А какой у тебя nxclient под десяткой нормально пускается? Если CE, то иксовые потрошка там с опенэныксом одинаковые однако, и обойдется наверное без избивания меня тяпками.
Добавлено (13:51):
Фигасе, мастерство-то не пропьешь: почти пол-сервера перевернул, а nonencrypted умудрился в живых оставить. Полторы секунды, между прочим.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

В том то и дело что NXClient запускается без нареканий. Я скопировал его в каталог OpenNXCE и все нормально.
Может прогонишь где нибудь cygwin`овский strace -p pid_opennx -o opennx.log ?
opennx.log
Бинарники Golang монолитные и зависимости вообще не тянут, разве что если gui навороченный, но я нашел без зависимостей.
Чем тебе скобки не понравились? Обычный вызов метода, ничего необычного тут нет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Со скобками усе хорошо - как обычно пытался несмешно пошутить. Да и походу еще один ЯП вмне в голову не поместится. Старого коня новым фокусам нихьт. Ты пришли пожалуйста бинарничек - будет подспорьем в последующем облизывании миллисекунд.

С цигвином мне стыдно. Трассировку буду делать долго. Моя xp с цигвином гикнулась. Ну как, гикнулась - зен дообновлялся до неработоспособности паравиртуальных дров тудой (в xp) вкоряченных. И теперь надо лезть руками их из реестра выковыривать из под лайф-системы. Все пытался этот момент оттянуть изо всех сил, пока nxwin особых претензий нет. Так что если только через несколько дней.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Так там просто установить cygwin и запустить strace. Он без вопросов прицепляется к OpenNX.
Бинарник пока рано, каталоги захардкодены и он не кросс-платформенный.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Тогда ладно. Проснусь - попробую под семеркой. Чет ща вспомнилось, клиенты еще дурили подобным образом, когдась временный каталог им не нравился. Или имена короткие...
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Надо копать... 0.16.0.534 отсюда https://www.fritz-elfert.de/downloads/ конечно тормозит, потому что задержки не убраны, но так гадко при первом клике на логин так себя не ведет.
Или вообще плюнуть на этот NXWin и использовать нормальный VcXsrv, в OpenNX нужно перенаправить запуск экзешника и усе готово...
Причем nxssh собирается с либами Арктики на Cygwin64 и в отличии от Cygwin32 почему-то умеет устанавливать TCP_NODELAY.
Уходят времена х32, уходят...
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

За nxwin буду держаться до последнего. Потому как со всеми остальными тормозит уже сем сеанс, особенно на тонкой нитке.

Поцепил strace, файлик прилагаю up/nxman/opennx.log.rar. Да только, сдается мне, не показательно это нифига. Просто так не тормозит. А цепляю strace - тормозит жутчайше. Секунд 30. Я думал сначала, вообще не срослось. Нет, запустился
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Дописал ридми на гитхабе. Криво, но смысл понять можно.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

dimbor писал:
06.02.2020 08:27
За nxwin буду держаться до последнего. Потому как со всеми остальными тормозит уже сем сеанс, особенно на тонкой нитке.

Поцепил strace, файлик прилагаю up/nxman/opennx.log.rar. Да только, сдается мне, не показательно это нифига. Просто так не тормозит. А цепляю strace - тормозит жутчайше. Секунд 30. Я думал сначала, вообще не срослось. Нет, запустился
А не нужно было ждать до последнего. Как только коннект пошел, можно было уже отменить подключение.
Что-то с потоками, судя по логу, не ладно... Так и запишем: "Под W10 будете терпеть", а что вы хотели? :crazy:
Собрал под х64 - те же яйца только в профиль.
Под х32 не собирается - путает на ликовке shared и static от wxWidgets какого хрена на х64 собралось? Не знаю...

Ну и "с остальными" там через nxproxy коннект сделан, и через чертовы форки, это может работать и без форков, и без nxproxy.
Особой разницы в скорости уже сложно заметить, разве что в твоем rootless...
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Может и до этого потом доберемся. Я постигаю глубины фриэныкса и продолжаю офигевать. На какой тоненькой сопле там все висит! Его писали как дядя Федор письмо родителям. Да и сам от души добавил туда энтропии в свое время, чо уж там.
Вот, к примеру, сейчас наша группировка ответов клиентУ в nxnode - труд напрасный. В nxserver живет злодолбучий КА, который их построчно разбирает. Его, по идее, надо с нуля переписывать. Чтоб он скакал по смыслу, а не по переводу строки.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

dimbor писал:
07.02.2020 03:40
Вот, к примеру, сейчас наша группировка ответов клиента в nxnode - труд напрасный. В nxserver живет злодолбучий КА, который их построчно разбирает. Его, по идее, надо с нуля переписывать. Чтоб он скакал по смыслу, а не по переводу строки.
Конечно разбирает, любой клиент и сервер так и разбирает.
Но делает он это уже после того как пакет прошел по сети.
Так что труд не напрасный.
И не надо там этот разбор переписывать, так и должно работать с учетом совместности.

Вот если нарисовать новый протокол обмена, тогда да, тогда нужна логика получше.
Я уже очень давно писал - зло этого протокола в отсылке строк не заканчивающихся переводом строки или стоп-битом.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Я опять опечатался в самом главном: группировка ответов клиентУ
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Ну это, блин, вообще не понятно почему тут затык на W10x64 на 9с.
С таким патчем нормально работает.

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

--- a/SimpleXauth.cpp
+++ b/SimpleXauth.cpp
@@ -437,7 +441,9 @@ void SimpleXauth::AddDisplay(int displayNum)
     //   ipaddress:X
     //   localname/unix:X
 
-    wxString host = ::wxGetFullHostName();
+    wxString host = ::wxGetHostName();
     wxIPV4address a;
     a.Hostname(host);
     SimpleXauthEntry e(m_pPrivate->cookie);
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

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

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Ты сначала на своей системе проверь сборку (x32 -Os + upx --ultra-brute) с этим патчем https://cloud.mail.ru/public/2Wrg/5cxurEZSq вдруг оно у тебя чудить начнет.
Хотя этот клиент и так чудит: nxssh и nxwin за собой не прибирает, так и болтаются хвосты...

Что это я везунчик? Релиз клиента придется на 10ке виртуалок проверять... Сам знаешь где то работает, а где то нет :angry:

Ну, если работает, возможно стоит и альфа-релиз выложить. Сами мы многое не натестим.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Обломись! ;) Под семерой абсолютли норм. И хвосты рубятся, и курицу жарит, и футбол показывает. Это некий, не буду показывать пальцем, мсье знает толк в операционных системах от мелкомягких. Хотя у меня, со стыдом признаюсь, болтается где-то раздел с десяткой. Там я когдась опенэныкс и проверял. А сейчас и стартовать ссыкоктно - она походу не корп LTS. Запущу, а она через час обновится в безобразного монстра. И он пожрет остатки мозга.

ЗЫ: А что это за новое ругательство ты употребил - "--ultra-brute"?
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

dimbor писал:
07.02.2020 16:51
Обломись! ;) Под семерой абсолютли норм. И хвосты рубятся, и курицу жарит, и футбол показывает. Это некий, не буду показывать пальцем, мсье знает толк в операционных системах от мелкомягких. Хотя у меня, со стыдом признаюсь, болтается где-то раздел с десяткой. Там я когдась опенэныкс и проверял. А сейчас и стартовать ссыкоктно - она походу не корп LTS. Запущу, а она через час обновится в безобразного монстра. И он пожрет остатки мозга.

ЗЫ: А что это за новое ругательство ты употребил - "--ultra-brute"?
Обламись/не обламись, а компы с 7кой в dns уже не продают.
И дров под новые компы на 7ку уже нет.
И доля на сегодня уже 50% у 10ки и всего 30% у 7ки.
Так что извиняй, придется поддерживать ;)
P.S. Не так плох этот чёрт, как его малюют.

Или надо было и uli32 послать с его новомодными дистрибутивами Linux? :D
Ситуация на 100% совпадает.

(2)ЗЫ: Опция upx --ultra-brute раз 70 подбирает лучший параметр сжатия (для таких жирных библиотек можно чуток времени на это потратить, хотя даже без этого с wxWidgets, собранных с Os, бинарник 7.5мб, но..., почему бы и это не сделать?).
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Djelf писал:
07.02.2020 17:05
(2)ЗЫ: Опция upx --ultra-brute раз 70 подбирает лучший параметр сжатия (для таких жирных библиотек можно чуток времени на это потратить, хотя даже без этого с wxWidgets, собранных с Os, бинарник 7.5мб, но..., почему бы и это не сделать?).
Дык может у тебя и заклинание для вставки в iss имеется?

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

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Здесь то есть, а на гитхабе релиза для win32 то нет. Не все, знаешь ли, осилят сборку.
Мне для сборки пришлось еще кое где править, типа этого, иначе gcc 9.2.1 ругался. (вроде так правильно).

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

-            m_SessionListCtrl->SetItemData(idx, (long)s);
+            m_SessionListCtrl->SetItemData(idx, *((int*)(&s)));
И кое что заремить в картридере (не разбирался).

Поэтому и прошу проверить у себя с патчем и если не будет ошибок, собрать и выложить на гитхаб.

А какое там заклинание нужно? Копируем строчки со strip *exe и меняем на upx *.exe, все...
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Это все я сделаю в ближайшее время конечно. Но в гитхабе ссылка на инсталер торчит последней строчкой в ридми изначально.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

С такой то матерью, но сделал :crazy:

Совместный c OpenNX и NXClient nxssh.exe на библиотеках Актики: https://cloud.mail.ru/public/PvqV/4CNpYPW8a
Cygwin 3.12, nxcomp -O3 -flto (молодцы, однако, с -flto далеко не все собирается), jpeg-turbo, stdc++ и gcc в статике.

Собирать приходится на Cygwin64 с кроскомпиляцией в i686-pc-cygwin, иначе в nxssh не работает TCP_NODELAY (черт его знает что там в Cygwin32 поломали).

Дифф поломанной совместности:

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

diff -u ./old/Loop.cpp ./new/Loop.cpp
 //
 // Enable log output in signal handler.
 // This is likely to hang the proxy at
@@ -3999,7 +4000,10 @@

     char unixSocketDir[DEFAULT_STRING_LENGTH];

-    snprintf(unixSocketDir, DEFAULT_STRING_LENGTH, "/tmp/.X11-unix");
+    snprintf(unixSocketDir, DEFAULT_STRING_LENGTH - 1, "%s/.X11-unix",
+                 control -> TempPath);
+

     #ifdef __APPLE__
Последний раз редактировалось Djelf 08.02.2020 18:11, всего редактировалось 1 раз.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Пришли плиз екзешник мылом. Все равно он выкачивается при сборке.

А я кажись задержку убрал, в которую ты ткнул. Сейчас оближу, соберу и выложу.
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

А что с облака не взять? оО Куда это он выкачивается?
Русское мыло, мыло с бинарниками не пропускает - говорит катитесь в облако :rolleyes:

Я тыкал во много разных задержек ;)
Но вроде все критичные уже устранили. Осталось за микросекундами гоняться...
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение dimbor »

Обновил. Попробуй. Но мне кажется, что оно все равно разными пакетами отправляется клиенту (многократное echo только в уже в nxserver). Надо как-нить посмотреть в каком виде там появляется.

Виндовый бинарник не собирается, а выкачивается вместе с nxwin.
Добавлено (18:35):
Блиныть, только заметил, что в твоем сообщении была ссылка. Работает!
Спасибо сказали:

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

Re: Старый друг - лучше новых двух

Сообщение Djelf »

Ты про это?

Это подключение к старому NX

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

18:41:26.141374 nxssh: (StdIn) NX> 1000 NXNODE - Version 3.5.1 1.1.2-eter14ubuntu RX@Etersoft (GPL, using NX backend: 3.5.1)
18:41:26.273893 nxssh: (StdIn) NX> 700 Session id: server4-1005-A9ED9EDBE610041F72D9370997446012
18:41:26.275240 nxssh: (StdIn) NX> 705 Session display: 1005
18:41:26.280184 nxssh: (StdIn) NX> 703 Session type: unix-application
18:41:26.280758 nxssh: (StdIn) NX> 701 Proxy cookie: 1cfb05b248e817e07c1d1a83e2b3e358
18:41:26.281848 nxssh: (StdIn) NX> 702 Proxy IP: 192.168.0.52
18:41:26.297688 nxssh: (StdIn) NX> 706 Agent cookie: 1cfb05b248e817e07c1d1a83e2b3e358
18:41:26.307148 nxssh: (StdIn) NX> 704 Session cache: unix-application
18:41:26.307563 nxssh: (StdIn) NX> 707 SSL tunneling: 1
18:41:26.318025 nxssh: (StdIn) NX> 1009 Session status: starting
18:41:26.318062 nxssh: (StdIn) NX> 710 Session status: running
18:41:26.318067 nxssh: (StdIn) NX> 1002 Commit
Это к новому

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

18:42:55.097133 nxssh: (StdIn) NX> 1000 NXNODE - Version 3.5.0-0.2-CE OS (GPL, using backend: 3.5.99.22)
18:42:55.373118 nxssh: (StdIn) NX> 1009 Session status: starting
18:42:55.440890 nxssh: (StdIn) NX> 700 Session id: addm-VirtualBox-2000-08F657281AB76EB3D7A7BC2BDF25F18B
18:42:55.441958 nxssh: (StdIn) NX> 705 Session display: 2000
18:42:55.443524 nxssh: (StdIn) NX> 703 Session type: unix-application
18:42:55.444885 nxssh: (StdIn) NX> 701 Proxy cookie: d5b328be8f82abcb60f91f0cadb535c1
18:42:55.446431 nxssh: (StdIn) NX> 702 Proxy IP: 127.0.1.1
18:42:55.447669 nxssh: (StdIn) NX> 706 Agent cookie: d5b328be8f82abcb60f91f0cadb535c1
18:42:55.448628 nxssh: (StdIn) NX> 704 Session cache: unix-application
18:42:55.449548 nxssh: (StdIn) NX> 707 SSL tunneling: 1
18:42:55.876130 nxssh: (StdIn) NX> 710 Session status: running
18:42:55.878215 nxssh: (StdIn) NX> 1002 Commit
Вроде как работает, сервера разные, процессоры разные, разброс и шатание тестов...
Тут уже нужно пакеты сниферить.
Спасибо сказали: