Старый друг - лучше новых двух (тут трется воскресший freenx-server)
Модераторы: dimbor, Модераторы разделов
-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
Хм, прибил все залипшие nx* хвосты. Ошибка ушла, но сессия не поднялась.
Ну можно и старый nxwin использовать, но хотелось бы все таки попытаться поднять новый, но что в нем могло поломаться я даже представить себе не могу. Предположений пока никаких нет.
Ну можно и старый nxwin использовать, но хотелось бы все таки попытаться поднять новый, но что в нем могло поломаться я даже представить себе не могу. Предположений пока никаких нет.
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Ну теперь я это хотя бы увидел. Смею надеяться, починю. Мы же знаем: Своевременная диагностика - залог качественного оказания ритуальных услуг!
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Сравни-ка session логи на старом и новом сервере при восстановлении. Да и у nxwin тоже интересно. Он же не просто так падает, а прямиком в stackdump, извращенец этакий. А на сервере причина очередного суспенда: Display failure.
-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
Серверные логи хрен сравнишь построчно, но ничего подозрительного не вижу.
У меня на W10x64 nxwin не создает stackdump. Видимо придется дебажную версию собирать.
У меня на W10x64 nxwin не создает stackdump. Видимо придется дебажную версию собирать.
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Смутно помню, вроде местоположение дампа зависит от текущего каталога в момент запуска клиента. У opennx так было.
Именно в таком порядке.
Добавлено (15:37):
логи я имею в виду именно session из C-*Добавлено (16:07):
Да и могут быть там интересны строчки между Session: Session resumed at и Session: Suspending sessionИменно в таком порядке.
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Признаю свое временное поражение в борьбе с созданной тобой неведомой хренью. Перепробована куча вариантов. Клиентские логи вылизал чище, чем кот - яйца. Попутно:
1) Отловил и задавил вставляние сервером 'NX>105' в произвольное место.
2) Шлю наконец одним пакетом данные 700-710.
3) Задушил таки левые мессаги stderr сервера.
4) Перекрыл также кран в клиент на семейство статусов 'NX>100? *'. Судя по коду опенэныкса и поведению nxclient, они им до звезды.
Все без толку, однако - валится твой nxwin грязными тормашками вверх при восстановлении. Ты хоть потом в комит ткни, где еще не брякается.
1) Отловил и задавил вставляние сервером 'NX>105' в произвольное место.
2) Шлю наконец одним пакетом данные 700-710.
3) Задушил таки левые мессаги stderr сервера.
4) Перекрыл также кран в клиент на семейство статусов 'NX>100? *'. Судя по коду опенэныкса и поведению nxclient, они им до звезды.
Все без толку, однако - валится твой nxwin грязными тормашками вверх при восстановлении. Ты хоть потом в комит ткни, где еще не брякается.
-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
Да и хрен с ним!
Старый работает без нареканий, что на библиотеке от cygwin3, что на cygwin2.
И cpu на glxgears все равно около 0%, ускорять его уже некуда. И новый VcXsrv через nxssh работает примерно с такой же скоростью.
Не брякается, вернее не всегда брякается на nx_3.5.1-eter12, но там и юбунта 12.04 с древним w@e.
И у меня не брякается! У меня nxwin остается висеть. Кинь крэшдамп, может получится найти где оно падает.
А то, я повторяюсь, мне нефехоа не понятно, как клиент может безукоризненно работать с новой сессией и падать с восстановленной и в чем кроется отличие.
Трассировать слишком много чего можно, но с чем сравнивать?
С другой стороны не понятно что делать, если в nx-libs nxcomp/nxproxy загубят (чуток в nxcomp уже загубили), тогда возможно пересобирать придется, а где взять cygwin2?
Оставлю тут, для истории, что в nx-libs-3.5.99.23 было поломано.
P.S. Странно сделали этот 3й cygwin.
В cygwin32 32х битная версия dll`ки cygwin3, и 64х битная cygwin2, а в cygwin64 все наоборот. оО
Старый работает без нареканий, что на библиотеке от cygwin3, что на cygwin2.
И cpu на glxgears все равно около 0%, ускорять его уже некуда. И новый VcXsrv через nxssh работает примерно с такой же скоростью.
Не брякается, вернее не всегда брякается на nx_3.5.1-eter12, но там и юбунта 12.04 с древним w@e.
И у меня не брякается! У меня nxwin остается висеть. Кинь крэшдамп, может получится найти где оно падает.
А то, я повторяюсь, мне нефехоа не понятно, как клиент может безукоризненно работать с новой сессией и падать с восстановленной и в чем кроется отличие.
Трассировать слишком много чего можно, но с чем сравнивать?
С другой стороны не понятно что делать, если в nx-libs nxcomp/nxproxy загубят (чуток в nxcomp уже загубили), тогда возможно пересобирать придется, а где взять cygwin2?
Оставлю тут, для истории, что в nx-libs-3.5.99.23 было поломано.
Spoiler
Loop.c
void SetupDisplaySocket(int &addr_family, sockaddr *&addr,
...
- snprintf(unixSocketDir, DEFAULT_STRING_LENGTH, "/tmp/.X11-unix");
+ snprintf(unixSocketDir, DEFAULT_STRING_LENGTH - 1, "%s/.X11-unix", control -> TempPath);
void SetupDisplaySocket(int &addr_family, sockaddr *&addr,
...
- snprintf(unixSocketDir, DEFAULT_STRING_LENGTH, "/tmp/.X11-unix");
+ snprintf(unixSocketDir, DEFAULT_STRING_LENGTH - 1, "%s/.X11-unix", control -> TempPath);
В cygwin32 32х битная версия dll`ки cygwin3, и 64х битная cygwin2, а в cygwin64 все наоборот. оО
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Да там все коротко:
Ни разу не рокетмэн, чтобы за пол-секунды поцепиться к нему дебагером.
ЗЫ: комиты новые в гите, как обычно. Теоретически скорость должна.
Код: Выделить всё
Exception: STATUS_ACCESS_VIOLATION at eip=004034EF
eax=00000003 ebx=8029EF58 ecx=00000002 edx=80329300 esi=00000002 edi=00000000
ebp=00000003 esp=0028C760 program=C:\PROGRA~2\OpenNXCE\bin\nxwin.exe, pid 3272,thread main
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
ЗЫ: комиты новые в гите, как обычно. Теоретически скорость должна.
Добавлено (17:50):
Такое у меня подозрение, nxwin с nxssh где-то блудит при перекидывании каналов. В него прилетает какой-то мусор, и он удивляется.Добавлено (17:50):
Возможно все стало слишком быстро-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
А как тебе такая штука?
https://gyazo.com/7373374b565b2773cf10b8ceceb9fe82
Предполагаю (вернее будет сказано, что гадаю по чашке с кофе): Видимо создался первый Х-сервер, потом как то определяется, что он не годен (почему?), был создан второй Х-сервер, но первый, тот остался висеть и видимо протух убивает nxssh так что кажется что сигнал разорван с той стороны.
Ой, ой, давай пока завяжем с этой хренью? Когда припечет, тогда и вернемся. Согласен?
https://gyazo.com/7373374b565b2773cf10b8ceceb9fe82
Предполагаю (вернее будет сказано, что гадаю по чашке с кофе): Видимо создался первый Х-сервер, потом как то определяется, что он не годен (почему?), был создан второй Х-сервер, но первый, тот остался висеть и видимо протух убивает nxssh так что кажется что сигнал разорван с той стороны.
Ой, ой, давай пока завяжем с этой хренью? Когда припечет, тогда и вернемся. Согласен?
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Оф кос. Ковыряюсь дальше.
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Как заметка: Было известно, можно завесить сеанс с одного клиента и восстановить со второго. Но раньше агент не позволял мигрировать между клиентскими системами. Теперь позволяет. Правда в одну сторону. Запущенное с вин клиента, поднимается с линуксового. Наоборот - тоже, только там не видно нифига.
Можно потом на пенсии исследование провести о возможном изменении параметров в screeninfo на лету.
Можно потом на пенсии исследование провести о возможном изменении параметров в screeninfo на лету.
-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
Читал в старом сервере подобную заметку.
Вроде как-то по другому звучало, что то вроде такого было: "на винде на восстановление сессии не надейтесь".
Но как мы можем сейчас наблюдать - оно работает.
Как нибудь потом, действительно можно и стоит поработать над телепортом сессий, но будет ли стоить оно затраченных усилий?
-
- Сообщения: 19
Re: Старый друг - лучше новых двух
Можно ли freeNX сервер установить в ubuntu 20.04? Если да, то что надо совершить для этого?
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Тут же просроченный кружок "очумелые ручки as is".
Сделать надо следующее: Скачать имеющийся deb и попробовать. При ругани на зависимости, поставить их средствами apt. Если таких пакетов нет, собрать deb из гита, поправив эти зависимости. Потом поставить.
Все про сборку вроде в теме описано.
Сделать надо следующее: Скачать имеющийся deb и попробовать. При ругани на зависимости, поставить их средствами apt. Если таких пакетов нет, собрать deb из гита, поправив эти зависимости. Потом поставить.
Все про сборку вроде в теме описано.
-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
Скрипт установки.
Только не факт что freenx-server тут свежий.
Я бы пересобрал https://github.com/dimbor-ru/freenx-server из ветки up-conn-speed.
Код: Выделить всё
#!/bin/bash
apt install wget
wget https://unixforum.org/up/nxman/freenx-server_1.0.0_amd64.deb
dpkg -i ./freenx-server_1.0.0_amd64.deb
apt install -f
dpkg -i ./freenx-server_1.0.0_amd64.deb
echo PubkeyAcceptedKeyTypes=+ssh-dss >> /etc/ssh/sshd_config
/etc/init.d/ssh restart
nxsetup --install --auto
Я бы пересобрал https://github.com/dimbor-ru/freenx-server из ветки up-conn-speed.
-
- Сообщения: 19
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Чет фантастика какая-то. Пароль учетке nx не нужен. Непосредственный nxkeygen не нужен тоже. Вся мудрость выдается по команде nxsetup --help. Если при --install отсутствует ключ --setup-nomachine-key, сгенеренный закрытый ключ должен быть у клиента. Логин и пароль в клиенте - пользовательские.
UPD: Также имеется показательный nxsetup --test.
А еще встречался с наличием чего-то вроде AllowedUsers в sshd_config. Тогда туда юзера nx надо добавлять.
UPD: Также имеется показательный nxsetup --test.
А еще встречался с наличием чего-то вроде AllowedUsers в sshd_config. Тогда туда юзера nx надо добавлять.
-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
Ээээ... Ну кто же заворачивает кучу действий в одно?
Сначала нужно было проверить поднялся ли сервер и только потом последовательными, осмысленными действиями что-то менять.
Пишет, пишет тебе что ключ закрыт на пароль. NX-клиент не умеет работать с ключами с паролем.
Хочешь чтобы такие ключи работали - пили OpenNX (он их тоже не умет, но хотя бы его код открыт).
На самом деле можно спокойно работать и с дефолтным NX-ключем. Прикрываешь сервер Wireguard`ом и не паришься с этими ключам.
P.S. На ubuntu 20.04 скрип и нарисовал, по последовательности действий. У меня как раз виртуалка без NX-сервера была.
Иначе было бы как dimbor писал: "Тут же просроченный кружок "очумелые ручки as is".".

-
- Сообщения: 19
Re: Старый друг - лучше новых двух
Вернул стандартный ключ - аутентификацию проходит. Тот, что я генерил, в два раза больше по размеру. Надо, наверное, 1024 бита ставить. Потом попробую.
Теперь останавливается на Downloading session information.
В логе на сервере "Пользователю nx запрещено выполнять '/bin/bash -c /usr/bin/nxnode --startsession' с правами user1
В какую-то группу надо NX пользователя включить?
Теперь останавливается на Downloading session information.
В логе на сервере "Пользователю nx запрещено выполнять '/bin/bash -c /usr/bin/nxnode --startsession' с правами user1
В какую-то группу надо NX пользователя включить?
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
В группу sudo попробовать. Но раньше этого не требовалось.
Спасибо сказали:
-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
Как то ты не правильно nx-server поставил. Куда у тебя делся /etc/sudousers.d/nxserver ?
Запусти nxsetup без ключей, будет и вопрос и генерация кастомного ключа.
Запусти nxsetup без ключей, будет и вопрос и генерация кастомного ключа.
Спасибо сказали:
-
- Сообщения: 19
-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
Хм, возможно "nxsetup --install --auto" не сработал. Я без этих ключей ставил. У меня на 20.04 завелось без включения в группу sudo.
Непонятно тогда как оно у меня работает
В /etc/sudousers закомментирован #includedir /etc/sudousers.d
Непонятно тогда как оно у меня работает

-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
-
- Сообщения: 19
Re: Старый друг - лучше новых двух
Я давал команду nxsetup --install без ключа --auto. В тот момент сообщения Djelf не было и я делал, как раньше.
-
- Сообщения: 19
Re: Старый друг - лучше новых двух
С таким openssh 1:8.2p1-4 ключ DSA генерится какой-то убогий. Так и не смог с ним зайти. Сгенерил на другой машине с ubuntu 12.04. Руками добавил пользователю NX этот ключ и стало подключаться.
Имею пару вопросов: 1. При установке вместо скрипта nxdialog создан nxdialog.freenx. Сообщения пользователям не работали.
Скопировал его в nxdialog - заработало.
У меня криво или задумка какая-то была?
2. Не запускаются в терминальном сеансе графические проги с повышенными до root правами. В обычном сеансе всё ОК. Использую ubuntu-mate.
Какие-то переменные не инициализируются? Старт терминальной mate-session отличается от обычной? Или дело в mate? Поиском нашел отключение проверки xhost (xhost + или xhost +SI:localuser:root) не помогает. Из терминала sudo -E gedit срабатывает.
Может какое-то другое окружение лучше использовать?
Имею пару вопросов: 1. При установке вместо скрипта nxdialog создан nxdialog.freenx. Сообщения пользователям не работали.
Скопировал его в nxdialog - заработало.
У меня криво или задумка какая-то была?
2. Не запускаются в терминальном сеансе графические проги с повышенными до root правами. В обычном сеансе всё ОК. Использую ubuntu-mate.
Какие-то переменные не инициализируются? Старт терминальной mate-session отличается от обычной? Или дело в mate? Поиском нашел отключение проверки xhost (xhost + или xhost +SI:localuser:root) не помогает. Из терминала sudo -E gedit срабатывает.
Может какое-то другое окружение лучше использовать?
-
- Ведущий рубрики
- Сообщения: 1569
- Статус: Подвинутый участник
Re: Старый друг - лучше новых двух
Фриэныкс таким образом переточен под арктические nxlibs. В их составе есть пакет nxdialog. Там более красивая вещь. Родной скрипт переименован, чтоб не конфликтовал.
Мы такими извращениями как иксы под рутом не занимались пока. Поэтому на большинство вопросов ответов нет. Но не могу придумать, что этому запуску может помешать со строны nx даже теоретически. Сам бы рыл по пути сравнения вывода env в терминале под nx-сеансом и терминале под анологичным локальным X-сеансом. Может быть там какой юзерский профиль под nx не цепляется.dimontv писал(а): ↑28.05.2020 16:592. Не запускаются в терминальном сеансе графические проги с повышенными до root правами. В обычном сеансе всё ОК. Использую ubuntu-mate.
Какие-то переменные не инициализируются? Старт терминальной mate-session отличается от обычной? Или дело в mate? Поиском нашел отключение проверки xhost (xhost + или xhost +SI:localuser:root) не помогает. Из терминала sudo -E gedit срабатывает.
Может какое-то другое окружение лучше использовать?
-
- Сообщения: 19
Re: Старый друг - лучше новых двух
А как использовать более красивую вещь? Я пользователям вывожу инфо, например, так nxserver --broadcast "Сейчас всех выгоню!!!"
-
- Сообщения: 615
- ОС: Гигтег+Цшт32
Re: Старый друг - лучше новых двух
apt install nxdialog
С гуевыми приложениями под рутом не парюсь - запускаю через консоль. Их не так много и не так часто таким образом запускать требуется.
Привык уже, за много лет, что что-то постоянно отваливается, авторизации не требует и не работает.
P.S. dimbor Добавь, как будет время, nxdialog в зависимости.
-
- Сообщения: 19
Re: Старый друг - лучше новых двух
Чего-то не хватает nxдиалогу
Видимо сессию я как-то не так запускаю.
При замене на старый nxdialog продолжает ругаться на xhost, но сообщение на экраны выводит. Правда, появилась ошибка
До установки пакета nxdialog ее не было.
Видимо сессию я как-то не так запускаю.
Spoiler
blinovdn@S1:~$ sudo nxserver --broadcast AnyMessage
NX> 100 NXSERVER - Version 3.5.0-0.1-CE OS (GPL, using backend: 3.5.99.23)
xhost: unable to open display ""
xhost: unable to open display ""
xhost: unable to open display ""
xhost: unable to open display ""
NX> 999 Bye
Unable to init server: Could not connect: Connection refused
Unable to init server: Не удалось подключиться к: Connection refused
Unable to init server: Could not connect: Connection refused
usage: nxdialog [-h] [--dialog DIALOG_TYPE] [--message TEXT]
[--caption CAPTION] [--display DISPLAY] [--parent AGENTPID]
[--window WINDOW] [--class DLGCLASS] [--local]
[--allowmultiple]
nxdialog: error: unrecognized arguments: -display :2001
blinovdn@S1:~$ Unable to init server: Не удалось подключиться к: Connection refused
usage: nxdialog [-h] [--dialog DIALOG_TYPE] [--message TEXT]
[--caption CAPTION] [--display DISPLAY] [--parent AGENTPID]
[--window WINDOW] [--class DLGCLASS] [--local]
[--allowmultiple]
nxdialog: error: unrecognized arguments: -display :2000
Unable to init server: Could not connect: Connection refused
Unable to init server: Не удалось подключиться к: Connection refused
usage: nxdialog [-h] [--dialog DIALOG_TYPE] [--message TEXT]
[--caption CAPTION] [--display DISPLAY] [--parent AGENTPID]
[--window WINDOW] [--class DLGCLASS] [--local]
[--allowmultiple]
NX> 100 NXSERVER - Version 3.5.0-0.1-CE OS (GPL, using backend: 3.5.99.23)
xhost: unable to open display ""
xhost: unable to open display ""
xhost: unable to open display ""
xhost: unable to open display ""
NX> 999 Bye
Unable to init server: Could not connect: Connection refused
Unable to init server: Не удалось подключиться к: Connection refused
Unable to init server: Could not connect: Connection refused
usage: nxdialog [-h] [--dialog DIALOG_TYPE] [--message TEXT]
[--caption CAPTION] [--display DISPLAY] [--parent AGENTPID]
[--window WINDOW] [--class DLGCLASS] [--local]
[--allowmultiple]
nxdialog: error: unrecognized arguments: -display :2001
blinovdn@S1:~$ Unable to init server: Не удалось подключиться к: Connection refused
usage: nxdialog [-h] [--dialog DIALOG_TYPE] [--message TEXT]
[--caption CAPTION] [--display DISPLAY] [--parent AGENTPID]
[--window WINDOW] [--class DLGCLASS] [--local]
[--allowmultiple]
nxdialog: error: unrecognized arguments: -display :2000
Unable to init server: Could not connect: Connection refused
Unable to init server: Не удалось подключиться к: Connection refused
usage: nxdialog [-h] [--dialog DIALOG_TYPE] [--message TEXT]
[--caption CAPTION] [--display DISPLAY] [--parent AGENTPID]
[--window WINDOW] [--class DLGCLASS] [--local]
[--allowmultiple]
Код: Выделить всё
(zenity:62292): Gtk-WARNING **: 11:41:09.997: Theme parsing error: colors.css:71:44: Invalid number for color value