rx@etersoft под archlinux (результаты кувыряния сборки nx от etersoft, для archlinux)

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

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

Re: rx@etersoft под archlinux

Сообщение Djelf »

oldbay писал(а):
14.11.2010 02:58
в том то и соль вся что нет sessionid после "S-" , если клиент повторно стартовать с того же локального пользователя, на котором сессия оборвалась

У меня это не воспроизводится стабильно, бывает... но очень редко... Никак не могу найти как эта гадость получается :angry:
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Djelf писал(а):
14.11.2010 11:50
в том то и соль вся что нет sessionid после "S-" , если клиент повторно стартовать с того же локального пользователя, на котором сессия оборвалась
------------------------------------------
У меня это не воспроизводится стабильно, бывает... но очень редко... Никак не могу найти как эта гадость получается :angry:


я по поводу вот что думаю:

дело в том что у opennx не выходит как раз это присоединение к suspen-ду


а есть ли возможность в конфигах сервера убрать это замечательное повторное соединение (временно) .... пока "гадость" не будет отловлена и пропатчена ?
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение Djelf »

А ты мои патчи накладывал? Может с ними срастется?
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Djelf писал(а):
14.11.2010 12:17
А ты мои патчи накладывал? Может с ними срастется?


да все патчи из OpenNX.patch.0.16.0.591.zip были наложены на svn...
правда с последними из _ONX.zip пока не собирал - попробую, отпишусь по результатам
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

oldbay писал(а):
14.11.2010 12:54
правда с последними из _ONX.zip пока не собирал - попробую, отпишусь по результатам


торжественно отписываюсь:
ничегошеньки не поменялось - собрал из наисвежайшего svn, с применением последних патчей из UPD: 13.11.10 OpenNX-0.16.0.593 opennx -> результат в точечности как с предыдущей сборкой

рабочий PKGBUILD - на всякий случай:

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

pkgname=opennx-linuxforum
pkgver=0.16
pkgrel=593
pkgdesc="A GPL replacement for the NoMachine client, patched to always show the session chooser"
url="http://opennx.sf.net/"
arch=('i686' 'x86_64')
license=('GPL')
depends=('wxgtk' 'opensc' 'cups' 'libcups' 'libxext' 'libxft' 'nx' 'xorg-xauth')
conflicts=('nxclient' 'opennx' )
source=(opennx-opennx.tar.gz 'Makefile.am'
        02_wx28compat.patch
        14_TraceAll.patch
        05_Async.patch
        03_win32exec.patch
        07_ResumeDialog.patch
        08_Win32Geometry.patch
        08_Win32Geometry2.patch
        12_SessionProps.patch
        16_AutoLogon.patch
        19_TestStartNXWin.patch
        20_AddHomeVar.patch
        21_NoKillNXssh.patch
        22_RussNameComputer.patch
        23-WincompIsWinNT.patch)

build() {
  cd $srcdir/opennx

  patch -i $startdir/02_wx28compat.patch
  patch -i $startdir/14_TraceAll.patch
  patch -i $startdir/05_Async.patch
  patch -i $startdir/03_win32exec.patch
  patch -i $startdir/07_ResumeDialog.patch
  patch -i $startdir/08_Win32Geometry.patch
  patch -i $startdir/08_Win32Geometry2.patch
  patch -i $startdir/12_SessionProps.patch
  patch -i $startdir/16_AutoLogon.patch
  patch -i $startdir/19_TestStartNXWin.patch
  patch -i $startdir/20_AddHomeVar.patch
  patch -i $startdir/21_NoKillNXssh.patch
  patch -i $startdir/22_RussNameComputer.patch
  patch -i $startdir/23-WincompIsWinNT.patch

  rm Makefile.am
  cp $startdir/Makefile.am Makefile.am
  make -f Makefile.am
  ./configure --prefix=/usr --with-nxproto=3.3.0
  make || return 1
  make DESTDIR=${pkgdir} install || return 1
}
md5sums=('c328c04e3d171e2b140508b1d9f72b39'
         '547409363674ba2b474e0b85c4059a4b'
         'c4a35b45cb9d618e50bf2460fedfa0a0'
         'ca0f52a409ab37830bdfae1a15e2a22b'
         '860a81891a72758aa5d47cb6d5ac59b1'
         '803a1548f47e619d2efec7b506508096'
         '105e2d1dadb1b8fb24d6c312bb79a6c8'
         '62b5f99218618aa988402ff80a5889c9'
         '048dfbf3ab6ebe5fe83069a161e594e6'
         '958c61dad6c834b57be4e7d275d004e6'
         '106023c440126741062abf89a28134b3'
         '4bea0255327ccf3bad908b00df142177'
         'b6468db4a9fe0e76aae5f76bc895e32a'
         'ac0370f44184ea2cd085c807e777ee04'
         '419aadb223e7bdb4cc84ad19bde34c7f'
         'edfdaa54ce998dce2922cdda23d36344')


пояснения по сценарию:
был вынужден подправить Makefile.am - в нем не выполнялось :

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

svn2cl -i --break-before-msg --authors=conf/authors.xml

чет не очень понял почему сию инструкцию не стал выполнять svn2cl из аура, потому закомментировал, но это нужно вроде только для прописывания автографов авторов в коде....
к скрипту ./configure подкинул префикс куда инсталлить: --prefix=/usr ,да версию nx используемую: --with-nxproto=3.3.0 .... может еще чего конфигуру для сборки подсказать ?
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение Djelf »

А если наоборот? Без них? Патчи то под Win32... на Linux я вообще NXClinet/OpenNX не использую - обхожусь nxproxy.
Собрал под Linux почти без патчей, только фикс совместности компиляции наложил... Запускал сессию, завершал в suspend, раз 10 так ее помучал, вроде все в порядке...
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Djelf писал(а):
14.11.2010 18:54
на Linux я вообще NXClinet/OpenNX не использую - обхожусь nxproxy.

любопытно .... а можно чуть-чуть подробнее о чудесных свойствах чистого nxproxy ?


Djelf писал(а):
14.11.2010 18:54
Собрал под Linux почти без патчей, только фикс совместности компиляции наложил...

имеется в виду 02_wx28compat.patch - дабы не segfault-тился клиент на ровном месте?

если правильно понял - то сейчас так и собрал, с одним ентим патчем, но что то волшебного:
Djelf писал(а):
14.11.2010 18:54
Запускал сессию, завершал в suspend, раз 10 так ее помучал, вроде все в порядке...

так и не получилось :(
картина от сборки к сборке не меняется никак, может чего подправить в каких конфигах nx-сервера надо....
на сегодняшний момент есть только один исправленный конфиг, вроде как, к делу относящийся: в /etc/nxserver/node.conf.d/07-misk.conf

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

ENABLE_AUTORECONNECT="1"


остальное все по умолчанию

п.с:
навсякий - как проверялось восстановление после suspend:
во время работы имитировался дисконнект , после падение клиента по таймауту - коннект повторялся, с того же локального пользователя клиента на котором связь разорвалась - результат нулевой: клиент начитает коннект в конце которого весело висит на жизнерадостном сообщении "начало сессии" с уже описанными несуразностями в логах (даж не выдавая каких либо сообщений о том что сессия то была обнаружена - как это делал нативный клиент 0.16.0 не из svn), и пока с другого юзера не стартуешь клиент и не прибьешь "висячую" сессию - толков не будет.
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение Djelf »

oldbay писал(а):
14.11.2010 22:04
любопытно .... а можно чуть-чуть подробнее о чудесных свойствах чистого nxproxy ?

Как то вот так:

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

#!/bin/bash
# ssh-nx
# запуск программ через ssh с Х-форвардингом через nxproxy

MAXCOUNT=6
(
COUNTER=$MAXCOUNT
until [  $COUNTER -lt 1 ]; do
    echo $(( 100*($MAXCOUNT-$COUNTER)/$MAXCOUNT));
    echo "#Запускается 1С, остаталось $COUNTER с.";
    let COUNTER=COUNTER-1
    sleep 1;
done
echo 100)|zenity --progress --title "Запуск 1С" --text "$msg" --auto-close &

# удаленный DISPLAY порт
REMOTE_DISP=4000
REMOTE_SERVER=server4
REMOTE_PROGRAM="/opt/wine/1c2008.sh"
#REMOTE_PROGRAM="notepad"

#(echo 0; sleep 6; zenity --progress --pulsate

# опции NX сервера/клиента (nxproxy -help)
#NXOPTIONS="nx/nx,link=lan"
NXOPTIONS="nx/nx,link=wan,data=0"

COOKIE=`xauth list ${DISPLAY-:0} | awk '{ print $2,$3  }'`

# ищем свободный удаленный порт
COMMAND="\
/bin/bash -c DISP=0;\
let DISP=$REMOTE_DISP+0;\
while [ -e /tmp/.X\$DISP-lock -o -e /tmp/.nX\$DISP-lock -o -e /tmp/.X11-unix/X\$DISP ]; do \
let DISP=\$DISP+1; \
done;\
echo -n \$DISP;\
"

REMOTE_DISP=`ssh -t $REMOTE_SERVER $COMMAND`
#echo Удаленный порт $REMOTE_DISP

# starting local nxproxy
nxproxy -S $NXOPTIONS $REMOTE_SERVER:$REMOTE_DISP &
LOCAL_PID=$!
# starting remote nxproxy

COMMAND=\
"nxproxy -C $NXOPTIONS :$REMOTE_DISP"
ssh -t $REMOTE_SERVER $COMMAND &
REMOTE_PID=$!
#&>/dev/null &


# starting remote nxproxy
COMMAND=\
"xauth add :$REMOTE_DISP $COOKIE;\
DISPLAY=:$REMOTE_DISP;\
$REMOTE_PROGRAM;\
rm /tmp/.X11-unix/X$REMOTE_DISP;\
exit 0"

ssh -Y -t $REMOTE_SERVER $COMMAND
#ssh -Y $REMOTE_SERVER $REMOTE_PROGRAM
kill -9 $LOCAL_PID
kill -9 $REMOTE_PID

Надо бы, конечно избавится от двойного запуска ssh, но пока не до этого...

Вот еще почти по теме: Соединение не восстанавливается при отключенной компрессии: отключенном шифровании: http://mail.kde.org/pipermail/freenx-knx/2...ber/009113.html
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Djelf писал(а):
15.11.2010 11:15
Вот еще почти по теме: Соединение не восстанавливается при отключенной компрессии: http://mail.kde.org/pipermail/freenx-knx/2...ber/009113.html


имеется в виду ZLIB stream compression(название списывал с нативного клиента, opennx - пока на работе не ставил) - которую можно на клиенте отключить в конфигурации?

так тут у меня явно что то нечисто:

errors из ~/.nx/сессия/ на клиенте

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

Loop: WARNING! Disabling NX delta compression.
Loop: WARNING! Disabling use of NX persistent cache.



session из /home/user/.nx/та-же сессия на сервере

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

Info: Agent running with pid '13543'.
Session: Starting session at 'Mon Nov 15 15:31:11 2010'.
Info: Proxy running in server mode with pid '13543'.
Info: Waiting for connection from '127.0.0.1' on port '6000'.
Info: Accepted connection from '127.0.0.1'.
Info: Connection with remote proxy completed.
Info: Using LAN link parameters 1536/24/1/0.
Info: Using agent parameters 5000/0/50/0/0.
Info: Using pack method 'adaptive-9' with session 'unix-desktop'.
Info: Using product 'LFE/None/LFEN/None'.
Info: Not using NX delta compression.
Info: Not using ZLIB data compression.
Info: Not using ZLIB stream compression.
Info: Not using a persistent cache.
Info: Listening to X11 connections on display ':2000'.
Info: Listening to SMB connections on port '5000'.
Info: Listening to multimedia connections on port '9000'.
Info: Accepted new connection to SMB server.
Info: Established X client connection.
Info: Using shared memory parameters 1/1/1/2048K.
Info: Using alpha channel in render extension.
Info: Not using local device configuration changes.
InitOutput: Set ru_RU.UTF-8 locale
keyboard file created
SessionPath not defined
Session: Session started at 'Mon Nov 15 15:31:13 2010'.
Info: Screen [0] resized to geometry [993x748] fullscreen [0].


причем специально я этого не отключал, рою дальше что с чем не сращивается
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение Djelf »

Нет, я не верно выразился, имеется в виду шифрование через ssh.

oldbay писал(а):
15.11.2010 15:47
так тут у меня явно что то нечисто:
Loop: WARNING! Disabling NX delta compression.
Loop: WARNING! Disabling use of NX persistent cache.
Info: Using LAN link parameters 1536/24/1/0.

Опять нет, все чисто, это потому что:
oldbay писал(а):
15.11.2010 15:47
Info: Using LAN link parameters 1536/24/1/0.
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Djelf писал(а):
15.11.2010 16:44
Нет, я не верно выразился, имеется в виду шифрование через ssh.


ну это то есть - шифрование через ssh я точно не отключал - в нем то самый цинус (кидать терминал через инет в оплетке туннеля)

блин .... опять тупик, силов больше нет мне его собирать проклятого :(
что то то видать либо акула глухая попалась, либо свисток с дефектом, ежли у собравших opennx работает хорошо с suspend-ами, попробую поменять версию самого nx c 3.3.0 на 3.4.0 - может здесь где собака порылась, а ежли заведется ,то и с libjpeg-ом как нибудь разберусь.

п.с:
Я тут пытался еще на днях осилить действие патча для "--trace=All" на клиенте под линуксом, но так и не нашел куда он свой лог сбрасывает = а консольный вывод из под клиента с ключом трассировки нисколечко не отличается от обычного .... может он на linux не работает ? .... или тех логов что получаю в ~./nx/ и так должно быть достаточно ?
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение Djelf »

oldbay писал(а):
15.11.2010 17:38
но так и не нашел куда он свой лог сбрасывает = а консольный вывод из под клиента с ключом трассировки нисколечко не отличается от обычного .... может он на linux не работает ? .... или тех логов что получаю в ~./nx/ и так должно быть достаточно ?

Хм, точно, tracelog не собирается, но что-то как то должно же работать ибо http://opennx.svn.sourceforge.net/viewvc/o...mp;revision=451

upd: Ага! Он встроенный... Ключ --verbose
опять не то... и куда Фриц дабаг запрятал ;)
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

oldbay писал(а):
15.11.2010 17:38
попробую поменять версию самого nx c 3.3.0 на 3.4.0 - может здесь где собака порылась,


пересобрал с --with-nxproto=3.4.0 в configure
и тут столкнулся с еще одним болтом = несмотря на то что в настройке графики ставишь "использовать простые растры X", клиент упорно хочет вызывать джина libjpeg, а с ним то у меня в nx 3.4.0 от etersoft библиотечная turbo-трабла

так что для выяснения истинны по клиенту, все одно, придется что то делать с этой библиотекой :(

п.с:
тут еще в конфигуре любопытный ключик нарисовался --enable-usbip, после сборки с ним в настройках клиента появляется вкладочка usb - для проброса последнего, таки захотело от меня связи с usbipdемоном....
надо будет енту штуку потестить, жаль только сам драйвер сырой пока. - нее - пока не до него .... -goo в долгий ящик

п.c.c: добры люди - а чем таким необычным отличается nx-3.4.0 аля etersoft от нативного? кроме сборки в обнимку с libjpeg-turbo ? есть какие-нибудь еще специфически-волшебные патчи ?? - да патчи есть - судя по альтовскому spec-файлу .... нужно разобраться как его korinfer в PKGBUILD переколбашивает - самому ,как надо, перерисовать и собрать без долбанного libjpeg-turbo
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение dimbor »

oldbay писал(а):
16.11.2010 02:06
п.c.c: добры люди - а чем таким необычным отличается nx-3.4.0 аля etersoft от нативного? кроме сборки в обнимку с libjpeg-turbo ? есть какие-нибудь еще специфически-волшебные патчи ?? - да патчи есть - судя по альтовскому spec-файлу


Перечисляю:
Patch #6 (nx-X11-utf8_copy_clipboard.patch):
Patch #41 (nxagent.MotifWMHints_Utf8Names.dimbor.patch):

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

Patch #40 (nx-X11-dimbor.patch):
Patch #42 (nxa_wine_close_delay.patch):
Patch #43 (nx-X11-dimbor_x64.patch):

Эти заточены под вайн - иконки 1с семерки, устранение задержки закрытия окон.

Это были серверные патчи.
Еще там есть группа "ментейнерских" - сборка под тем-то и под сем-то, легко идентифицируются по названиям.

Patch #60 (createpixmap_bounds_check.patch):

Походу клиентский (под линукс естественно). Зачем нужен - не знаю.

Patch #61 (nx-X11-fix_format.patch):

Тоже загадочный. Скорее клиентский, чем серверный.

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

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

Re: rx@etersoft под archlinux

Сообщение dimbor »

Вдогонку: Сам kornif далеко не тайна - вот. Но лично я столько не выпью, чтобы с ходу там разобраться. Понятия EBUILD там найти не получилось. Единственное, что выяснил - самое главное там альтовская спецуха пакета, остальное крайне запутанно получается из нее. Да еще и далеко не все, судя по пустым папкам и матерным логам на ftp.
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

dimbor писал(а):
16.11.2010 17:39
Вдогонку: Сам kornif далеко не тайна - вот.


Спасибо - baraka - уже втолковал как едят сборку от etersoft :)

dimbor писал(а):
16.11.2010 17:39
Но лично я столько не выпью, чтобы с ходу там разобраться. Понятия EBUILD там найти не получилось.
Единственное, что выяснил - самое главное там альтовская спецуха пакета, остальное крайне запутанно получается из нее. Да еще и далеко не все, судя по пустым папкам и матерным логам на ftp.


да уж сборка весьма специфичная + я до сих пор мучаюсь изжогой от вспоминая сборки собственных пакетов для fedora и centos .... не люблю писать spec файлы обильно сдобренные макросами - потому и не жалую rpm сборку.

Наверно пока не буду мучатся с собственной сборкой nx-3.4.0 , откачусь на вполне работоспособный 3.3.0 - тем более в проблемах с opennx -сами nx-овские бинарники врятли виноваты, тут какой то косяк во взаимодействии скриптов сервера (те что в rx@etersoft гнездятся) и собственно клиента. У этесофтовского и номашиновского клиента косяков с суспендом не наблюдал - только opennx - как говорится :"результат на лице".
Тем более что именно на клиенте вначале появляется аномальный № сессии ("S-" ... без номера, хотя после дисконнекта номер был, а при повторном коннекте сплыл)- и уж потом сервер матится на нее в логах и все ввииссиитт :)

Но сам клиент точно бросать не буду - его разработка идет и весьма активно, может где баг выпилят + всяких заделов на будущее полно (всякие смарткарты , да проброс usb)

п.с: пропускаем пока этот косяк- мысленно превращаем баг в фичу и плывем дальше.
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение Djelf »

oldbay писал(а):
16.11.2010 18:12
сами nx-овские бинарники врятли виноваты, тут какой то косяк во взаимодействии скриптов сервера (те что в rx@etersoft гнездятся) и собственно клиента.

Косяк есть. Да, NX библиотеки сами с собой работают, но насколько такая работа правильна?
Мы все наивно думаем что "--option1=yes --option2=no" = "--option2=no --option1=yes".
Как бы ни так... с NX(FREENX) последовательность, увы, критична (Не везде. Не всегда. Но это только все усугубляет). И этому подвержены много компонентов всего этого зоопарка.
Поэтому проблема отказа в соединении с OpenNX, довольно часто заключается, всего навсего, в неправильном следовании параметров соединения :angry:
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Djelf писал(а):
16.11.2010 23:09
Поэтому проблема отказа в соединении с OpenNX, довольно часто заключается, всего навсего, в неправильном следовании параметров соединения :angry:


Не бывает вечных багов - и на мой проблемм найдется железобетонный фикс :)

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

заседание продолжается - господа присяжные заседатели
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

oldbay писал(а):
17.11.2010 00:08
Не бывает вечных багов - и на мой проблемм найдется железобетонный фикс :)

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


В общем продолжаю беседу про упорно не восстанавливающиеся суспенды:

провел ряд бесчеловечных экспериментов над разными клиентами (разными версиями opennx и nxclient аля nomahine) = результат вышел один и тот же суспенд не поднимается, с теми же симптомами что ранее давал opennx. То что я считал полнятием сессии нативным клиентом на поверку оказвлось повторной загрузкой сессии - и я сего теперь явно не могу повторить (да и не хочу). вывод оказался вполне очевидным - какой то проблемм с самими сервером.
Дальнейшее расследование выявило ,пока, только одну аномалию:
процессы поднятые под пользователем nx на сервере
при работе сессии:

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

pstree -p nx

sshd(28696)───nxserver(28697)─┬─netcat(29613)
                              ├─nxserver(28852)───nxnode-login(28853)─┬─ssh(28856)
                              │                                       └─{nxnode-login}(28854)
                              └─nxserver(29135)─┬─nxserver(29138)─┬─nxserver(29145)
                                                │                 └─tee(29146)
                                                └─nxserver(29139)


и после суспенда:

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

pstree -p nx

nxnode-login(28853)─┬─ssh(28856)
                    └─{nxnode-login}(28854)

nxserver(29135)─┬─nxserver(29138)─┬─nxserver(29145)
                │                 └─tee(29146)
                └─nxserver(29139)


как видно родительские процессы сдохли оставив nxnode-login c PID 28853 и nxserver с PID 29135 и их потомков весьма дальнему родственнику процессу №1 init

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

ps -f 28853
UID        PID  PPID  C STIME TTY      STAT   TIME CMD
nx       28853     1  0 03:00 ?        Sl     0:00 /usr/bin/expect /usr/bin/nxnode-login -- ssh admin 22 /usr/bin/nxnode
--slave

ps -f 29135
UID        PID  PPID  C STIME TTY      STAT   TIME CMD
nx       29135     1  0 03:00 ?        S      0:00 /bin/bash /usr/bin/nxserver



если потом попробовать стартовать сессию заново - то видим на сервере, кроме замерших процессов, еще новые - являющиеся потомками nxserver(3036) (причем последние долго не живут - но уже дохнут в обнимку с своими родителями):

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

pstree -p nx

nxnode-login(28853)─┬─ssh(28856)
                    └─{nxnode-login}(28854)


nxserver(29135)─┬─nxserver(29138)─┬─nxserver(29145)
                │                 └─tee(29146)
                └─nxserver(29139)

nxserver(3036)─┬─netcat(3788)
               ├─nxserver(3188)───nxnode-login(3189)─┬─ssh(3192)
               │                                     └─{nxnode-login}(3190)
               └─nxserver(3464)─┬─nxserver(3465)─┬─nxserver(3472)
                                │                └─tee(3473)
                                └─nxserver(3466)


в результате сессия из суспенда не восстаёт, на клиенте появляется аномальная группа "-S" ... без номера сессии, и в логах клиента - следующие матюки , в следующих файлах:

~/.nx/temp/pid процесса/runlog

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

04:44:40: env: NX_HOME='/home/nxclient'
04:44:40: env: NX_ROOT='/home/nxclient/.nx'
04:44:40: env: NX_SYSTEM='/usr'
04:44:40: env: NX_CLIENT='/usr/bin/opennx'
04:44:40: env: NX_VERSION='3.3.0'
04:44:40: env: XAUTHORITY='/home/nxclient/.Xauthority'
04:44:40: env: NX_TEMP='/tmp'
04:44:40: Starting /usr/bin/nxssh -nx -x -2 -p 22 -o 'RhostsAuthentication no' -o 'PasswordAuthentication no' -o 'RSAAuthentication no' -o 'RhostsRSAAuthentication no' -o 'PubkeyAuthentication yes' -i /usr/share/keys/server.id_dsa.key -B -E nx@192.168.0.101
04:44:51: receiving session list ..
04:44:51: received end of session list
04:44:51: RESUME
04:44:55: Session options='nx/nx,cookie=,shmem=1,shpix=1,font=1,encryption=218,session=session,client=linux,id
=:'


~/.nx/temp/pid процесса/sshlog

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

04:44:40: NX> 203 NXSSH running with pid: 1945
04:44:40: NX> 285 Enabling check on switch command
04:44:40: NX> 285 Enabling skip of SSH config files
04:44:40: NX> 285 Setting the preferred NX options
04:44:40: NX> 200 Connected to address: 192.168.0.101 on port: 22
04:44:40: NX> 202 Authenticating user: nx
04:44:40: NX> 208 Using auth method: publickey
04:44:42: HELLO NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
04:44:43: NX> 105
04:44:43: hello NXCLIENT - Version 3.2.0-74-SVN
04:44:43: NX> 134 Accepted protocol: 3.2.0-74-SVN
04:44:44: NX> 105
04:44:44: SET SHELL_MODE SHELL
04:44:45: NX> 105
04:44:45: SET AUTH_MODE PASSWORD
04:44:46: NX> 105
04:44:46: login
04:44:47: NX> 101 User:
04:44:47: admin
04:44:48: NX> 102 Password:
04:44:48:
04:44:50: NX> 103 Welcome to: myhost user: admin
04:44:51: NX> 105
04:44:51: listsession --user="admin" --status="suspended,running" --type="unix-application" --geometry="800x600x24+render"
04:44:51: NX> 127 Sessions list of user 'admin' for reconnect:
04:44:51:
04:44:51: Display Type             Session ID                       Options  Depth Screen         Status      Session Name
04:44:51: ------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
04:44:51: 2003    unix-application B5202CC61B2D8E438A60BE3382162053 -RD--PSA    24 800x600        Suspended   freenx
04:44:51:
04:44:51:
04:44:51: NX> 148 Server capacity: not reached for user: admin
04:44:52: NX> 105
04:44:52: restoresession --cache="8M" --images="32M" --link="adsl" --screeninfo="800x600x24+render" --keyboard="evdev/us" --backingstore="1" --encryption="1" --composite="1" --shmem="1" --shpix="1" --streaming="1" --samba="0" --cups="0" --nodelay="1" --defer="0" --client="linux" --media="0" --strict="0" --aux="1" --session="freenx" --type="unix-application" --id="B5202CC61B2D8E438A60BE3382162053"
04:44:52:
04:44:53: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
04:44:55: NX> 710 Session status: running
04:44:55: NX> 1002 Commit
04:44:55: /usr/bin/nxserver: line 1584: 21607 Terminated              sleep $AGENT_STARTUP_TIMEOUT
04:44:55: NX> 1006 Session status: running
04:44:55: NX> 700 Session id: myhost-2003-B5202CC61B2D8E438A60BE3382162053
04:44:55: NX> 705 Session display: 2003
04:44:55: NX> 703 Session type: unix-application
04:44:55: NX> 701 Proxy cookie: 231270c0c717ead0618127c57e918b8d
04:44:55: NX> 702 Proxy IP: 127.0.0.1
04:44:55: NX> 706 Agent cookie: 231270c0c717ead0618127c57e918b8d
04:44:55: NX> 704 Session cache: unix-application
04:44:55: NX> 707 SSL tunneling: 1
04:44:55: NX> 105 bye
04:44:55: Bye
04:44:55: NX> 999 Bye
04:44:55: NX> 285 Identified internal connection
04:44:55: NX> 285 Using default mode encrypted
04:44:55: NX> 285 Identified options: nx,options=/home/nxclient/.nx/S-/options:
04:44:55: Loop: PANIC! Can't identify NX port in string ':'.
04:44:55: Error: Can't identify NX port in string ':'.
04:44:55: Error: Parsing of NX transport options failed.
04:44:55: NX> 290 Failed to create the internal connection


на сервере в /var/log/nxserver.log

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

-- NX SERVER START:  - ORIG_COMMAND=
-- NX SERVER START:  - ORIG_COMMAND=
Info: Using fds #4 and #3 for communication with nxnode.
HELLO NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 105 hello NXCLIENT - Version 3.2.0-74-SVN
NX> 134 Accepted protocol: 3.2.0-74-SVN
NX> 105 SET SHELL_MODE SHELL
NX> 105 SET AUTH_MODE PASSWORD
NX> 105 login
NX> 101 User: admin
NX> 102 Password:
Info: Auth method: ssh admin@127.0.0.1's password:
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 716 Slave mode started successfully.
nxnode_reader: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
nxnode_reader: NX> 716 finished
nxnode_reader: NX> 1001 Bye.

NX> 103 Welcome to: myhost user: admin
NX> 105 listsession --user="admin" --status="suspended,running" --type="unix-application" --geometry="800x600x24+render"
NX> 127 Sessions list of user 'admin' for reconnect:

Display Type             Session ID                       Options  Depth Screen         Status      Session Name
------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
2003    unix-application B5202CC61B2D8E438A60BE3382162053 -RD--PSA    24 800x600        Suspended   freenx


NX> 148 Server capacity: not reached for user: admin
NX> 105 restoresession --cache="8M" --images="32M" --link="adsl" --screeninfo="800x600x24+render" --keyboard="evdev/us" --backingstore="1" --encryption="1" --composite="1" --shmem="1" --shpix="1" --streaming="1" --samba="0" --cups="0" --nodelay="1" --defer="0" --client="linux" --media="0" --strict="0" --aux="1" --session="freenx" --type="unix-application" --id="B5202CC61B2D8E438A60BE3382162053"

nxnode_reader: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
server_nxnode_echo: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
nxnode_reader: NX> 1009 Session status: resuming
NX> 1009 Session status: resuming
server_nxnode_echo: NX> 1009 Session status: resuming
nxnode_reader: NX> 710 Session status: running
nxnode_reader: NX> 1002 Commit
nxnode_reader: NX> 1006 Session status: running
nxnode_reader: NX> 710 Session status: running
NX> 710 Session status: running
NX> 1002 Commit
NX> 1006 Session status: running
NX> 710 Session status: running
server_nxnode_echo: NX> 710 Session status: running
server_nxnode_echo: NX> 1002 Commit
session_status B5202CC61B2D8E438A60BE3382162053 Running
server_nxnode_echo: NX> 710 Session status: running
nxnode_reader: NX> 1002 Commit
nxnode_reader: NX> 1006 Session status: running
NX> 1002 Commit
NX> 1006 Session status: running
server_nxnode_echo: NX> 1002 Commit
server_nxnode_echo: NX> 1006 Session status: running
NX> 105 server_nxnode_echo: NX> 1006 Session status: running
nxnode_reader: NX> 700 Session id: myhost-2003-B5202CC61B2D8E438A60BE3382162053
nxnode_reader: NX> 705 Session display: 2003
nxnode_reader: NX> 703 Session type: unix-application
nxnode_reader: NX> 701 Proxy cookie: 231270c0c717ead0618127c57e918b8d
nxnode_reader: NX> 702 Proxy IP: 127.0.0.1
nxnode_reader: NX> 706 Agent cookie: 231270c0c717ead0618127c57e918b8d
nxnode_reader: NX> 704 Session cache: unix-application
nxnode_reader: NX> 707 SSL tunneling: 1
NX> 700 Session id: myhost-2003-B5202CC61B2D8E438A60BE3382162053
NX> 705 Session display: 2003
NX> 703 Session type: unix-application
NX> 701 Proxy cookie: 231270c0c717ead0618127c57e918b8d
NX> 702 Proxy IP: 127.0.0.1
NX> 706 Agent cookie: 231270c0c717ead0618127c57e918b8d
NX> 704 Session cache: unix-application
NX> 707 SSL tunneling: 1
server_nxnode_echo: NX> 700 Session id: myhost-2003-B5202CC61B2D8E438A60BE3382162053
server_nxnode_echo: NX> 705 Session display: 2003
server_nxnode_echo: NX> 703 Session type: unix-application
server_nxnode_echo: NX> 701 Proxy cookie: 231270c0c717ead0618127c57e918b8d
server_nxnode_echo: NX> 702 Proxy IP: 127.0.0.1
server_nxnode_echo: NX> 706 Agent cookie: 231270c0c717ead0618127c57e918b8d
server_nxnode_echo: NX> 704 Session cache: unix-application
server_nxnode_echo: NX> 707 SSL tunneling: 1
bye
Bye
NX> 999 Bye
Info: Closing connection to slave with pid 21282.
nxnode_reader: NX> 1009 Session status: suspending
NX> 1009 Session status: suspending
session_status B5202CC61B2D8E438A60BE3382162053 Suspending
nxnode_reader: NX> 596 Error: Session restore failed. Reason was: Session: Display failure detected at 'Sun Nov 21 04:42:17 2010'.
NX> 596 Error: Session restore failed. Reason was: Session: Display failure detected at 'Sun Nov 21 04:42:17 2010'.
server_nxnode_echo: NX> 596 Error: Session restore failed. Reason was: Session: Display failure detected at 'Sun Nov 21 04:42:17 2010'.
nxnode_reader: 1001 Bye.
1001 Bye.
nxnode_reader: NX> 1005 Session status: suspended
NX> 1005 Session status: suspended
server_nxnode_echo: NX> 1009 Session status: suspending
session_suspend B5202CC61B2D8E438A60BE3382162053
nxnode_reader: NX> 1001 Bye.
NX> 1001 Bye.
server_nxnode_echo: NX> 1001 Bye.
server_nxnode_echo: NX> 1005 Session status: suspended
Info: Closing connection to slave with pid 21282.



пробовал прибить все процессы пользователя nx на сервере перед началом суспенда killall -u nx
восстановления тогда тоже нет - но уже с веером совсем других сообщений: сам клиент пишет : Error: Session did not start и session resume failed
в логах клиента уже другие ошибки:

~/.nx/temp/pid процесса/runlog

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

04:31:24: env: NX_HOME='/home/nxclient'
04:31:24: env: NX_ROOT='/home/nxclient/.nx'
04:31:24: env: NX_SYSTEM='/usr'
04:31:24: env: NX_CLIENT='/usr/bin/opennx'
04:31:24: env: NX_VERSION='3.3.0'
04:31:24: env: XAUTHORITY='/home/nxclient/.Xauthority'
04:31:24: env: NX_TEMP='/tmp'
04:31:24: Starting /usr/bin/nxssh -nx -x -2 -p 22 -o 'RhostsAuthentication no' -o 'PasswordAuthentication no' -o 'RSAAuthentication no' -o 'RhostsRSAAuthentication no' -o 'PubkeyAuthentication yes' -i /usr/share/keys/server.id_dsa.key -B -E nx@192.168.0.101
04:31:36: receiving session list ..
04:31:36: received end of session list
04:31:36: RESUME
04:32:37: Ошибка:  Error: Session did not start.
04:32:37: Ошибка: Session resume failed.


~/.nx/temp/pid процесса/sshlog

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

04:14:37: NX> 203 NXSSH running with pid: 1674
04:14:37: NX> 285 Enabling check on switch command
04:14:37: NX> 285 Enabling skip of SSH config files
04:14:37: NX> 285 Setting the preferred NX options
04:14:37: NX> 200 Connected to address: 192.168.0.101 on port: 22
04:14:37: NX> 202 Authenticating user: nx
04:14:37: NX> 208 Using auth method: publickey
04:14:39: HELLO NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
04:14:40: NX> 105
04:14:40: hello NXCLIENT - Version 3.2.0-74-SVN
04:14:40: NX> 134 Accepted protocol: 3.2.0-74-SVN
04:14:41: NX> 105
04:14:41: SET SHELL_MODE SHELL
04:14:42: NX> 105
04:14:42: SET AUTH_MODE PASSWORD
04:14:43: NX> 105
04:14:43: login
04:14:44: NX> 101 User:
04:14:44: admin
04:14:45: NX> 102 Password:
04:14:45:
04:14:47: NX> 103 Welcome to: myhost user: admin
04:14:48: NX> 105
04:14:48: listsession --user="admin" --status="suspended,running" --type="unix-application" --geometry="800x600x24+render"
04:14:48: NX> 127 Sessions list of user 'admin' for reconnect:
04:14:48:
04:14:48: Display Type             Session ID                       Options  Depth Screen         Status      Session Name
04:14:48: ------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
04:14:48: 2001    unix-application DE2D746701B9302F688D1646A6EB5445 -RD--PSA    24 800x600        Suspended   freenx
04:14:48:
04:14:48:
04:14:48: NX> 148 Server capacity: not reached for user: admin
04:14:49: NX> 105
04:14:49: restoresession --cache="8M" --images="32M" --link="adsl" --screeninfo="800x600x24+render" --keyboard="evdev/us" --backingstore="1" --encryption="1" --composite="1" --shmem="1" --shpix="1" --streaming="1" --samba="0" --cups="0" --nodelay="1" --defer="0" --client="linux" --media="0" --strict="0" --aux="1" --session="freenx" --type="unix-application" --id="DE2D746701B9302F688D1646A6EB5445"
04:14:49:
04:14:50: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
04:14:52: NX> 700 Session id: myhost-2001-DE2D746701B9302F688D1646A6EB5445
04:14:52: NX> 705 Session display: 2001
04:14:52: NX> 703 Session type: unix-application
04:14:52: NX> 701 Proxy cookie: a22bd85c95256c3d820d48459499eedc
04:14:52: NX> 702 Proxy IP: 127.0.0.1
04:14:52: NX> 706 Agent cookie: a22bd85c95256c3d820d48459499eedc
04:14:52: NX> 704 Session cache: unix-application
04:14:52: NX> 707 SSL tunneling: 1
04:15:50: NX> 1004 Error: Session did not start.
04:15:50: NX> 285 Identified internal connection
04:15:50: NX> 285 Using default mode encrypted
04:15:50: NX> 285 Identified options: nx,options=:2001
04:15:50: Loop: PANIC! Error in environment option 'options'. No value found.
04:15:50: Error: Error in environment option 'options'. No value found.
04:15:50: Error: Parsing of NX transport options failed.
04:15:50: NX> 290 Failed to create the internal connection
04:23:56: NX> 999 Bye
04:23:57: NX> 596 Session resume failed.


на сервере в /var/log/nxserver.log следующее:

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

-- NX SERVER START:  - ORIG_COMMAND=
-- NX SERVER START:  - ORIG_COMMAND=
Info: Using fds #4 and #3 for communication with nxnode.
HELLO NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 105 hello NXCLIENT - Version 3.2.0-74-SVN
NX> 134 Accepted protocol: 3.2.0-74-SVN
NX> 105 SET SHELL_MODE SHELL
NX> 105 SET AUTH_MODE PASSWORD
NX> 105 login
NX> 101 User: admin
NX> 102 Password:
Info: Auth method: ssh admin@127.0.0.1's password:
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 716 Slave mode started successfully.
nxnode_reader: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
nxnode_reader: NX> 716 finished
nxnode_reader: NX> 1001 Bye.

NX> 103 Welcome to: myhost user: admin
NX> 105 listsession --user="admin" --status="suspended,running" --type="unix-application" --geometry="800x600x24+render"
NX> 127 Sessions list of user 'admin' for reconnect:

Display Type             Session ID                       Options  Depth Screen         Status      Session Name
------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
2001    unix-application DE2D746701B9302F688D1646A6EB5445 -RD--PSA    24 800x600        Suspended   freenx


NX> 148 Server capacity: not reached for user: admin
NX> 105 restoresession --cache="8M" --images="32M" --link="adsl" --screeninfo="800x600x24+render" --keyboard="evdev/us" --backingstore="1" --encryption="1" --composite="1" --shmem="1" --shpix="1" --streaming="1" --samba="0" --cups="0" --nodelay="1" --defer="0" --client="linux" --media="0" --strict="0" --aux="1" --session="freenx" --type="unix-application" --id="DE2D746701B9302F688D1646A6EB5445"

nxnode_reader: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
server_nxnode_echo: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
nxnode_reader: NX> 700 Session id: myhost-2001-DE2D746701B9302F688D1646A6EB5445
nxnode_reader: NX> 705 Session display: 2001
nxnode_reader: NX> 703 Session type: unix-application
nxnode_reader: NX> 701 Proxy cookie: 080c035d97f548146a2ae142bc9ea98e
nxnode_reader: NX> 702 Proxy IP: 127.0.0.1
nxnode_reader: NX> 706 Agent cookie: 080c035d97f548146a2ae142bc9ea98e
nxnode_reader: NX> 704 Session cache: unix-application
nxnode_reader: NX> 707 SSL tunneling: 1
NX> 700 Session id: myhost-2001-DE2D746701B9302F688D1646A6EB5445
NX> 705 Session display: 2001
NX> 703 Session type: unix-application
NX> 701 Proxy cookie: 080c035d97f548146a2ae142bc9ea98e
NX> 702 Proxy IP: 127.0.0.1
NX> 706 Agent cookie: 080c035d97f548146a2ae142bc9ea98e
NX> 704 Session cache: unix-application
NX> 707 SSL tunneling: 1
server_nxnode_echo: NX> 700 Session id: myhost-2001-DE2D746701B9302F688D1646A6EB5445
server_nxnode_echo: NX> 705 Session display: 2001
server_nxnode_echo: NX> 703 Session type: unix-application
server_nxnode_echo: NX> 701 Proxy cookie: 080c035d97f548146a2ae142bc9ea98e
server_nxnode_echo: NX> 702 Proxy IP: 127.0.0.1
server_nxnode_echo: NX> 706 Agent cookie: 080c035d97f548146a2ae142bc9ea98e
server_nxnode_echo: NX> 704 Session cache: unix-application
server_nxnode_echo: NX> 707 SSL tunneling: 1
NX> 1004 Error: Session did not start.
NX> 596 Session resume failed.
NX> 999 Bye
Info: Closing connection to slave with pid 14357.
nxnode_reader: 1001 Bye.
1001 Bye.



Вот такой веселый фикус-пикус, есть какие нибудь соображения на счет ? - а то я что то совсем завис
Особо интересует вопрос процессов от пользователя nx на сервере когда сессия ушла в суспенд - может кто выложит ?
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение dimbor »

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

Посему ENABLE_SLAVE_MODE="0" без разговоров - наноиновацию выключить от греха, т.е.
А потом можно поглядеть и логи с деревьями процессов кустистыми, если останется надобность.
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

dimbor писал(а):
21.11.2010 02:19
А потом можно поглядеть и логи с деревьями процессов кустистыми, если останется надобность.


"славу" убрал
кусты да деревья несколько изменились - но суть в корне не очень

теперь у меня так:
нормальный старт сессии:

процессы nx пользователя на сервере

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

sshd(8219)───nxserver(8220)─┬─netcat(9002)
                            └─nxserver(8613)─┬─nxserver(8616)─┬─nxserver(8623)───nxnode-login(8626)─┬─ssh(8629)
                                             │                │                                     └─{nxnode-login}(8627)
                                             │                └─tee(8624)
                                             └─nxserver(8617)


теперь уводим сессию в суспенд:

процессы юзера nx

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

nxserver(8613)─┬─nxserver(8616)─┬─nxserver(8623)───nxnode-login(8626)─┬─ssh(8629)
               │                │                                     └─{nxnode-login}(8627)
               │                └─tee(8624)
               └─nxserver(8617)


предки процесса опять подохли - и передали потомков дальнему родственнику

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

ps -f 8613
UID        PID  PPID  C STIME TTY      STAT   TIME CMD
nx        8613     1  0 05:48 ?        S      0:00 /bin/bash /usr/bin/nxserver



пытаемся подняться из суспенда

деревья nx

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

pstree -p nx
nxserver(8613)─┬─nxserver(8616)─┬─nxserver(8623)───nxnode-login(8626)─┬─ssh(8629)
               │                │                                     └─{nxnode-login}(8627)
               │                └─tee(8624)
               └─nxserver(8617)

nxserver(11429)─┬─netcat(12039)
                └─nxserver(11712)─┬─nxserver(11713)─┬─nxserver(11720)───nxnode-login(11723)─┬─ssh(11726)
                                  │                 │                                       └─{nxnode-login}(11724)
                                  │                 └─tee(11721)
                                  └─nxserver(11714)


логи клиента:

~/.nx/temp/pid процесса/runlog

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

06:00:47: env: NX_HOME='/home/nxclient'
06:00:47: env: NX_ROOT='/home/nxclient/.nx'
06:00:47: env: NX_SYSTEM='/usr'
06:00:47: env: NX_CLIENT='/usr/bin/opennx'
06:00:47: env: NX_VERSION='3.3.0'
06:00:47: env: XAUTHORITY='/home/nxclient/.Xauthority'
06:00:47: env: NX_TEMP='/tmp'
06:00:47: Starting /usr/bin/nxssh -nx -x -2 -p 22 -o 'RhostsAuthentication no' -o 'PasswordAuthentication no' -o 'RSAAuthentication no' -o 'RhostsRSAAuthentication no' -o 'PubkeyAuthentication yes' -i /usr/share/keys/server.id_dsa.key -B -E nx@192.168.0.101
06:00:57: receiving session list ..
06:00:57: received end of session list
06:00:57: RESUME
06:01:01: Session options='nx/nx,cookie=,shmem=1,shpix=1,font=1,encryption=224,session=session,client=linux,id
=:'


~/.nx/temp/pid процесса/sshlog

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

06:00:47: NX> 203 NXSSH running with pid: 5162
06:00:47: NX> 285 Enabling check on switch command
06:00:47: NX> 285 Enabling skip of SSH config files
06:00:47: NX> 285 Setting the preferred NX options
06:00:47: NX> 200 Connected to address: 192.168.0.101 on port: 22
06:00:47: NX> 202 Authenticating user: nx
06:00:47: NX> 208 Using auth method: publickey
06:00:48: HELLO NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
06:00:49: NX> 105
06:00:49: hello NXCLIENT - Version 3.2.0-74-SVN
06:00:49: NX> 134 Accepted protocol: 3.2.0-74-SVN
06:00:50: NX> 105
06:00:50: SET SHELL_MODE SHELL
06:00:51: NX> 105
06:00:51: SET AUTH_MODE PASSWORD
06:00:52: NX> 105
06:00:52: login
06:00:53: NX> 101 User:
06:00:53: admin
06:00:54: NX> 102 Password:
06:00:54:
06:00:56: NX> 103 Welcome to: myhost user: admin
06:00:57: NX> 105
06:00:57: listsession --user="admin" --status="suspended,running" --type="unix-application" --geometry="800x600x24+render"
06:00:57: NX> 127 Sessions list of user 'admin' for reconnect:
06:00:57:
06:00:57: Display Type             Session ID                       Options  Depth Screen         Status      Session Name
06:00:57: ------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
06:00:57: 2000    unix-application 09FEDE45FFF48173401652E3C2EB8FC0 -RD--PSA    24 800x600        Suspended   freenx
06:00:57:
06:00:57:
06:00:57: NX> 148 Server capacity: not reached for user: admin
06:00:58: NX> 105
06:00:58: restoresession --cache="8M" --images="32M" --link="adsl" --screeninfo="800x600x24+render" --keyboard="evdev/us" --backingstore="1" --encryption="1" --composite="1" --shmem="1" --shpix="1" --streaming="1" --samba="0" --cups="0" --nodelay="1" --defer="0" --client="linux" --media="0" --strict="0" --aux="1" --session="freenx" --type="unix-application" --id="09FEDE45FFF48173401652E3C2EB8FC0"
06:00:58:
06:00:59: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
06:01:01: NX> 710 Session status: running
06:01:01: NX> 1002 Commit
06:01:01: /usr/bin/nxserver: line 1584: 11711 Terminated              sleep $AGENT_STARTUP_TIMEOUT
06:01:01: NX> 1006 Session status: running
06:01:01: NX> 700 Session id: myhost-2000-09FEDE45FFF48173401652E3C2EB8FC0
06:01:01: NX> 705 Session display: 2000
06:01:01: NX> 703 Session type: unix-application
06:01:01: NX> 105 bye
06:01:01: NX> 701 Proxy cookie: f91d314844cbc1d0aa7fc33cee30c62f
06:01:01: Bye
06:01:01: NX> 999 Bye
06:01:01: NX> 702 Proxy IP: 127.0.0.1
06:01:01: NX> 285 Identified internal connection
06:01:01: NX> 285 Using default mode encrypted
06:01:01: NX> 285 Identified options: nx,options=/home/nxclient/.nx/S-/options:
06:01:01: Loop: PANIC! Can't identify NX port in string ':'.
06:01:01: Error: Can't identify NX port in string ':'.
06:01:01: Error: Parsing of NX transport options failed.
06:01:01: NX> 290 Failed to create the internal connection


на сервере в /var/log/nxserver.log

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

-- NX SERVER START:  - ORIG_COMMAND=
HELLO NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 105 hello NXCLIENT - Version 3.2.0-74-SVN
NX> 134 Accepted protocol: 3.2.0-74-SVN
NX> 105 SET SHELL_MODE SHELL
NX> 105 SET AUTH_MODE PASSWORD
NX> 105 login
NX> 101 User: admin
NX> 102 Password:
Info: Auth method: ssh
NX> 103 Welcome to: myhost user: admin
NX> 105 listsession --user="admin" --status="suspended,running" --type="unix-application" --geometry="800x600x24+render"
NX> 127 Sessions list of user 'admin' for reconnect:

Display Type             Session ID                       Options  Depth Screen         Status      Session Name
------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
2000    unix-application 09FEDE45FFF48173401652E3C2EB8FC0 -RD--PSA    24 800x600        Suspended   freenx


NX> 148 Server capacity: not reached for user: admin
NX> 105 restoresession --cache="8M" --images="32M" --link="adsl" --screeninfo="800x600x24+render" --keyboard="evdev/us" --backingstore="1" --encryption="1" --composite="1" --shmem="1" --shpix="1" --streaming="1" --samba="0" --cups="0" --nodelay="1" --defer="0" --client="linux" --media="0" --strict="0" --aux="1" --session="freenx" --type="unix-application" --id="09FEDE45FFF48173401652E3C2EB8FC0"

admin@127.0.0.1's password:
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
server_nxnode_echo: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 1009 Session status: resuming
server_nxnode_echo: NX> 1009 Session status: resuming
NX> 710 Session status: running
NX> 1002 Commit
NX> 1006 Session status: running
server_nxnode_echo: NX> 710 Session status: running
NX> 710 Session status: running
NX> 1002 Commit
NX> 1006 Session status: running
server_nxnode_echo: NX> 710 Session status: running
server_nxnode_echo: NX> 1002 Commit
session_status 09FEDE45FFF48173401652E3C2EB8FC0 Running
server_nxnode_echo: NX> 1002 Commit
server_nxnode_echo: NX> 1006 Session status: running
NX> 105 server_nxnode_echo: NX> 1006 Session status: running
NX> 700 Session id: myhost-2000-09FEDE45FFF48173401652E3C2EB8FC0
NX> 705 Session display: 2000
NX> 703 Session type: unix-application
NX> 701 Proxy cookie: f91d314844cbc1d0aa7fc33cee30c62f
NX> 702 Proxy IP: 127.0.0.1
NX> 706 Agent cookie: f91d314844cbc1d0aa7fc33cee30c62f
NX> 704 Session cache: unix-application
NX> 707 SSL tunneling: 1
server_nxnode_echo: NX> 700 Session id: myhost-2000-09FEDE45FFF48173401652E3C2EB8FC0
server_nxnode_echo: NX> 705 Session display: 2000
server_nxnode_echo: NX> 703 Session type: unix-application
server_nxnode_echo: NX> 701 Proxy cookie: f91d314844cbc1d0aa7fc33cee30c62f
server_nxnode_echo: NX> 702 Proxy IP: 127.0.0.1
bye
Bye
NX> 999 Bye
server_nxnode_echo: NX> 706 Agent cookie: f91d314844cbc1d0aa7fc33cee30c62f
server_nxnode_echo: NX> 704 Session cache: unix-application
server_nxnode_echo: NX> 707 SSL tunneling: 1
NX> 1009 Session status: suspending
session_status 09FEDE45FFF48173401652E3C2EB8FC0 Suspending
NX> 596 Error: Session restore failed. Reason was: Session: Display failure detected at 'Sun Nov 21 05:58:23 2010'.
server_nxnode_echo: NX> 596 Error: Session restore failed. Reason was: Session: Display failure detected at 'Sun Nov 21 05:58:23 2010'.
NX> 1005 Session status: suspended
server_nxnode_echo: NX> 1009 Session status: suspending
session_suspend 09FEDE45FFF48173401652E3C2EB8FC0
NX> 1001 Bye.
server_nxnode_echo: NX> 1001 Bye.
server_nxnode_echo: NX> 1005 Session status: suspended



зато если теперь прибить все процессы пользователя nx - то вместе с ними дохнет и суспенднутая сессия на сервере - "nxserver --list" ее больше не показывает и клиент спокойно коннектится с созданием новой сессии ....
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение dimbor »

Хокей!
На сервере для юзера nx все хорошо. Процессов не отнять, не прибавить. Но это только масенькая часть того, что должно оставаться при суспенднотой сессии.
Команда pstree -p admin должна выдавать, что-то вроде:

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

nxnode(17433)─┬─nxnode(17734)─┬─nxnode(17750)───nxagent(17932)
              │               ├─nxnode(17755)
              │               └─tee(17753)
              └─nxnode(17756)───Xsession(18971)───startkde(19075)─┬─kwrapper(19134)
                                                                   └─ssh-agent(19076)
Конец нижней ветки будет засуспенденной прогой.

Есть такое дело?
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

dimbor писал(а):
21.11.2010 05:11
Есть такое дело?


да такое дело есть
после суспенда:

pstree -p admin

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

sshd(1842)───nxnode(1843)─┬─nxnode(2208)─┬─nxnode(2213)───nxagent(2266)
                          │              ├─nxnode(2215)
                          │              └─tee(2214)
                          └─nxnode(2216)───Xsession(2299)───startkde(2341)─┬─kwrapper(2394)
                                                                           └─ssh-agent(2342)



nxserver --list


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

NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 127 Sessions list:

Server     Display Username        Remote IP       Session ID
------ ------- --------------- --------------- --------------------------------
127.0.0.1       2000    admin   -       207DFC396056F3AD0BC41251D223DBBE
NX> 999 Bye


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

при попытке подняться из суспенда:

pstree -p admin

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

sshd(1842)───nxnode(1843)─┬─nxnode(2208)─┬─nxnode(2213)───nxagent(2266)───nxagent(7994)
                          │              ├─nxnode(2215)
                          │              └─tee(2214)
                          └─nxnode(2216)───Xsession(2299)───startkde(2341)─┬─kwrapper(2394)
                                                                           └─ssh-agent(2342)

sshd(7701)───nxnode(7702)─┬─nxnode(7974)
                          └─tail(7973)


nxserver --list

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

NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
NX> 127 Sessions list:

Server     Display Username        Remote IP       Session ID
------ ------- --------------- --------------- --------------------------------
127.0.0.1       2000    admin   192.168.0.110   207DFC396056F3AD0BC41251D223DBBE
NX> 999 Bye


уж и не знаю, навсякий бросаю свои конфиги сервера из /etc/nxserver/node.conf.d


может здесь где затык .... :(
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

ну ситуация следующая:
для шевеления суспенда создал параллельную тему вечноспящий suspend на rx@etersoft в archlinux , дабы этот пост не засорять соплями и слезами о (пока) несбывшемся

На сегодняшний момент потихоньку включаю терминал у себя на вокзале в локальной сети - потому и мысли о суспенде перенесены на относительно туманное отдаленное будущее
чтоб не споткнутся об неподъемный после сна клиент (и не выслушивать недовольство юзверей)- в рабочей версии отложенные сессии запретил

/etc/nxserver/node.conf.d/02-restriction.conf

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

# User for which sessions should be persistent. Either the keyword "all" or a
# comma-separated list of usernames or groups in the @groupname syntax.
ENABLE_PERSISTENT_SESSION=""

# Users and groups for whom persistent sessions should be disabled.
# Especially useful if ENABLE_PERSISTENT_SESSION="all"
DISABLE_PERSISTENT_SESSION="all"


с такими настройками еду дальше - начну потихонечку прилаживать remserial в меру умения и понимания вопроса.
На данный момент он (remserial) стартует отдельно от связки nx клиент-сервер пора их "дружить" :) .
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

oldbay писал(а):
22.11.2010 17:58
ну ситуация следующая:
для шевеления суспенда создал параллельную тему вечноспящий suspend на rx@etersoft в archlinux , дабы этот пост не засорять соплями и слезами о (пока) несбывшемся


В общем проблемы сна и пробуждения на данном этапе считаю побеждёнными , решения оказалось немного специфическим: скрестить freenx от etersoft с nx-ом из арчевских репозиториев + пришлось сделать (пока) костыль для торможения процесса ремоунта шар и принтеров при просыпании сессии (новый параметр в 07-misc.conf NODE_START_MONITOR_WAIT_TIMEOUT)

на сегодняшний момент работают: самба шары, проброс принтера по ipp (с самбапринтером не очень пока разбирался - были вроде какие то проблемы), засыпания и просыпание в обнимку с шарами (ударение на первый слог :) ), работа под нативным и opennx клиентом

то что получилось находится здесь:

либо здесь: http://aur.archlinux.org/packages.php?ID=44449
либо установть при помощи "йогурта": yaourt freenx-dimbor-git

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

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

Re: rx@etersoft под archlinux

Сообщение dimbor »

oldbay писал(а):
17.12.2010 02:58
по мере внесения изменений автором в гит - буду менять пеленки пакбилды

Даже принимая во внимание, что в ментейнерстве я "лох чилийский" ©, хочется высказать для начала несколько мыслей на тему арча и вообще:

Итак, если вас съели, имеется два выхода. Применительно к freenx - два пути. Первый модный - модернизаций и инноваций. По нему предлагается идти, да только он чреват умножением сущностей, граблей, путаницы и дурной работы. Второй - путь любимого персонажа с бритвой (Окам - фамилие). Пусть будет унификация и интеграция.
Конкретнее - о файле arch.diff. Не должно быть его, пусть даже ценой пересборки nx-3.?.?.
Обсуждалось выше - не должно оно лежать в opt. Упомянутая наружность, мягко говоря, плохо подумало, когда пакет собирало.

Про nxnode:
1) корректнее будет:

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

[ -n "$NODE_START_MONITOR_WAIT_TIMEOUT" -a $NODE_START_MONITOR_WAIT_TIMEOUT -ne 0 ] && sleep $NODE_START_MONITOR_WAIT_TIMEOUT

2) куда делся параметр $1, и нафига там новая функция cmd_node_autostar?

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

-    NXSESSIONID="$sess_id" DISPLAY=:$display "$NODE_AUTOSTART" "$1" >/dev/null 2>&1 &
+    NXSESSIONID="$sess_id" DISPLAY=:$display cmd_node_autostart &


можно ведь просто:

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

+    [ -n "$NODE_START_MONITOR_WAIT_TIMEOUT" -a $NODE_START_MONITOR_WAIT_TIMEOUT -ne 0 ] && sleep $NODE_START_MONITOR_WAIT_TIMEOUT
    NXSESSIONID="$sess_id" DISPLAY=:$display "$NODE_AUTOSTART" "$1" >/dev/null 2>&1 &


Это все было не просто брюзжание, есть просто идейка "обинаривания" freenx, активно сейчас мозгуемая. А Вы же не хотите отсечь юзеров арча от сияющих далей? ;)

UPD: исправил чуть-чуть.
Спасибо сказали:

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

dimbor писал(а):
17.12.2010 06:33
Обсуждалось выше - не должно оно лежать в opt. Упомянутая наружность, мягко говоря, плохо подумало, когда пакет собирало.


тоже так думал что не должно там лежать и взялся было ,со всей ответственностью, за персборку с локализацией в /usr nx-common и nxserver (в репах бинари разбиты на две пакеты - первый нужен для жизни только с клиентом , второй дополнительно для freenx и neatx) И фокус не вышел - наткнулся на ряд конфликтов, в основном с esound, тот уже разложил в /usr/bin

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

esound /usr/bin/esd-config
esound /usr/bin/esdcat
esound /usr/bin/esdctl
esound /usr/bin/esddsp
esound /usr/bin/esdfilt
esound /usr/bin/esdloop
esound /usr/bin/esdmon
esound /usr/bin/esdplay
esound /usr/bin/esdrec
esound /usr/bin/esdsample


а вот у nx-common тоже есть в /opt/NX/bin

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

nx-common /opt/NX/bin/esd-config
nx-common /opt/NX/bin/esdcat
nx-common /opt/NX/bin/esdctl
nx-common /opt/NX/bin/esddsp
nx-common /opt/NX/bin/esdfilt
nx-common /opt/NX/bin/esdloop
nx-common /opt/NX/bin/esdmon
nx-common /opt/NX/bin/esdplay
nx-common /opt/NX/bin/esdrec
nx-common /opt/NX/bin/esdsample


что esd забыл в nx-common - не знаю (боюсь что что то связанное с пробросом звука), не очень хочу убивать потенциальный функционал, - и потому выжигать его оттуда каленым железом не стал и оставил все как есть.

Есть еще одна сложность: nx-common и nxserver лежит в официальной ветке репозитория - extra (а не в ауре), и потому все что собирается для пользы nx - делается исходя из этого (neatx - сервер от гугла, нативный nxclient, opennx, qtnx, да и просто разные nx - ориентированные скрипты из аура), и потому не хотелось бы еще тянуть параллельную ветку разработки - там где можно оставить хлеб мантейнеру :)

dimbor писал(а):
17.12.2010 06:33
1) корректнее будет:

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

[ -n "$NODE_START_MONITOR_WAIT_TIMEOUT" -a $NODE_START_MONITOR_WAIT_TIMEOUT -ne 0 ] && sleep $NODE_START_MONITOR_WAIT_TIMEOUT


ага - корректнее, поправлю

dimbor писал(а):
17.12.2010 06:33
2) куда делся параметр $1, и нафига там новая функция cmd_node_autostar?

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

-    NXSESSIONID="$sess_id" DISPLAY=:$display "$NODE_AUTOSTART" "$1" >/dev/null 2>&1 &
+    NXSESSIONID="$sess_id" DISPLAY=:$display cmd_node_autostart &


можно ведь просто:

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

+    [ -n "$NODE_START_MONITOR_WAIT_TIMEOUT" -a $NODE_START_MONITOR_WAIT_TIMEOUT -ne 0 ] && sleep $NODE_START_MONITOR_WAIT_TIMEOUT
    NXSESSIONID="$sess_id" DISPLAY=:$display "$NODE_AUTOSTART" "$1" >/dev/null 2>&1 &


мда -$1 действительно потерял , так как пускал в автостарт уже готовые скрипты либо какой нибудь ФФ без аргументов

В принципе необходимость таймаута возникла ввиду поспешнго старта - еще до подъема иксов - для консольных приложений некритично, ну вот для остальных фатально (display не найден).
Вся сложность здесь в том - что если переборщишь с таймаутом для NODE_AUTOSTART - то сессия "воощпе" не поднимется, а вот если пускать приложение в фоне с предварительным таймаутом - то подъем сессии ,все одно, происходит. Поначалу просто делал скрипт со слипом вначале, ну а потом решился на функцию - возможно сие можно избежать, но пока не знаю как.
Спасибо сказали:

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

Re: rx@etersoft под archlinux

Сообщение dimbor »

oldbay писал(а):
17.12.2010 09:34
Вся сложность здесь в том - что если переборщишь с таймаутом для NODE_AUTOSTART - то сессия "воощпе" не поднимется, а вот если пускать приложение в фоне с предварительным таймаутом - то подъем сессии ,все одно, происходит. Поначалу просто делал скрипт со слипом вначале, ну а потом решился на функцию - возможно сие можно избежать, но пока не знаю как.

А-а-а! Допер, кажись - нужно в фоне ждать. Что-то вроде:

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

NXSESSIONID="$sess_id" DISPLAY=:$display { [ -n "$NODE_START_MONITOR_WAIT_TIMEOUT" -a $NODE_START_MONITOR_WAIT_TIMEOUT -ne 0 ] && \
sleep $NODE_START_MONITOR_WAIT_TIMEOUT; "$NODE_AUTOSTART" "$1" >/dev/null 2>&1; } &

Возможно понадобится () вместо {} - но это методом тыка

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

oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

dimbor писал(а):
18.12.2010 02:21
А-а-а! Допер, кажись - нужно в фоне ждать. Что-то вроде:

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

NXSESSIONID="$sess_id" DISPLAY=:$display { [ -n "$NODE_START_MONITOR_WAIT_TIMEOUT" -a $NODE_START_MONITOR_WAIT_TIMEOUT -ne 0 ] && \
sleep $NODE_START_MONITOR_WAIT_TIMEOUT; "$NODE_AUTOSTART" "$1" >/dev/null 2>&1; } &

Возможно понадобится () вместо {} - но это методом тыка


ага - похоже на нужную таблэтку = буду испытывать препарат на крысюках :)

dimbor писал(а):
18.12.2010 02:21
Вот только вот ни разу не слышал восторженных отзывов меломанов от nx-саунда.


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

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

Re: rx@etersoft под archlinux

Сообщение dimbor »

oldbay писал(а):
18.12.2010 02:34
ага - похоже на нужную таблэтку = буду испытывать препарат на крысюках :)

А если копнуть глубже? Морить, так морить!
Голимый слип - некошерно, как было правильно отмечено.
За что здесь можно зацепиться:
oldbay писал(а):
17.12.2010 09:34
В принципе необходимость таймаута возникла ввиду поспешнго старта - еще до подъема иксов - для консольных приложений некритично, ну вот для остальных фатально (display не найден).

Восстановление после суспенда, значится "подъем иксов"- не совсем корректный термин. Иксы со всем фаршем болтаются в памяти и завязаны в суспенде на nxagent. При restore ждется не просто display, а рабочий display.
Т.е. надо ожидать не просто завершения операции kill -HUP $NODE_AGENT_PID из node_suspend_session(), а еще и завершения процесса подключения агента к клиентскому x-серверу, олицетворяющейся строчкой:
Session: Session resumed at ...

...которую ловит node_start_monitor(), запуск которого изо всех сил стараемся затормозить. Парадокс, однако.
Или ловить еще и такую строчку?
Info: Established X client connection.


UPD: Хотя при уходе в суспенд имеется шаманство с $NODE_SUSPEND_STATUS и запуск node_suspend_session() посредством node_start_monitor() - наоборот получается. Запутался окончательно гадать на nxnode, короче ;)
Спасибо сказали: