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

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

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

rx@etersoft под archlinux

Сообщение oldbay »

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

После мучительного выбора между 3 свободными реализациями nx сервера доступного для archlinux - остановился на решении от etersoft - устроило то что проект жив и динамично развивается (что увы не могу сказать о нативном freenx или neatx)
для установки брались пакеты версии 1.1.1 для арча с http://updates.etersoft.ru/pub/Etersoft/RX...hLinux/2010.05/

сразу насторожило то что в этих пакетах пакетах отсутствуют постинсталляционные скрипты и зависимости, потому перед установкой в системе должны быть следующее:
для полноценного функционирования системы в целом - на клиенте и сервере
pacman -S openssh samba cups alsa

для сервера с rx-etersoft-1.1.1 и nx-3.4.0
pacman -S bc netcat expect

для клиента с nxclient-3.4.0.7
yaourt -S libpng12
или самостоятельно собрать libpng12 из аура

ввиду отсутствия постинсталляционного скрипта - нужно создать пользователя nx c домашним каталогом в /var/lib/nxserver/home
useradd -d /var/lib/nxserver/home nx
и задать этому пользователю пароль
passwd nx (либо просто разблокировать пользователя)

изменить AuthorizedKeysFile в /etc/ssh/sshd_config c .ssh/authorized_keys на .ssh/authorized_keys2
зачем такой странный AuthorizedKeys - создается в freenx мне не совсем понятно, - но если нервирует данное название можно использовать sed -i -e 's,authorized_keys2,authorized_keys,g' nxloadconfig в /usr/bin после установки rx-etersoft - как это сделано при сборке freenx из арчевских репов

и уже поле описанных телодвижений - можно ставить пакетты от etersoft
но на этом борьба с удавом только начинается:

скрипт старта freenx - находится в /etc/init.d/freenx-server (хотя странное расположение подобных скриптов для арча, все таки нужно было использовать каталог /etc/rc.d) - по большому счету он нужен только для первого запуска и формирования ключей для ssh

далее запускал сначала /etc/init.d/freenx-server start а только затем /etc/init.d/freenx-server setup - по ходу setup будет вопрос про то какой ключ использовать самопальный или номашиновский, ну тут солим по вкусу :)

в принципе можно пробовать соединяться клиентом к серверу - но коннекта не произойдет (не успев открыться сессия валится), кувыряние в логах сервера указали на проблемы с libjpeg, на данном вопросе остановлюсь отдельно в конце поста, а пока в клиенте идем в dysplay - settings и вырубаем всякое упоминание JPEG compression
Теперь соединение происходит но если попытаться подключить к сессии самба шары или самба принтер - то получаем epic fail с матюками в логах.

пилим дальше:

samba шару монтировать придется по протоколу cifs (соответственно правим в /etc/nxserver/node.conf.d/10-samba.conf SAMBA_MOUNT_SHARE_PROTOCOL="cifs")
у арча не установлен suid бит на mount.cifs и umount.cifs - поэтому обычный пользователь не сможет монтировать без повышения своих привилегий. Для себя нашел не очень элегантный выход - изменил в /etc/nxserver/node.conf
COMMAND_SMBMOUNT_CIFS="sudo /sbin/mount.cifs"
и
COMMAND_SMBUMOUNT_CIFS="sudo /sbin/umount.cifs"
а пользователю через /etc/sudoers - разрешил монтирование самба шар

samba принтер запускал через создание отдельной cups сессии для пользователя на сервере
такой метод не будет работать до тех пор пока не изменишь права на cupsd и ipp
поэтому:
chmod 755 /usr/lib/cups/backend/ipp
chmod 755 /usr/sbin/cupsd
ну и как часто советуют на форуме
в /etc/nxserver/node.conf.d/09-cups.conf поставить ENABLE_KDE_CUPS="0"

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

но не все спокойно в Датском королевстве
нарвался таки на косяк который переварить сам не смог - это сжатие по jpeg. Как уже ранее указывал, я просто отключил JPEG compression , чтоб до поры до времени глаза не мозолило. Если ж включить сию полезную функцию - то доходит до начала запуска иксов после чего полный terminating , а в /home/user/.nx/длинный_номер_сессии/session пишет следующее:

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

NXAGENT - Version 3.4.0

Copyright (C) 2001, 2010 NoMachine.
See http://www.nomachine.com/ for more information.

Info: Agent running with pid '444'.
Session: Starting session at 'Sat Nov  6 05:22:32 2010'.
Info: Proxy running in server mode with pid '444'.
Info: Waiting for connection from '127.0.0.1' on port '6001'.
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 ':2001'.
Info: Listening to SMB connections on port '5001'.
Info: Established X client connection.
Info: Using shared memory parameters 1/1/1/2048K.
Info: Using alpha channel in render extension.
Info: Using local device configuration changes.
InitOutput: Set ru_RU.UTF-8 locale
keyboard file created
SessionPath not defined
Session: Session started at 'Sat Nov  6 05:22:35 2010'.
Info: Accepted new connection to SMB server.
Wrong JPEG library version: library is 62, caller expects 80


внимание привлекает Wrong JPEG library version: library is 62, caller expects 80 , но не приводит ни к каким путным мыслям, в системе установлены как libjpeg 8.0.2-1 так и libjpeg6 6b-9 и соостветсвенно в /usr/lib:
libjpeg.so.62
libjpeg.so.62.0.0
libjpeg.so.8
libjpeg.so.8.0.2
тоже имеется - что не хватает конкретно freenx непонимаю, кроме того радует присутствие библиотек:
libjpeg-turbo.so.62
libjpeg-turbo.so.62.0.0
которые устанавливаются вместе с nx 3.4.0-eter11archlinux и которые,по всей логике, должен использовать freenx сервер. Причем freenx из репозиториев этой проблемой не страдает и жмет картинки по jpeg без каких либо лишних воросов и библиотек - вполне удовлетворяясь libjpeg 8.0.2-1 "искоропки".
вот по большому счету и все что смог сделать с данным продуктом :)

п.с:
Ещеб очень хотелось взглянуть на PKGBULDы на пакеты rx-etersoft-1.1.1-eter5archlinux и nx-3.4.0-eter11archlinux, да подправить их слегка - чтоб не плясать ,каждый раз, с бубном перед установкой сервера.... да к тому же может как раз в сценарии сборки и всплывет косяк с libjpeg

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

Re: rx@etersoft под archlinux

Сообщение dimbor »

oldbay писал(а):
06.11.2010 02:54
Ну вот наконец появилась возможность выложить результаты борьбы со сборкой rx@etersoft - для archlinux

После мучительного выбора между 3 свободными реализациями nx сервера доступного для archlinux - остановился на решении от etersoft - устроило то что проект жив и динамично развивается (что увы не могу сказать о нативном freenx или neatx)

Очень положительный квест, стимулирующий дальнейшее развитие. На таких и стоим.

oldbay писал(а):
06.11.2010 02:54
скрипт старта freenx - находится в /etc/init.d/freenx-server (хотя странное расположение подобных скриптов для арча, все таки нужно было использовать каталог /etc/rc.d) - по большому счету он нужен только для первого запуска и формирования ключей для ssh

Да, действительно, на самом деле старт freenx - это nxserver как login-shell. А танцы на костылях исполняют еще одну важную функцию кроме упомянутых.
cat /etc/init.d/freenx-server | grep -i description
# description: Starts and stops the FreeNX service
# Short-Description: FreeNX Server
# Description: Cleanup FreeNX Server session database at boot time

В ту же строку лыко %_sysconfdir/cron.hourly/terminate-suspend-nx.sh (По всему этому хозяйству сейчас собирается статистика на рабочих серверах. Предварительно там еще надо pkill nxserver; pkill nxnode; pkill tee; rm -f /tmp/.nX*-lock периодически.)

oldbay писал(а):
06.11.2010 02:54
samba шару монтировать придется по протоколу cifs (соответственно правим в /etc/nxserver/node.conf.d/10-samba.conf SAMBA_MOUNT_SHARE_PROTOCOL="cifs")
у арча не установлен suid бит на mount.cifs и umount.cifs - поэтому обычный пользователь не сможет монтировать без повышения своих привилегий. Для себя нашел не очень элегантный выход - изменил в /etc/nxserver/node.conf
COMMAND_SMBMOUNT_CIFS="sudo /sbin/mount.cifs"
и
COMMAND_SMBUMOUNT_CIFS="sudo /sbin/umount.cifs"
а пользователю через /etc/sudoers - разрешил монтирование самба шар

Эти и прочие проблемы должен поднимать в полный рост nxloadconfig --check.
При ENABLE_SHARE_MULTIMOUNT="1" оно так делается автоматически, если suid есть, но не работает.

oldbay писал(а):
06.11.2010 02:54
Причем freenx из репозиториев этой проблемой не страдает и жмет картинки по jpeg без каких либо лишних воросов и библиотек - вполне удовлетворяясь libjpeg 8.0.2-1 "искоропки".

п.с:
Ещеб очень хотелось взглянуть на PKGBULDы на пакеты rx-etersoft-1.1.1-eter5archlinux и nx-3.4.0-eter11archlinux, да подправить их слегка - чтоб не плясать ,каждый раз, с бубном перед установкой сервера.... да к тому же может как раз в сценарии сборки и всплывет косяк с libjpeg

Предлагаю самостоятельно дожимать сборку на конфигах из доступных репов, но для новых пакетов, а потом слать эти конфиги в Этерсофт (копии - в Спортлото и генпрокурору). Как показала практика, такой путь гарантированно приведет к победе раньше прочих.
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

dimbor писал(а):
06.11.2010 09:40
Предлагаю самостоятельно дожимать сборку на конфигах из доступных репов, но для новых пакетов


нативная сборка из арчрепов достаточно сильно отличается от исходников и этерсофтовской сбоки (сырцы перепатчены ,реконфигурированы и все перенесено на калыму в /opt/NX ), хотя никто не мешает допатчить ее тем что было произведено в рамках проекта rx@etersoft.
Тут у меня скорее дилемма рационального использования времени = либо накладывать патчи от etesoft на нативный freenx и из двух продуктов пытаться синтезировать один (старинным алхимическим методом), либо разобраться с единственной проблемой что у меня осталась с этерсофтовской сборкой связанной с таинственным синтезом libjpeg в котле великого rx - а тут сплошные вопросы:
в http://updates.etersoft.ru/pub/Etersoft/RX...ources/tarball/ явно присутсвует libjpeg-turbo-0.0.90.tar.gz, после сборки - от которого в /usr/lib образуется libjpeg-turbo.so.62 и libjpeg-turbo.so.62.0.0, эти библиотеки и должен вроде использовать freenx сервер для сжатия графики, но он какого то ищет совсем в другом месте...
поэтому и хотел взглянуть на PKGBULD , сравнить его с радным из ABS и пийти к глубокому пониманию кого и куда патчить - чтоб усё работало.

п.с: в конце концов на сегодняшним этапе освоение nx, rgb сжатия мне более чем достаточно - эксплуатируется все в локальной сети и нет пока планов вывода терминала через узкие каналы аля ADSL или ,прости господи, DialUP (просто приятнее когда все работает - и ты можешь сие богачество применить).
Более животрепещущий вопрос это проброс com порта через ту же систему используя ssh туннелинг от freenx - дабы подключить фискальный регистратор (сейчас использую ser2net + cyclades-ser-cli - без всякого ssh) и lpt для печати напрямую в порт - минуя cups (все таки у нас автовокзал и в ТП используется матричная печать, а графическая только для "красывывешных отчетов начальству" с таблицами графиками и прочей лабудой)
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: rx@etersoft под archlinux

Сообщение dimbor »

oldbay писал(а):
06.11.2010 18:57
сырцы перепатчены ,реконфигурированы и все перенесено на калыму в /opt/NX

С хрена ли в opt засунуто? Некрасиво. По уму там самое место лишь родному закрытому клиенту под линукс, да вот только нигде его туда не кладут, насколько мне известно. Остальное то все ЖПЛ в чистом виде. За конфигами имеет смысл обратиться личкой к baraka - он теперь в Этерсофте по nx-у самый главный. Не вижу поводов не попытаться.

oldbay писал(а):
06.11.2010 18:57
Тут у меня скорее дилемма рационального использования времени = либо накладывать патчи от etesoft на нативный freenx и из двух продуктов пытаться синтезировать один (старинным алхимическим методом), либо разобраться с единственной проблемой что у меня осталась с этерсофтовской сборкой ...

Либо есть еще вариант, подразумевающий рациональное использование времени. То, что было названо "nxserver", состоит из двух частей: пакет rx-etersoft (он же freenx, да здравствует дальнейшая путаница) - менеджмент сессий, реализуемый набором скриптов. И пакет nx (этот пока не переименовывали, хоть попытки и были) - в нем живет самая суть технологии nx. Так вот, эти две части друг с другом связаны почти никак. Т.е. rx можно оставить текущий, а nx поставить 3.3.0 - там этого маловразумительного турбо еще не было. На фтп-шнике его под арч нарыть можно - 1.0.0 2009.02. Не думаю, что с установкой будут проблемы - мы тут не так давно в геологическом смысле бинарник nxagent с альта на убнту перекидывали по надобности - прокатило, к моему удивлению.
Более того, не доверяю я пока 3.4 - на рабочих серверах (4-х) стоит 3.3.

oldbay писал(а):
06.11.2010 18:57
Более животрепещущий вопрос это проброс com порта через ту же систему используя ssh туннелинг от freenx - дабы подключить фискальный регистратор

Мои клиенты в розницу не торгуют - увы, пока не в теме. Хотя читал краем глаза здесь что-то про rem2serial, но могу врать - поищите по форуму. Даже еще не знаю срастется ли все это дело без расковыривания клиентской части. Нет - значит только opennx допиливать.
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: rx@etersoft под archlinux

Сообщение DjSpike »

Djelf обещал вроде к opennx прикрутить проброс портов....
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

dimbor писал(а):
06.11.2010 20:51
С хрена ли в opt засунуто? Некрасиво. По уму там самое место лишь родному закрытому клиенту под линукс, да вот только нигде его туда не кладут, насколько мне известно. Остальное то все ЖПЛ в чистом виде.


вот такая прихоть мантейнера :)
причем те кто сие делал, полностью спалились, прописав свои имена и фамилии в шапке PKGBULDа для сборки пакета

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

# $Id: PKGBUILD 75689 2010-04-02 17:16:35Z andyrtr $
# Maintainer Tobias Powalowski <tpowa@archlinux.org>
# Contributed: eliott <eliott@solarblue.net>, Andre Naumann <anaumann@SPARCed.org>
pkgname=nx-common
pkgver=3.4.0
pkgrel=4
pkgdesc="NoMachine NX common package for client and server"
arch=('i686' 'x86_64')
license=('GPL')
url="http://nomachine.com/"
depends=('libjpeg>=8' 'libpng>=1.4.0' 'openssl>=1.0.0' 'gcc-libs' 'audiofile' 'alsa-lib' 'bash')
source=(\
#Compression libs and proxy sources
http://64.34.161.181/download/$pkgver/sources/nxcomp-$pkgver-7.tar.gz \
http://64.34.161.181/download/$pkgver/sources/nxssh-$pkgver-2.tar.gz \
# ESD Support
http://64.34.161.181/download/$pkgver/sources/nxesd-$pkgver-2.tar.gz
# 64bit fixes
NXproto.h.64bit.diff
nx-gcc44.patch)
options=(!libtool)
md5sums=('cba926f2b855231a8fc3e0dabff52855'
         '18b81d850223ea84de244f8a9509c4b1'
         '65d55f2a86baa59343432261cabd52ec'
         '58341ba70dfab92ff38570071fbbf88a'
         'c805442f1500d8d6de15ec224f63277e')

build() {
  cd ${srcdir}
#  patch -Np1 -i ${srcdir}/nx-gcc44.patch

  mkdir -p ${pkgdir}/opt/NX/bin
  mkdir -p ${pkgdir}/opt/NX/lib

  cd ${srcdir}/nxcomp
  if [ "$CARCH" = "x86_64" ]; then
    patch -Np1 -i ../NXproto.h.64bit.diff  || return 1
  fi

  ./configure --prefix=/opt/NX
  make || return 1
  cp -a libXcomp.so.* ${pkgdir}/opt/NX/lib
  cd ${pkgdir}/opt/NX/lib
  ln -s libXcomp.so.1 libXcomp.so

  cd ${srcdir}/nxssh
  ./configure --prefix=/opt/NX
  make || return 1
  install -D -m755 nxssh ${pkgdir}/opt/NX/bin/nxssh

  cd ${srcdir}/nxesd
  ./configure --prefix=/opt/NX
  make || return 1
  make DESTDIR=${pkgdir} install || return 1
  # fix libxcomp linking
  cd ${pkgdir}/opt/NX/lib
  ln -s libXcomp.so.3 libXcomp.so.1
}


Tobias Powalowski вот кто этот "коварный тип гражданской наружности" :)

тут при конфигурировании как клиента так и сервера применяется ./configure --prefix=/opt/NX

dimbor писал(а):
06.11.2010 20:51
За конфигами имеет смысл обратиться личкой к baraka - он теперь в Этерсофте по nx-у самый главный. Не вижу поводов не попытаться.


спасибо за наводку - пойду с челобитной к baraka - авось что прояснится с PKGBULDами от etersoft.
Причем в логах сборки из http://updates.etersoft.ru/pub/Etersoft/RX...ux/2010.05/log/ - светится username korinfer

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

+ tar xzf /home/korinfer/RPM/SOURCES/nxagent-3.4.0-11.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxauth-3.4.0-3.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxcomp-3.4.0-7.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxcompext-3.4.0-1.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxcompsh-3.4.0-2.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxcompshad-3.4.0-3.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxesd-3.4.0-2.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxproxy-3.4.0-2.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxscripts-3.4.0-1.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxservice-3.4.0-2.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxssh-3.4.0-2.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nxwin-3.4.0-5.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/nx-X11-3.4.0-4.tar.gz
+ tar xzf /home/korinfer/RPM/SOURCES/libjpeg-turbo-1.0.0.tar.gz


- не нашел аналогичного ника при поиске на форуме :( (хотя username не всегда персонифицированны)

dimbor писал(а):
06.11.2010 20:51
Либо есть еще вариант, подразумевающий рациональное использование времени. То, что было названо "nxserver", состоит из двух частей: пакет rx-etersoft (он же freenx, да здравствует дальнейшая путаница) - менеджмент сессий, реализуемый набором скриптов. И пакет nx (этот пока не переименовывали, хоть попытки и были) - в нем живет самая суть технологии nx. Так вот, эти две части друг с другом связаны почти никак. Т.е. rx можно оставить текущий, а nx поставить 3.3.0 - там этого маловразумительного турбо еще не было. На фтп-шнике его под арч нарыть можно - 1.0.0 2009.02. Не думаю, что с установкой будут проблемы - мы тут не так давно в геологическом смысле бинарник nxagent с альта на убнту перекидывали по надобности - прокатило, к моему удивлению.
Более того, не доверяю я пока 3.4 - на рабочих серверах (4-х) стоит 3.3.


вот это спасибо за совет и разъяснения = буду пробовать, о результатах отпишусь

dimbor писал(а):
06.11.2010 20:51
Мои клиенты в розницу не торгуют - увы, пока не в теме. Хотя читал краем глаза здесь что-то про rem2serial, но могу врать - поищите по форуму. Даже еще не знаю срастется ли все это дело без расковыривания клиентской части. Нет - значит только opennx допиливать.


внеочередной раз senks за наводку , гляну что за rem2serial....

что касается кувыряния в клиенте - то тут конечно еще конь не валялся,как говорится "стрижка только началась".
В теории я понимаю что ssh туннели наводятся со стороны клиента во время старта сессии (используя для авторизации юзера nx с его dsa ключами) - и создают на сервере новые сокеты для проброса Xов, samba(принтеров и шар на разных портах), звука и cups-а (если стоят соответствующие галочки) ; честно не знаю откуда это организует клиент и можно ли будет ему подкинуть еще пару тунельчиков для com и lpt. Посмотреть внимательнее на opennx идея весьма привлекательная - тем более я видел на его интерфейсе попытку поддержки еще одного девайса (smart-карты), правда не знаю насколько сие реализовано, но попытка внушает надежду.
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

DjSpike писал(а):
06.11.2010 23:29
Djelf обещал вроде к opennx прикрутить проброс портов....


очень инересно - а где он патчит opennx, можно направление получить?
Спасибо сказали:
Djelf
Сообщения: 615
ОС: Гигтег+Цшт32

Re: rx@etersoft под archlinux

Сообщение Djelf »

oldbay писал(а):
06.11.2010 23:37
очень инересно - а где он патчит opennx, можно направление получить?

В прикрепленной теме.
По сабжу: проброс портов сделать не сложно, "для себя" это копи-паст очень небольшого кусочка кода, для всех - чуток подольше (нужны какие то менюшки и галочки), кроме того нужна обвязка на сервере (в принципе тоже копи-паст), но ведь это дело придется потом как-то поддерживать, а вот с этим - БОЛЬШАЯ проблема.
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: rx@etersoft под archlinux

Сообщение dimbor »

oldbay писал(а):
06.11.2010 23:31
Причем в логах сборки из http://updates.etersoft.ru/pub/Etersoft/RX...ux/2010.05/log/ - светится username korinfer
...
- не нашел аналогичного ника при поиске на форуме :( (хотя username не всегда персонифицированны)

Этот тип не имеет наружности никакой, одни внутренности, тормозные причем до крайности - мою ветку freenx собирать отказывается за нехваткой ресурсов. korinf - это их автоматическая система сборки. ;)

UPD: Идея, кста. Ща как зарегистрируюсь под ником korinfer и как начну писать гадости всякие про всех. (шютка)
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: rx@etersoft под archlinux

Сообщение dimbor »

Djelf писал(а):
07.11.2010 00:04
кроме того нужна обвязка на сервере (в принципе тоже копи-паст), но ведь это дело придется потом как-то поддерживать, а вот с этим - БОЛЬШАЯ проблема.

С обвязкой на сервере проблем не будет, только намекни, что нужно. Сейчас весь во фриэныксе по макушку, что должно быть понятно из доносящейся из соседней темы вони. ;)
В чем проблема пока не понимаю - от сторонних продуктов оно не будет зависить (etercifs-a, ядер... etc). Всего-то транспорт организовать туннельный, а на оба его конца можно цеплять что-то и без дальнейшей поддержки.
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Т.е. rx можно оставить текущий, а nx поставить 3.3.0 - там этого маловразумительного турбо еще не было. На фтп-шнике его под арч нарыть можно - 1.0.0 2009.02. Не думаю, что с установкой будут проблемы


таак - выводы dimbora по nx версии 3.3.0 собранной без всякой лабуды связанной с libjpeg-turbo, оказались "железобетонно" верными.
После установки на сервер nx-3.3.0-eter18archlinux-i686.pkg.tar.gz и на клиента nx-3.3.0-eter18archlinux-i686.pkg.tar.gz + nxclient-3.3.0.6-eter6archlinux-i686.pkg.tar.gz - libjpeg наконец то заработал, причем действительно выдал приличный "визуальный" прирост скорости отрисовки - чему я несказанно рад :)
С клиентом пришлось повозится слегка - потребовалось устанавливать библиотеку libcrypto.so.0.9.8 из AUR - без нее nxclient-3.3.0.6-eter6archlinux работать отказывался , причем клиента пришлось откатывать из за того что nx-3.4.0-eter11archlinux (собранный с пресловутым libjpeg-turbo) + nxclient-3.4.0.7-eter1archlinux нормально отобразить картинку жатаую через jpeg ,в другой версии библиотеки, с сервера - нормально не смогли -все стало голубым и зеленым :) .
После смены клиента заметил другой баг - проброшенный через samba принтер перестал глобально рисоваться в сессии, несмотря на то что в /etc/nxserver/node.conf.d/09-cups.conf стоит ENABLE_KDE_CUPS="0"(раньше такое конечно ,иногда, случалось - но теперь способ вообще не работает), при том что локальная сессия cups для этого принтера нормально поднялась - и если зайти на localhost:11000(порт проброса) - то принтер виден и пускает тестовые страницы . В других постах читал ,где то, про борьбу с данным явлением - придется посмотреть внимательнее... тем более что в голове стали зреть мысли о более глубоком исследовании opennx .

dimbor писал(а):
07.11.2010 00:50
Djelf писал(а):
07.11.2010 00:04
кроме того нужна обвязка на сервере (в принципе тоже копи-паст), но ведь это дело придется потом как-то поддерживать, а вот с этим - БОЛЬШАЯ проблема.

С обвязкой на сервере проблем не будет, только намекни, что нужно. Сейчас весь во фриэныксе по макушку, что должно быть понятно из доносящейся из соседней темы вони. ;)
В чем проблема пока не понимаю - от сторонних продуктов оно не будет зависить (etercifs-a, ядер... etc). Всего-то транспорт организовать туннельный, а на оба его конца можно цеплять что-то и без дальнейшей поддержки.


самому весьма интересна и необходима тема проброса tty и lp - могу помочь во всяческом тестировании и "кувырянии" вопроса, - через com у меня работают фискальники ПРИМ-08 ТК (есть специальная жертва для тестов), кроме того могу специально насиловать старые usrobotics DialUP модемы, и новые huawei флешкомодемы с виртуальными com портами; по принтерам тоже имеется некоторое богачество (всех и не упомнишь).
Спасибо сказали:
Djelf
Сообщения: 615
ОС: Гигтег+Цшт32

Re: rx@etersoft под archlinux

Сообщение Djelf »

oldbay писал(а):
07.11.2010 01:41
есть специальная жертва для тестов

Без жертвы тут точно не обойтись :tongue:
Первое что нужно - работоспособное решение проброса чего либо через ssh. Т.е. ключи проброса портов чего-то с клиента и скрипт подключающий это что-то на сервере. Когда это что-то стабильно заработает, можно будет модифицировать клиент с изменением строки запуска nxssh, а так как это тот же ssh - должно заработать. Но это решение только для конкретного случая.
dimbor писал(а):
07.11.2010 00:50
С обвязкой на сервере проблем не будет, только намекни, что нужно.

Тут такая штука - NX делает так:
let SAMBA_DISPLAY=$SESS_DISPLAY+3000
if error
let SESS_DISPLAY=$SESS_DISPLAY+1
вот этот тупой алгоритм и не позволит пробросить несколько произвольных портов, нужно что-то поумнее... что-то вроде резервирования диапазона портов запрошенного клиентом. Далее, нужен какой то протокол обмена клиент-сервер не ломающий работу с другими клиентами/серверами. Не уверен, но похоже придется еще и в nxssh лезть чтобы проброс произвольных портов сделать. В клиенте нужно где-то, как-то хранить, считывать, записывать, редактировать настройки портов.
Пока не понимаю, как бы так извернуться, чтоб не пришлось половину всего переписывать :(
Можно, конечно пойти путем usermode authentication - не переписывать клиент, а изменять смысл поля, т.е. прописывать нужный порт и протокол в полях login pasword шары с префиксом и это дело по префиксу вылавливать... мерзкий хак :yes3:
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: rx@etersoft под archlinux

Сообщение dimbor »

Djelf писал(а):
07.11.2010 11:22
oldbay писал(а):
07.11.2010 01:41
есть специальная жертва для тестов

Без жертвы тут точно не обойтись :tongue:

Ога. Можно смело. Обвинений в нецелевом расходовании девственниц, думаю, не будет.

Djelf писал(а):
07.11.2010 11:22
Тут такая штука - NX делает так:
let SAMBA_DISPLAY=$SESS_DISPLAY+3000
if error
let SESS_DISPLAY=$SESS_DISPLAY+1
вот этот тупой алгоритм и не позволит пробросить несколько произвольных портов, нужно что-то поумнее...
что-то вроде резервирования диапазона портов запрошенного клиентом.

Опять ага. На это уже было наступлено. На разных серверах приходится разный DISPLAY_BASE ставить, чтоб с одного клиента работать одновременно. Локи еще эти, которые отдельно чистить надо... Чапай будет думать на тему схемы анонс-запрос-установка, когда сервер анонсирует порты/диапазоны, клиент запрашивает, сервер выдает. Даже оставить старую угробищную схему получится для совместимости.

Djelf писал(а):
07.11.2010 11:22
Далее, нужен какой то протокол обмена клиент-сервер не ломающий работу с другими клиентами/серверами. Не уверен, но похоже придется еще и в nxssh лезть чтобы проброс произвольных портов сделать. В клиенте нужно где-то, как-то хранить, считывать, записывать, редактировать настройки портов.
Пока не понимаю, как бы так извернуться, чтоб не пришлось половину всего переписывать :(
Можно, конечно пойти путем usermode authentication - не переписывать клиент, а изменять смысл поля, т.е. прописывать нужный порт и протокол в полях login pasword шары с префиксом и это дело по префиксу вылавливать... мерзкий хак :yes3:

Кажись felfert хвастал, что проброс usb сделал для себя онли. Он еще жмется на этот код? А если попросить?
Насчет логина с паролем вроде лишнее - там же URI шары есть. Туда можно что угодно засунуть. Фриэныкс внутри для печати юзает nxsmb://, я использую "кодировку" фуматик-драйвера в имени шары не менее мерзким способом. Другой вопрос, что для нормальных шар проброс порта отдельно, а подключение шар на порт - тоже отдельно. В случае же lpt/tty - действие одно.
Спасибо сказали:
Djelf
Сообщения: 615
ОС: Гигтег+Цшт32

Re: rx@etersoft под archlinux

Сообщение Djelf »

dimbor писал(а):
07.11.2010 13:48
Кажись felfert хвастал, что проброс usb сделал для себя онли. Он еще жмется на этот код? А если попросить?

Он даже вошел в состав разработчиков The USB/IP Project но для Win32 USB/IP в OpenNX не реализован:

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

bool UsbIp::Connect(const wxString &socketPath)
{
#ifdef __WXMSW__
    m_bConnected = false;
# warning win32 implementation missing
#else

А что и как у него на Маке работает сия тайна велика есть... но судя по коду, насколько я понимаю, оно пока работает без проброса портов.
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: rx@etersoft под archlinux

Сообщение dimbor »

А на фига нам W32? Или ты хочешь сказать, что это был весь код, предоставленный им в проект? Нас интересует дополнение протокола обмена клиент-сервер при пробросе usb. Чтобы аналогично поступить с tty.
Спасибо сказали:
Djelf
Сообщения: 615
ОС: Гигтег+Цшт32

Re: rx@etersoft под archlinux

Сообщение Djelf »

dimbor писал(а):
07.11.2010 14:40
Нас интересует дополнение протокола обмена клиент-сервер при пробросе usb. Чтобы аналогично поступить с tty.

Там очень мутно. Реализовано только через nxproxy, в строку подключения дополнительно добавляется:
popts << wxT(",http=") << wxConfigBase::Get()->Read(wxT("Config/UsbipPort"), 3420);
а если учесть что Фриц еще и Embedded HTTP Server (EHS) пилит, то все становится еще замутнее...
В любом случае nxproxy нам не подходит - надо думать свое решение.
Еще есть: static const int USBIP_PORT_OFFSET = 40000;
но нигде не используется, видимо задел проброса портов на будущее...
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: rx@etersoft под archlinux

Сообщение DjSpike »

Информация к сведению, если порты надо пробрасывать в локальной сети, то с этой задачей спокойно справляется remserial (у меня так работают фискальники и сканеры штрих-кодов) , если же надо через ssh то тут я пока ничего не придумал....
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Djelf писал(а):
07.11.2010 14:22
Он даже вошел в состав разработчиков The USB/IP Project
.....................
А что и как у него на Маке работает сия тайна велика есть... но судя по коду, насколько я понимаю, оно пока работает без проброса портов.


usbip штука весьма перспективная - но на сегодняшнем этапе, ведет себя пока нестабильно. Пробовал ее использовать но наткнулся на целый ворох граблей в работе драйвера vhci-hcd на клиенте (не хотел отдавать уже подключенную usb шару - какой жадный драйвер) и особенно радовало когда сглючивший драйвер вешал все великое ядро.
Потому и решил не морочится пока с udbip а заняться пробросом устройств созданных на уровень выше аппаратного usb (на евоном бусе)- всяких виртуальных lp и tty в том числе

Информация к сведению, если порты надо пробрасывать в локальной сети, то с этой задачей спокойно справляется remserial


опять remserial .... ммм завтра на конторе займусь кувырянием в данном направлении (сейчас,как уже говорил, у меня работает связка ser2net + cyclades-ser-cli)

Далее по теме:
Подготовил базу для дальнейшего пиляния вопроса проброса портов. Судя по линии партии - модификации ,скорее всего, подвергнется клиент opennx (я правильно вас понял товарищ Сталин?)
потому провел предварительные полевые испытания сего клиента в связке с nx от этерсофт на стороне клиента и rx+nx (от той же компании) на стороне сервера.
В качестве подопытного кролика был выбран opennx-chooser 0.16-1 с арчевского AURа, коего для совместной жизнедеятельности с этерсофтовским продуктом пришлось слегка подрехтовать. Источник первоначальной версии находится на http://aur.archlinux.org/packages.php?ID=37992 , в нем слегка изменил только PKGBUILD :

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

pkgname=opennx-for-nx-etersoft
pkgver=0.16
pkgrel=1
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=(http://downloads.sourceforge.net/project/opennx/opennx/$pkgver/opennx-$pkgver.tar.gz
         always_show_session_chooser.patch)
md5sums=('0a6ad54fbbbb645e2a332b6e92885c5b'
         '5557bb64f1dd513ea0a4cfa797085ccf')
build() {
  cd $srcdir/opennx-$pkgver
  patch -i $srcdir/always_show_session_chooser.patch
  ./configure --prefix=/usr
  make || return 1
  make DESTDIR=${pkgdir} install || return 1
}


после сборки получился симпатичный пакетик opennx-for-nx-etersoft-0.16-1-i686.pkg.tar.xz - совместно воркающий на клиенте с nx-3.3.0-eter18archlinux-i686.pkg.tar.gz (тот что собран без libjpeg-turbo)

- opennx зацепился с сервером прикрутил принтеры и samba шары, странный баг с nxclient-3.3.0.6-eter6archlinux-i686.pkg.tar.gz
проброшенный через samba принтер перестал глобально рисоваться в сессии, несмотря на то что в /etc/nxserver/node.conf.d/09-cups.conf стоит ENABLE_KDE_CUPS="0"(раньше такое конечно ,иногда, случалось - но теперь способ вообще не работает), при том что локальная сессия cups для этого принтера нормально поднялась - и если зайти на localhost:11000(порт проброса) - то принтер виден и пускает тестовые страницы

на opennx не распространился.
Была только дна особеннсть - opennx внимательно следит за тем что прописано в etc/hosts - если там неправильно указанно локальное hostname - шары монтироваться не будут, а клиент будет матерится на полэкрана. В общем не считая этих маленьких детских грабелек, в остальном первые полевые испытания прошли удачно. Готов к патчению клиента и кувырянию сервера .
Спасибо сказали:
Djelf
Сообщения: 615
ОС: Гигтег+Цшт32

Re: rx@etersoft под archlinux

Сообщение Djelf »

oldbay писал(а):
08.11.2010 00:34
Подготовил базу для дальнейшего пиляния вопроса проброса портов. Судя по линии партии - модификации ,скорее всего, подвергнется клиент opennx (я правильно вас понял товарищ Сталин?)

Я бы пошел следующим путем:
Сначала проверяем из командной строки пророс портов через ssh запущенных с клюем. Порт фиксированный. Работает? Идем дальше...
Модифицируем строку запуска nxssh в OpenNX добавив те же ключи. Проверяем.
Индивидуально-заточенный клиент получили....
Следующим на очереди идет MySession.cpp, в нем есть void MySession::startSharing(), а вот тут начинается самое интересное, нужно как-то заставить nxssh пробросить порт командой NX> код строка, такая команда imho должна быть... т.к. nxssh вылавливает команды из потока для себя любимого. Предположительно это "NX> 299".
Ну а дальше уже надо будет грызть клиент и сервер на предмет запроса/ответа свободного порта вместо зашитых SERVICE_BASE+смещение.
Одна из особенностей NX-сервера в том что он игнорирует неизвестные команды, поэтому сломаться ничего не должно.
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Djelf писал(а):
08.11.2010 12:04
Я бы пошел следующим путем:
Сначала проверяем из командной строки пророс портов через ssh запущенных с клюем. Порт фиксированный. Работает? Идем дальше...


Таак, дорогу осилит идущий :)
Сначала собрал remserial -ни в арчрепах, ни в AURе данной полезной софтины не оказалось - потому берем кайло и в шахту. В результате моего сторательства вышел PKGBUILD для сбора родного пакеты:

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

pkgname=remserial
pkgver=1.4
pkgrel=1
pkgdesc="remserial"
arch=('i686' 'x86_64')
url="http://lpccomp.bc.ca"
license=('GPL')
makedepends=('make')
source=($url/$pkgname/$pkgname-$pkgver.tar.gz)

build() {
  cd "$srcdir/$pkgname-$pkgver"
  make || return 1
  mkdir ${pkgdir}/usr
  mkdir ${pkgdir}/usr/bin
  cp -a $srcdir/$pkgname-$pkgver/remserial ${pkgdir}/usr/bin/
}
md5sums=('b19b57fd118329c5ea3aaf9887f946a6')


кому нужен - пользуйтесь (чуть позже скину его в AUR)
А штука оказалась оченно занятной - позволяет пробрасывать как com-ы так и lpt-ы(-s "10 rawlp") ,да мало того ,наша умница - красавица, прекрасно создает шары устройств в каталоге пользователя с только евоными правами - не мешая остальным юзверям своим приутсвием.
Кроме того - проверка показала - что такие шары спокойно работают через ssh туннель. Было опробовано несколько устройств (фискалка, сканер, разные принтеры) - все без нареканий - и по тоннелю

теперь медленно - но верно перехожу к этапу №2

Djelf писал(а):
08.11.2010 12:04
Модифицируем строку запуска nxssh в OpenNX добавив те же ключи. Проверяем.


п.с:
еще раз спасибо всем кто подсказал про remserial - штука оказалась оченно полезной
Спасибо сказали:
Аватара пользователя
DjSpike
Сообщения: 2265
Статус: в поисках истины
ОС: Lubuntu 12.04

Re: rx@etersoft под archlinux

Сообщение DjSpike »

Теперь ты подскажи, как ты remserial завернул в ssh ???
AvReg - По для организации Видеонаблюдения на Linux.
ДЭНСИ:КАССА - Рабочее место кассира под Linux.
Терминальные решения под Linux
Консультации по установке 1с+PostgreSQL+Ubuntu.
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

DjSpike писал(а):
08.11.2010 19:17
Теперь ты подскажи, как ты remserial завернул в ssh ???


вышло - как то вот так (на примере lp принтера - фискалка по аналогии)

на клиенте шарим порт 17200
remserial -d -p 17200 -s "10 rawlp" /dev/usb/lp0
заработал сокет на tcp порту 17200 - но может юзается только локально, на фаерволе открыт только ssh

на сервере сначала создал ssh туннель к клиенту
ssh -g -f -N -L 7200:ip-клиента:17200 юзерь@ip-клиента
и открывается tcp сокет на порту 7200 - коей смотрит через ssh на 17200 порт клиента
пускаем remserial на локальный порт 7200
remserial -d -r localhost -p 7200 -l $HOME/lp1 /dev/ptmx

после чего принтер печатает в устройство lp1 в каталоге юзера
в принципе тоже самое проделывал с фискалкой

п.с:
сие только тест работоспособности связки через туннель
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Таак, наша умница-красавица №2 opennx, оказалась таки порядочной стервой!
В результате всесторонних тестов выявилась конкретная двухметровая грабля, лихо выбившая из меня стартовый интузиазизм.
После аварийного разрыва сессии с сервером - восстановится в ней или прибить средствами opennx не представляется возможным (все висит - и не встает и не падает), - в результате тщетных попыток получаю только странную сессию на клиенте и сервере с названием "S-" , в логах сервера и клиента - тишина.....
В теме opennx проскакивало что можно запустить с ключами --trace=All - но опять ,как я понял, сие функция отсутствует в официальной сборке - но вроде нашел патч в opennx .... попробую снять логи

п.с : картина одинакова как с офф версией opennx 0.16 , так и со сборкой из svn
Спасибо сказали:
Djelf
Сообщения: 615
ОС: Гигтег+Цшт32

Re: rx@etersoft под archlinux

Сообщение Djelf »

oldbay писал(а):
12.11.2010 00:06
В теме opennx проскакивало что можно запустить с ключами --trace=All - но опять ,как я понял, сие функция отсутствует в официальной сборке..... блин как ж с нее логи снять :(

Вот для этого я и сделал микропатчик для --trace=All :D И кстати, там вего 3-4 строки, его проще наложить на сборку, чем парится с запоминанием всех ключей трассировки.
А в офф сборке надо просто пропитывать все нужные ключики трассировоки...
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: rx@etersoft под archlinux

Сообщение dimbor »

Будьте добры, метните в меня личкой серверный /usr/bin/nxnode. В rx==freenx такой баг фиксился не так давно, но с этой чудо-авто-сборочной системой я уже ни в чем не уверен.
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: rx@etersoft под archlinux

Сообщение dimbor »

Получил, посмотрел. Хорошая новость - требуемый фикс там есть. Значит претензии к клиенту.
Другое дело, что чему он под arch соответствует, тайна великая есть. Этерсофтофской же голове (HEAD) оно не соответствует. Имейте в виду на всякий случай.
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

dimbor писал(а):
12.11.2010 02:16
Получил, посмотрел. Хорошая новость - требуемый фикс там есть. Значит претензии к клиенту.

вот, то то и оно
попробую собрать линуксовый клиент по мотивам opennx
а то офф. сборку обсобирался уже, а толку "0" - и не возрождается, и не дохнет наше зомби

dimbor писал(а):
12.11.2010 02:16
Другое дело, что чему он под arch соответствует, тайна великая есть. Этерсофтофской же голове (HEAD) оно не соответствует. Имейте в виду на всякий случай.


мдя что то под арч насобирали такое странное - попробую поdiffить с аналогичными nxnode из сборок под другие дистрибы, может где и накурю истину
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

Ну, господа присяжные заседатели, продолжим

oldbay писал(а):
12.11.2010 09:23
попробую собрать линуксовый клиент по мотивам opennx


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

сборка - то состоялась, но проблема с сессиями не отступила

oldbay писал(а):
12.11.2010 09:23
попробую поdiffить с аналогичными nxnode из сборок под другие дистрибы, может где и накурю истину


попробовал, проdiffил, различий между arch-евским, centos-овским и alt-овским nxnode - из rx@etersoft-1.1.1 нет почти
... у альтовского только одна строка отличается

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

$diff nxnode_eter_alt nxnode_eter_arch
330c330
<                       [ "$KDE4_ENABLE" = "1" ] && NODE_STARTX=$COMMAND_START_KDE4
---
>                       [ "$KDE4_ENABLE" = "1" -n "$COMMAND_START_KDE" ] && NODE_STARTX=$COMMAND_START_KDE4

другие скрипты так же имеют ,весьма, минимальные отличия
так что тут не малъчик freenx виноват, а таки opennx клиент - его дальше и кувырял

моя предыдущая кляуза
oldbay писал(а):
12.11.2010 09:23
и не возрождается, и не дохнет наше зомби

в результате многочисленных экспериментов с подключениями обросла некоторыми подробностями:
заставить сдохнуть прерванную сессию можно - но только если присоединится к терминалу с клиента запущенного от другого пользователя - тогда я вполне получаю возможность либо создать новую сессию, либо прибить старую.
Если же пытаться соединится с того же юзера на котором сессия оборволась-то получаем "вечное сидение на гвоздях" - клиент висит на оптимистичном сообщении "начало сессии" - а в /home/user/.nx/temp/№процесса/ - видим следующее:

runlog

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

04:12:39: env: NX_HOME='/home/nxclient'
04:12:39: env: HOME='/home/nxclient'
04:12:39: env: NX_ROOT='/home/nxclient/.nx'
04:12:39: env: NX_SYSTEM='/usr'
04:12:39: env: NX_CLIENT='/usr/bin/opennx'
04:12:39: env: NX_VERSION='3.3.0'
04:12:39: env: XAUTHORITY='/home/nxclient/.Xauthority'
04:12:39: env: NX_TEMP='/tmp'
04:12:39: 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:12:51: receiving session list ..
04:12:51: received end of session list
04:12:51: RESUME
04:12:55: Session options='nx/nx,cookie=,shmem=1,shpix=1,font=1,encryption=234,session=session,client=linux,id
=:'


sshlog

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

04:12:39: NX> 203 NXSSH running with pid: 2057
04:12:39: NX> 285 Enabling check on switch command
04:12:39: NX> 285 Enabling skip of SSH config files
04:12:39: NX> 285 Setting the preferred NX options
04:12:39: NX> 200 Connected to address: 192.168.0.101 on port: 22
04:12:39: NX> 202 Authenticating user: nx
04:12:39: NX> 208 Using auth method: publickey
04:12:41: HELLO NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
04:12:42: NX> 105
04:12:42: hello NXCLIENT - Version 3.2.0-74-SVN
04:12:42: NX> 134 Accepted protocol: 3.2.0-74-SVN
04:12:43: NX> 105
04:12:43: SET SHELL_MODE SHELL
04:12:44: NX> 105
04:12:44: SET AUTH_MODE PASSWORD
04:12:45: NX> 105
04:12:45: login
04:12:46: NX> 101 User:
04:12:46: admin
04:12:47: NX> 102 Password:
04:12:47:
04:12:49: NX> 103 Welcome to: myhost user: admin
04:12:50: NX> 105
04:12:51: listsession --user="admin" --status="suspended,running" --type="unix-application" --geometry="800x600x24+render"
04:12:51: NX> 127 Sessions list of user 'admin' for reconnect:
04:12:51:
04:12:51: Display Type             Session ID                       Options  Depth Screen         Status      Session Name
04:12:51: ------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
04:12:51: 2000    unix-application 62B08F438435F2734ADF7EC49FC96B67 -RD--PSA    24 800x600        Suspended   opennx
04:12:51:
04:12:51:
04:12:51: NX> 148 Server capacity: not reached for user: admin
04:12:52: NX> 105
04:12:52: restoresession --cache="8M" --images="32M" --link="lan" --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="opennx" --type="unix-application" --id="62B08F438435F2734ADF7EC49FC96B67"
04:12:52:
04:12:53: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.3.0)
04:12:54: NX> 710 Session status: running
04:12:55: NX> 1002 Commit
04:12:55: /usr/bin/nxserver: line 1584:   553 Terminated              sleep $AGENT_STARTUP_TIMEOUT
04:12:55: NX> 1006 Session status: running
04:12:55: NX> 700 Session id: myhost-2000-62B08F438435F2734ADF7EC49FC96B67
04:12:55: NX> 705 Session display: 2000
04:12:55: NX> 703 Session type: unix-application
04:12:55: NX> 701 Proxy cookie: 1e8726c329f355f5d447b8687e2c74e2
04:12:55: NX> 702 Proxy IP: 127.0.0.1
04:12:55: NX> 706 Agent cookie: 1e8726c329f355f5d447b8687e2c74e2
04:12:55: NX> 704 Session cache: unix-application
04:12:55: NX> 707 SSL tunneling: 1
04:12:55: NX> 105 bye
04:12:55: Bye
04:12:55: NX> 999 Bye
04:12:55: NX> 285 Identified internal connection
04:12:55: NX> 285 Using default mode encrypted
04:12:55: NX> 285 Identified options: nx,options=/home/nxclient/.nx/S-/options:
04:12:55: Loop: PANIC! Can't identify NX port in string ':'.
04:12:55: Error: Can't identify NX port in string ':'.
04:12:55: Error: Parsing of NX transport options failed.
04:12:55: NX> 290 Failed to create the internal connection


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

п.с:
Все описанные надругательства над клиентом делались на версии патченного по рецептам opennx svn
Спасибо сказали:
dimbor
Ведущий рубрики
Сообщения: 1569
Статус: Подвинутый участник

Re: rx@etersoft под archlinux

Сообщение dimbor »

oldbay писал(а):
14.11.2010 02:03

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

04:12:55: NX> 285 Identified options: nx,options=/home/nxclient/.nx/S-/options:


Не совсем в теме по opennx, но из банальной эрудиции следует, что после S- должен стоять длиню-ющий sessionid.
Спасибо сказали:
oldbay
Сообщения: 283
ОС: gentoo, cenos

Re: rx@etersoft под archlinux

Сообщение oldbay »

dimbor писал(а):
14.11.2010 02:28
но из банальной эрудиции следует, что после S- должен стоять длиню-ющий sessionid.


в том то и соль вся что нет sessionid после "S-" , если клиент повторно стартовать с того же локального пользователя, на котором сессия оборвалась

есть только

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

ls -lp /home/nxclient/.nx
итого 16
drwx------ 2 root root 4096 Ноя 13 05:37 cache-unix-desktop/
drwxr-x--- 2 root root 4096 Ноя 13 05:34 config/
drwx------ 2 root root 4096 Ноя 13 05:44 S-/
drwx------ 3 root root 4096 Ноя 14 04:12 temp/


а в "S-"
только файл options, следующего содержания

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

nx/nx,cookie=,shmem=1,shpix=1,font=1,encryption=234,session=session,client=linux,id
=:


и висячий клиент, который не соединится - пока не запустишь клиента с другого пользователся, и первую сессию на сервере не прибьешь...
либо не запустишь этерсофтовский nxclient от первого юзера - тогда все прекрасно присоединяется к временно покинутой сессии, исходя из описанного ,мой мозга думает, что дело в том что у opennx не выходит как раз это присоединение к suspen-ду

Спасибо сказали:
Ответить