У меня установлен сервер FreeNX (Ubuntu 10.04), и пользователи могут без проблем войти в систему. Проблема возникает, когда пользователи хотят затенять сеанс. Это просто и просто не работает, хотя пользователю, сеанс которого запрашивает теневое копирование, отображается диалоговое окно подтверждения (так что это начало), но он не работает сразу после подтверждения. Использование версии NoMachine не является вариантом, поскольку нам потребуется больше, чем максимально допустимое, без уплаты абсурдной цены.
Я проверил, что изменение AGENT_EXTRA_OPTIONS с и без «-nolisten tcp» не имеет никакого эффекта. У пользователей есть ограничение в 5 сеансов (так что 1 пользователь + 1 тень не нарушает этот предел), а общий лимит сеансов достаточно высок для наших целей (на данный момент это только два сеанса).
Если у кого-то есть дополнительная информация для решения этой проблемы, мы будем очень признательны.
Конфигурация сервера:
cat /etc/nxserver/node.conf | grep -ve '^#' | grep -ve '^$'
SSHD_PORT=1209
DISPLAY_BASE=1001
SESSION_LIMIT=25
SESSION_USER_LIMIT=5
DISPLAY_LIMIT=25
ENABLE_PERSISTENT_SESSION="all"
ENABLE_MIRROR_VIA_VNC=1
ENABLE_DESKTOP_SHARING=1
ENABLE_SESSION_SHADOWING_AUTHORIZATION=1
ENABLE_INTERACTIVE_SESSION_SHADOWING=1
NX_LOG_LEVEL=7
NX_LOGFILE=/var/log/nxserver.log
SESSION_LOG_CLEAN=0
Nxserver.log как пользователь, пытающийся скрыть попытки: (главный пользователь: «xxxx», теневой пользователь: «yyyy», на хосте: «host»):
cat /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.5.0)
NX> 105 hello NXCLIENT - Version 3.2.0
NX> 134 Accepted protocol: 3.2.0
NX> 105 SET SHELL_MODE SHELL
NX> 105 SET AUTH_MODE PASSWORD
NX> 105 login
NX> 101 User: yyyy
NX> 102 Password:
Info: Auth method: ssh yyyy@127.0.0.1's password:
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.5.0)
NX> 716 Slave mode started successfully.
nxnode_reader: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.5.0)
nxnode_reader: NX> 716 finished
nxnode_reader: NX> 1001 Bye.
NX> 103 Welcome to: host user: yyyy
NX> 105 listsession --type="shadow"
NX> 127 Sessions list of user '.*' for reconnect:
Display Type Session ID Options Depth Screen Status Session Name
------- ---------------- -------------------------------- -------- ----- -------------- ----------- ------------------------------
1001 unix-gnome 5B35808234323A4D8277F794527BFC3E --D--PSA 24 1914x1012 Running host (xxxx) (Shadowed)
0 Local 639B671210FCE02100D4A90C44850D86 -------- Running X0 (Local)
0 Local 98F246415D9EA65BC926E0CA1E8DBC74 -------- Running X0 (Local)
NX> 148 Server capacity: not reached for user: .*
NX> 105 listsession --type="shadow"
NX> 105 attachsession --link="adsl" --backingstore="1" --encryption="1" --cache="16M" --images="64M" --shmem="1" --shpix="1" --strict="0" --composite="1" --media="0" --session="hostshadow" --type="shadow" --client="winnt" --keyboard="pc102/en_US" --id="5B35808234323A4D8277F794527BFC3E" --display="1001" --geometry="1914x1012" --resize="1"
NX> 726 Asking user for authorization to attach to session
Info: Using /etc/nxserver/nxacl to change session parameters or deny session.
&link=adsl&backingstore=1&encryption=1&cache=16M&images=64M&shmem=1&shpix=1&strict=0&composite=1&media=0&session=hostshadow&type=shadow&client=winnt&keyboard=pc102/en_US&id=5B35808234323A4D8277F794527BFC3E&display=1001&geometry=1914x1012&resize=1&clientproto=3.2.0&login_method=SSH&shadowdisplay=1001&shadowhost=&shadowcookie=******&shadowuser=xxxx&user=yyyy&userip=140.239.209.66&uniqueid=858B82DD3410A5FA08EE35153B0FD7F6&display=1003&host=127.0.0.1
nxnode_reader: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.5.0)
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.5.0)
server_nxnode_echo: NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.5.0)
nxnode_reader: NX> 700 Session id: host-1001-858B82DD3410A5FA08EE35153B0FD7F6
NX> 700 Session id: host-1001-858B82DD3410A5FA08EE35153B0FD7F6
nxnode_reader: NX> 705 Session display: 1001
nxnode_reader: NX> 703 Session type: shadow
server_nxnode_echo: NX> 700 Session id: host-1001-858B82DD3410A5FA08EE35153B0FD7F6
nxnode_reader: NX> 701 Proxy cookie: 3def610d9e80da114ce1f978fa4d5a2c
nxnode_reader: NX> 702 Proxy IP: xyz.xyz.xyz.xyz
nxnode_reader: NX> 706 Agent cookie: 3def610d9e80da114ce1f978fa4d5a2c
nxnode_reader: NX> 704 Session cache: shadow
nxnode_reader: NX> 707 SSL tunneling: 1
nxnode_reader: Disk quotas for user yyyy (uid 1000): none
nxnode_reader: NX> 1004 Error: NX Agent exited with exit status 1. To troubleshoot set SESSION_LOG_CLEAN=0 in node.conf and investigate "/home/yyyy/.nx/F-C-host-1001-858B82DD3410A5FA08EE35153B0FD7F6/session". You might also want to try: ssh -X myserver; /usr/lib/nx/nxnode --agent to test the basic functionality. Session log follows:
NX> 705 Session display: 1001
NX> 703 Session type: shadow
NX> 701 Proxy cookie: 3def610d9e80da114ce1f978fa4d5a2c
NX> 702 Proxy IP: xyz.xyz.xyz.xyz
NX> 706 Agent cookie: 3def610d9e80da114ce1f978fa4d5a2c
NX> 704 Session cache: shadow
NX> 707 SSL tunneling: 1
Disk quotas for user yyyy (uid 1000): none
NX> 1004 Error: NX Agent exited with exit status 1. To troubleshoot set SESSION_LOG_CLEAN=0 in node.conf and investigate "/home/yyyy/.nx/F-C-host-1001-858B82DD3410A5FA08EE35153B0FD7F6/session". You might also want to try: ssh -X myserver; /usr/lib/nx/nxnode --agent to test the basic functionality. Session log follows:
server_nxnode_echo: NX> 705 Session display: 1001
nxnode_reader: Error: Aborting session with 'Server is already active for display 1001
nxnode_reader: If this server is no longer running, remove /tmp/.X1001-lock
nxnode_reader: and start again'.
nxnode_reader: Session: Aborting session at 'Wed Apr 18 11:19:32 2012'.
nxnode_reader: Session: Session aborted at 'Wed Apr 18 11:19:32 2012'.
nxnode_reader: NX> 1006 Session status: closed
Error: Aborting session with 'Server is already active for display 1001
If this server is no longer running, remove /tmp/.X1001-lock
and start again'.
Session: Aborting session at 'Wed Apr 18 11:19:32 2012'.
Session: Session aborted at 'Wed Apr 18 11:19:32 2012'.
NX> 1006 Session status: closed
server_nxnode_echo: NX> 703 Session type: shadow
server_nxnode_echo: NX> 701 Proxy cookie: 3def610d9e80da114ce1f978fa4d5a2c
server_nxnode_echo: NX> 702 Proxy IP: xyz.xyz.xyz.xyz
server_nxnode_echo: NX> 706 Agent cookie: 3def610d9e80da114ce1f978fa4d5a2c
nxnode_reader: rm: cannot remove `/tmp/.X1001-lock': Operation not permitted
nxnode_reader: rm: cannot remove `/tmp/.X11-unix/X1001': Operation not permitted
rm: cannot remove `/tmp/.X1001-lock': Operation not permitted
rm: cannot remove `/tmp/.X11-unix/X1001': Operation not permitted
server_nxnode_echo: NX> 704 Session cache: shadow
server_nxnode_echo: NX> 707 SSL tunneling: 1
NX> 105 server_nxnode_echo: NX> 596 Session startup failed.
NX> 596 Session startup failed.
server_nxnode_echo: NX> 1004 Error: NX Agent exited with exit status 1. To troubleshoot set SESSION_LOG_CLEAN=0 in node.conf and investigate "/home/yyyy/.nx/F-C-host-1001-858B82DD3410A5FA08EE35153B0FD7F6/session". You might also want to try: ssh -X myserver; /usr/lib/nx/nxnode --agent to test the basic functionality. Session log follows:
session_close 858B82DD3410A5FA08EE35153B0FD7F6
nxnode_reader: rm: cannot remove `/tmp/.X1001-lock': Operation not permitted
rm: cannot remove `/tmp/.X1001-lock': Operation not permitted
server_nxnode_echo: NX> 1006 Session status: closed
nxnode_reader: rm: cannot remove `/tmp/.X11-unix/X1001': Operation not permitted
rm: cannot remove `/tmp/.X11-unix/X1001': Operation not permitted
Info: Closing connection to slave with pid 5123.
nxnode_reader: 1001 Bye.
1001 Bye.
nxnode_reader: NX> 1001 Bye.
NX> 1001 Bye.
server_nxnode_echo: NX> 1001 Bye.
Info: Closing connection to slave with pid 3289.
Мне еще предстоит найти кого-нибудь, у кого это работало бы правильно с Ubuntu и Gnome ни в одном из выпусков 10.04 и выше.
РЕДАКТИРОВАТЬ: включая журналы пользователей
начальное создание сеанса FreeNX:
30.04 04:13:54 PM: startsession (30614): starting with args ""
30.04 04:13:54 PM: startsession (30614): generate "/host-nas/home/xxxx/.nx/C-host-1004-DAD0C12D4D64A595EA43304AA6CC5B55/options"
30.04 04:13:54 PM: startsession (30614): write xauth script file
30.04 04:13:54 PM: node_start_agent (30614): source profile
30.04 04:13:54 PM: node_start_agent (30614): starting
30.04 04:13:54 PM: startsession (30614): call 'node_start_applications'
30.04 04:13:54 PM: startsession (30614): call 'node_start_agent'
30.04 04:13:54 PM: node_start_monitor_2_0_0 (30614): starting
30.04 04:13:54 PM: node_start_applications (30614): source profile
30.04 04:13:54 PM: node_start_monitor (30614): staring
30.04 04:13:54 PM: node_start_applications (30614): source bash profile
30.04 04:13:54 PM: node_start_applications (30614): DISPLAY is 1004
30.04 04:13:54 PM: node_start_applications (30614): starting
30.04 04:13:54 PM: node_start_agent (30614): Start nxagent by command: '/usr/bin/nxagent -persistent -D -name "NX - xxxx@host:1004 - host (GPL Edition)" -option "/host-nas/home/xxxx/.nx/C-host-1004-DAD0C12D4D64A595EA43304AA6CC5B55/options" -nolisten tcp -dpi 96 :1004'
30.04 04:13:54 PM: node_start_agent (30614): env end
30.04 04:13:54 PM: node_start_agent (30614): env start SSH_AGENT_PID=30215
NX_CLIENT=/usr/lib/nx/nxdialog
SHELL=/bin/bash
XDG_SESSION_COOKIE=60ff19e9e10c08100d4214104e25bbb4-1335820431.37337-1607081202
SSH_CLIENT=127.0.0.1 33151 1209
USER=xxxx
LD_LIBRARY_PATH=/host-nas/share/lib:/host-nas/openmpi/openmpi-psm/lib:/usr/local/sage/lib64:/home/vizuser/tacc-mc/lib64:/opt/lib:/lib:/lib64:/lib32:/usr/lib:/usr/lib64:/usr/lib32:/usr/local/cglX/lib:/usr/local/cuda/lib:/usr/local/cuda/lib64:/host-nas/openmpi/openmpi-psm/lib:/usr/local/sage/lib
MPI_DIRECTORY=/host-nas/openmpi/openmpi-psm
SSH_AUTH_SOCK=/tmp/ssh-OLzZp30214/agent.30214
SAGE_DIRECTORY=/usr/local/sage
SHARE_DIRECTORY=/host-nas/share
NXSESSIONID=host-1004-DAD0C12D4D64A595EA43304AA6CC5B55
MAIL=/var/mail/xxxx
PATH=/host-nas/share/bin:/host-nas/share/bin:/host-nas/openmpi/openmpi-psm:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cglX/bin:/usr/local/cuda/bin:/host-nas/openmpi/openmpi-psm/bin:/usr/local/sage/bin
SHADOW_XAUTHORITY=/host-nas/home/xxxx/.nx/C-host-1004-DAD0C12D4D64A595EA43304AA6CC5B55/authority
PWD=/host-nas/home/xxxx
LANG=en_US.UTF-8
SLAVE_PID=30317
SPEECHD_PORT=8560
SHLVL=3
HOME=/host-nas/home/xxxx
LOGNAME=xxxx
CUDA_DIRECTORY=/usr/local/cuda
SSH_CONNECTION=127.0.0.1 33151 127.0.0.1 1209
CGLX_DIRECTORY=/usr/local/cglX
DISPLAY=nx/nx,options=/host-nas/home/xxxx/.nx/C-host-1004-DAD0C12D4D64A595EA43304AA6CC5B55/options:1004
XAUTHORITY=/host-nas/home/xxxx/.nx/C-host-1004-DAD0C12D4D64A595EA43304AA6CC5B55/authority
_=/usr/bin/env
30.04 04:13:54 PM: node_start_agent (30614): source bash profile
30.04 04:13:54 PM: node_start_monitor (30614): call 'node_start_monitor_2_0_0 ""'
30.04 04:13:54 PM: node_start_agent (30614): NXAgent session type
30.04 04:13:54 PM: node_start_agent (30614): Wait for NODE_AGENT_PID (30920)
30.04 04:13:57 PM: node_find_application (30614): return NODE_STARTX="gnome-session"
30.04 04:13:57 PM: node_find_application (30614): starting with args "unix-gnome"
30.04 04:13:57 PM: node_find_application (30614): end
30.04 04:13:57 PM: node_start_applications (30614): Got NODE_APPLICATION is "gnome-session"
30.04 04:13:57 PM: node_start_applications (30614): Start successful. NODE_APP_PID=31209
30.04 04:13:57 PM: node_start_applications (30614): Starting NODE_APPLICATION with /etc/nxserver/Xsession
30.04 04:13:57 PM: node_start_applications (30614): Waiting for NODE_APP_PID
30.04 04:18:56 PM: node_start_monitor_2_0_0 (30614): call node_stop_services
30.04 04:18:56 PM: node_stop_services (30614): call node_umount_smb
30.04 04:18:56 PM: node_umount_smb (30614): starting with ENABLE_SHARE_MULTIMOUNT == 0
30.04 04:18:56 PM: node_stop_services (30614): end
30.04 04:18:56 PM: node_umount_smb (30614): File scripts/mpoint not present. Abort umounting...
30.04 04:18:56 PM: node_stop_services (30614): call node_cupsd_stop
30.04 04:18:56 PM: node_stop_services (30614): starting
30.04 06:01:34 PM: node_start_agent (30614): close session
30.04 06:01:34 PM: node_start_agent (30614): cleanup session information 'host-1004-DAD0C12D4D64A595EA43304AA6CC5B55'
30.04 06:01:34 PM: node_terminate_session (30614): starting
30.04 06:01:34 PM: node_umount_smb (30614): starting with ENABLE_SHARE_MULTIMOUNT == 0
30.04 06:01:34 PM: node_start_applications (30614): Clean pids/apps/31209
30.04 06:01:34 PM: node_start_agent (30614): NODE_AGENT_EXIT_STATUS = "0"
30.04 06:01:34 PM: node_start_agent (30614): remove agent pidfile -- '/host-nas/home/xxxx/.nx/C-host-1004-DAD0C12D4D64A595EA43304AA6CC5B55/pids/agent'
30.04 06:01:34 PM: node_start_agent (30614): call 'node_terminate_session "host-1004-DAD0C12D4D64A595EA43304AA6CC5B55" ""'
30.04 06:01:34 PM: node_terminate_session (30614): call node_stop_services
30.04 06:01:34 PM: node_start_applications (30614): NODE_APP_PID finished
30.04 06:01:34 PM: node_stop_services (30614): starting
30.04 06:01:34 PM: node_terminate_session (30614): Remove display information
30.04 06:01:34 PM: node_stop_services (30614): call node_umount_smb
30.04 06:01:34 PM: node_umount_smb (30614): File scripts/mpoint not present. Abort umounting...
30.04 06:01:34 PM: node_stop_services (30614): end
30.04 06:01:34 PM: node_terminate_session (30614): Start terminating session "host-1004-DAD0C12D4D64A595EA43304AA6CC5B55" with status ""
30.04 06:01:34 PM: node_stop_services (30614): call node_cupsd_stop
30.04 06:01:34 PM: node_terminate_session (30614): Remove magic cookie information
30.04 06:01:34 PM: node_terminate_session (30614): Preserve or remove session information
30.04 06:01:34 PM: node_terminate_session (30614): Session terminated. Rename session directory from "/host-nas/home/xxxx/.nx/C-host-1004-DAD0C12D4D64A595EA43304AA6CC5B55/" to "/host-nas/home/xxxx/.nx/T-C-host-1004-DAD0C12D4D64A595EA43304AA6CC5B55"
30.04 06:01:34 PM: node_start_agent (30614):remove /tmp/.X1004-lock
30.04 06:01:34 PM: node_start_agent (30614): remove /tmp/.X11-unix/X1004
30.04 06:01:34 PM: node_terminate_session (30614): end
30.04 06:01:34 PM: node_start_monitor_2_0_0 (30614): call node_stop_services
30.04 06:01:34 PM: node_stop_services (30614): starting
30.04 06:01:34 PM: node_stop_services (30614): call node_cupsd_stop
30.04 06:01:34 PM: node_umount_smb (30614): starting with ENABLE_SHARE_MULTIMOUNT == 0
30.04 06:01:34 PM: node_stop_services (30614): end
30.04 06:01:34 PM: node_umount_smb (30614): File scripts/mpoint not present. Abort umounting...
30.04 06:01:34 PM: node_stop_services (30614): call node_umount_smb
30.04 06:01:34 PM: node_start_monitor_2_0_0 (30614): end
тот же пользователь пытается скрыть свой сеанс с другого компьютера:
30.04 04:14:07 PM: startsession (32187): starting with args ""
30.04 04:14:07 PM: startsession (32187): generate "/host-nas/home/xxxx/.nx/C-host-1004-79691E83AC7EE7BE3010050157C59440/options"
30.04 04:14:07 PM: startsession (32187): write xauth script file
30.04 04:14:07 PM: startsession (32187): If we have a shadow cookie, we add it to xauth session authority file as well
30.04 04:14:07 PM: node_start_agent (32187): env end
30.04 04:14:07 PM: startsession (32187): call 'node_start_applications'
30.04 04:14:07 PM: node_start_agent (32187): starting
30.04 04:14:07 PM: node_start_monitor (32187): call 'node_start_monitor_2_0_0 ""'
30.04 04:14:07 PM: node_start_applications (32187): source bash profile
30.04 04:14:07 PM: node_start_applications (32187): source profile
30.04 04:14:07 PM: node_start_agent (32187): Type "shadow". Add some args to nxagent
30.04 04:14:07 PM: node_start_monitor (32187): staring
30.04 04:14:07 PM: node_start_agent (32187): source bash profile
30.04 04:14:07 PM: node_start_agent (32187): source profile
30.04 04:14:07 PM: node_start_monitor_2_0_0 (32187): starting
30.04 04:14:08 PM: node_start_agent (32187): close session
30.04 04:14:07 PM: startsession (32187): call 'node_start_agent'
30.04 04:14:08 PM: node_start_agent (32187): Wait for NODE_AGENT_PID (32500)
30.04 04:14:08 PM: node_start_agent (32187): env start SSH_AGENT_PID=30215
NX_CLIENT=/usr/lib/nx/nxdialog
SHELL=/bin/bash
XDG_SESSION_COOKIE=60ff19e9e10c08100d4214104e25bbb4-1335820442.468288-602337452
SSH_CLIENT=127.0.0.1 33160 1209
USER=xxxx
LD_LIBRARY_PATH=/host-nas/share/lib:/host-nas/openmpi/openmpi-psm/lib:/usr/local/sage/lib64:/home/vizuser/tacc-mc/lib64:/opt/lib:/lib:/lib64:/lib32:/usr/lib:/usr/lib64:/usr/lib32:/usr/local/cglX/lib:/usr/local/cuda/lib:/usr/local/cuda/lib64:/host-nas/openmpi/openmpi-psm/lib:/usr/local/sage/lib
MPI_DIRECTORY=/host-nas/openmpi/openmpi-psm
SSH_AUTH_SOCK=/tmp/ssh-OLzZp30214/agent.30214
SAGE_DIRECTORY=/usr/local/sage
SHARE_DIRECTORY=/host-nas/share
NXSESSIONID=host-1004-79691E83AC7EE7BE3010050157C59440
MAIL=/var/mail/xxxx
PATH=/host-nas/share/bin:/host-nas/share/bin:/host-nas/openmpi/openmpi-psm:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cglX/bin:/usr/local/cuda/bin:/host-nas/openmpi/openmpi-psm/bin:/usr/local/sage/bin
SHADOW_XAUTHORITY=/host-nas/home/xxxx/.nx/C-host-1004-79691E83AC7EE7BE3010050157C59440/authority
PWD=/host-nas/home/xxxx
LANG=en_US.UTF-8
SLAVE_PID=31798
SPEECHD_PORT=8560
SHLVL=3
HOME=/host-nas/home/xxxx
LOGNAME=xxxx
CUDA_DIRECTORY=/usr/local/cuda
SSH_CONNECTION=127.0.0.1 33160 127.0.0.1 1209
CGLX_DIRECTORY=/usr/local/cglX
DISPLAY=nx/nx,options=/host-nas/home/xxxx/.nx/C-host-1004-79691E83AC7EE7BE3010050157C59440/options:1004
XAUTHORITY=/host-nas/home/xxxx/.nx/C-host-1004-79691E83AC7EE7BE3010050157C59440/authority
_=/usr/bin/env
30.04 04:14:08 PM: node_find_application (32187): starting with args "shadow"
30.04 04:14:08 PM: node_start_applications (32187): DISPLAY is 1004
30.04 04:14:08 PM: node_start_applications (32187): starting
30.04 04:14:08 PM: node_start_agent (32187): NXAgent session type
30.04 04:14:08 PM: node_find_application (32187): end
30.04 04:14:08 PM: node_start_agent (32187): NODE_FAILED = "failed"
30.04 04:14:08 PM: node_start_agent (32187): remove agent pidfile -- '/host-nas/home/xxxx/.nx/C-host-1004-79691E83AC7EE7BE3010050157C59440/pids/agent'
30.04 04:14:08 PM: node_stop_services (32187): call node_cupsd_stop
30.04 04:14:08 PM: node_find_application (32187): return NODE_STARTX=""
30.04 04:14:08 PM: node_start_agent (32187): cleanup session information 'host-1004-79691E83AC7EE7BE3010050157C59440'
30.04 04:14:08 PM: node_start_agent (32187): NODE_AGENT_EXIT_STATUS = "1"
30.04 04:14:08 PM: node_terminate_session (32187): starting
30.04 04:14:08 PM: node_umount_smb (32187): starting with ENABLE_SHARE_MULTIMOUNT == 0
30.04 04:14:08 PM: node_terminate_session (32187): Remove display information
30.04 04:14:08 PM: node_terminate_session (32187): Remove magic cookie information
30.04 04:14:08 PM: node_umount_smb (32187): File scripts/mpoint not present. Abort umounting...
30.04 04:14:08 PM: node_start_agent (32187): Start nxagent by command: '/usr/bin/nxagent -nopersistent -S -shadow :1004 -shadowmode 1 -name "NX - xxxx@host:1004 - hostshadow (GPL Edition)" -option "/host-nas/home/xxxx/.nx/C-host-1004-79691E83AC7EE7BE3010050157C59440/options" -nolisten tcp -dpi 96 :1004'
30.04 04:14:08 PM: node_stop_services (32187): end
30.04 04:14:08 PM: node_terminate_session (32187): Start terminating session "host-1004-79691E83AC7EE7BE3010050157C59440" with status "failed"
30.04 04:14:08 PM: node_start_agent (32187): call 'node_terminate_session "host-1004-79691E83AC7EE7BE3010050157C59440" "failed"'
30.04 04:14:08 PM: node_stop_services (32187): starting
30.04 04:14:08 PM: node_terminate_session (32187): call node_stop_services
30.04 04:14:08 PM: node_stop_services (32187): call node_umount_smb
30.04 04:14:08 PM: node_terminate_session (32187): Session failed. Rename session directory from "/host-nas/home/xxxx/.nx/C-host-1004-79691E83AC7EE7BE3010050157C59440/" to "/host-nas/home/xxxx/.nx/F-C-host-1004-79691E83AC7EE7BE3010050157C59440"
30.04 04:14:08 PM: node_terminate_session (32187): Preserve or remove session information
30.04 04:14:08 PM: node_terminate_session (32187): end
30.04 04:14:08 PM: node_start_agent (32187):remove /tmp/.X1004-lock
30.04 04:14:08 PM: node_start_agent (32187): remove /tmp/.X11-unix/X1004
30.04 04:14:08 PM: node_start_applications (32187): NODE_APPLICATION is empty
30.04 04:14:08 PM: node_stop_services (32187): starting
30.04 04:14:08 PM: node_umount_smb (32187): starting with ENABLE_SHARE_MULTIMOUNT == 0
30.04 04:14:08 PM: node_start_monitor_2_0_0 (32187): call node_stop_services
30.04 04:14:08 PM: startsession (32187): end
30.04 04:14:08 PM: node_stop_services (32187): call node_cupsd_stop
30.04 04:14:08 PM: node_start_monitor_2_0_0 (32187): end
30.04 04:14:08 PM: node_umount_smb (32187): File scripts/mpoint not present. Abort umounting...
30.04 04:14:08 PM: node_stop_services (32187): end
30.04 04:14:08 PM: node_stop_services (32187): call node_umount_smb
Проблема заключается в патче freenx-team fix-getparam-url-decode.patch. Хотя сам по себе патч является правильным, у него есть побочный эффект, заключающийся в том, что он заставляет getparam () возвращать первое вхождение параметра param, в то время как исходный код возвращался последним.
Это различие играет злую шутку с теневыми сеансами, и nxnode пытается запустить теневой сеанс на том же дисплее, что и исходный сеанс.
Грязное исправление - отредактировать / usr / lib / nx / nxnode: getparam и вернуть его к исходному состоянию:
getparam()
{
stringinstring "&$1=" "$CMDLINE" || return 1
echo "$CMDLINE" | tr "&" "\n" | egrep "^"$1"=" | awk -F= '{ VAL=$2 } END { print VAL }' | sed 's|%24|$|'
return 0
}
Команда freenx знает, как это исправить в Python.
== fix-getparam-url-decode.patch ==
Add handling of '=' in the CMDLINE.
This was an issue when we were passing a command line for unix type of
gnome-session --session=2d-unity
The '=' was not getting decoded and gnome-session would die.
--- a/nxnode
+++ b/nxnode
@@ -72,9 +72,11 @@
getparam()
{
- stringinstring "&$1=" "$CMDLINE" || return 1
- echo "$CMDLINE" | tr "&" "\n" | egrep "^"$1"=" | awk -F= '{ VAL=$2 } END { print VAL }' | sed 's|%24|$|'
- return 0
+ python -c "
+import sys; from urlparse import parse_qs;
+v=parse_qs(sys.argv[2]).get(sys.argv[1],[None])[0];
+if (v==None): sys.exit(1);
+print v;" "$1" "${CMDLINE}"
}
find_app()
Вы пытаетесь подключить FreeNX к существующему дисплею? Я почти уверен, что это не работает. Вот обходной путь, добавляемый в vnc, но его на SUSE.