我安装了 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 [email protected]'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
答案1
问题出在 freenx-team 的补丁 fix-getparam-url-decode.patch 中。虽然补丁本身没有问题,但它有一个副作用,就是它会导致 getparam() 返回第一个出现的参数设置,而原始代码最后返回。
这种差异对影子会话产生了一种肮脏的伎俩,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()
答案2
您是否尝试将 FreeNX 添加到现有显示器?我非常确定它不起作用。这里有一个解决方法,即在 VNC 中添加,但它在 SUSE 上。