text:
Q: FreeNX shadow session I have FreeNX server (Ubuntu 10.04) installed and users can log in just fine. The problem arises when users would like to shadow a session. It plain and simple does not work, although the user who's session is requesting to be shadowed is presented with the confirmation dialog (so that's a start), but fails right after confirmation. Using the NoMachine version is not an option as we will need more than the maximum allowed without paying an absurd price.
I have verified that the changing AGENT_EXTRA_OPTIONS with and without "-nolisten tcp" has no effect. The users have a limit of 5 sessions (so 1 user + 1 shadow doesn't breach this limit) and the overall session limit is sufficiently high for our purposes (for now these are the only two sessions).
If anybody has any additional information to resolve this issue, it would be greatly appreciated.
The server config:
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

The nxserver.log as the user trying to shadow attempts: (master user: "xxxx", shadowing user: "yyyy", on host: "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.

I have yet to find anyone with this working correctly with Ubuntu and Gnome in any of the releases 10.04 and beyond.
EDIT: including user logs
initial FreeNX session creation:
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

same user attempting to shadow their own session from a different machine:
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

A: The problem is in freenx-team's patch fix-getparam-url-decode.patch.  While by itself the patch is sound, it has a side effect that it causes getparam() to return first occurrence of param setting, while original code was returning last.
This difference plays a dirty trick on shadow sessions, and nxnode attempts to start the shadow session on the same display as the original session.
The dirty fix is to edit /usr/lib/nx/nxnode:getparam and revert it to original:
 getparam()
 {
       stringinstring "&$1=" "$CMDLINE" || return 1
       echo "$CMDLINE" |  tr "&" "\n" | egrep "^"$1"=" | awk -F= '{ VAL=$2 } END { print VAL }' | sed 's|%24|$|'
       return 0
 }

The freenx-team will know how to properly fix this in 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()

A: Are you trying to FreeNX to an existing display? Im pretty sure that it isnt working. Here is a workaround addinging in vnc but its on SUSE.
http://en.opensuse.org/SDB:FreeNX_to_existing_display


text:
Un număr piramidal heptagonal este un număr figurativ care dă numărul de obiecte dintr-o piramidă cu o bază heptagonală. Cel de al -lea număr piramidal heptagonal este egal cu suma primelor  numere heptagonale.

Primele numere piramidale heptagonale sunt:
1, 8, 26, 60, 115, 196, 308, 456, 645, 880, 1166, 1508, 1911, 2380, 2920, 3536, 4233, 5016, 5890, 6860, 7931, 9108, 10396, 11800, 13325, 14976, 16758, 18676, 20735, 22940, 25296, 27808, 30481, 33320, 36330, 39516, 42883, 46436, 50180, 54120

Formulă
Formula pentru al -lea număr piramidal heptagonal este:

Al -lea număr piramidal heptagonal este suma dintre al -lea număr piramidal hexagonal și al –1-lea număr tetraedric.

Funcția generatoare a numerelor piramidale heptagonale este:

Șiruri înrudite cu numerele heptagonale piramidale
 Șirul numerelor heptagonale piramidale impare, primii 10 termeni fiind:
1, 115, 645, 1911, 4233, 7931, 13325, 20735, 30481, 42883
 Șirul numerelor pentagonale piramidale pare, primii 10 termeni fiind:
8, 26, 60, 196, 308, 456, 880, 1166, 1508, 2380

Note

Numere figurative

redpajama_set_name: RedPajamaWikipedia


One could think that ASIC-miners got out of the market home miners. Fortunately, it is not true. There are still coins, which you can mine with GPU or CPU. Moreover, their number keeps increasing. In this article, we picked the most profitable assets for getting crypto at home. Hope after reading this article you can start setting up your PC for mining.
It is a vivid fact that mining is one of the most popular ways of making money with cryptocurrencies. However, nowadays lots of digital assets require ASIC-miners for it. In this article, we will analyze those coins which can be mined with GPU\CPU on your PC in 2019.
Many years ago, at the dawn of mining, conventional processors (CPUs) were used to mine Bitcoin. Users who believed in the bright future of cryptocurrency installed special software, entered the wallet number, started the calculation and waited for the reward. Later, when the first high-speed graphics cards (GPU) were invented, mining with CPU ceased to be so relevant, as the complexity of the network immediately increased. The logical continuation of the development of the industry was the emergence of the first devices based on specialized chips, the so-called ASIC-miners.
The repeated growth in network performance forced all other owners of outdated devices to stop cryptocurrency mining due to the fact that the payment for electricity exceeded the benefit.
Today, huge farms exist for mining cryptocurrency. Most of them are located in the East, particularly in China. In addition, most companies which distribute ASIC-miners also come from Asia.
ASIC-miners became a potentially major problem even at the time of their appearance on the market. The emergence of specialized mining equipment for the SHA256 algorithm, which was more efficient than mining on a CPU or GPU, significantly complicated the life of Bitcoin miners and forced large mining farms to get involved in the race for computing power and cheap electricity.
It should be noted that the majority of relatively young blockchains, including Ethereum, have hashing algorithms that are resistant to the use of ASICs equipment to a certain extent. For example, the developers of anonymous cryptocurrency Monero deliberately complicate the lives of ASIC manufacturers, making changes to the algorithm every six months.
Even the slightest differences make ASIC a useless device: this equipment is optimized for the mining of specific cryptocurrencies, and changes in the algorithm drastically reduce their effectiveness, sometimes making them completely useless.
The use of ASICs obviously causes harm to the entire industry, as it leads to the centralization of the network, and the emergence of large miners.
CPU mining is performed similarly to the process of obtaining cryptocurrency according to the Proof-of-Work algorithm (PoW).
Most of the blockchain networks have built-in mechanisms for adapting the complexity of the computations performed, due to the fact that the confirmation time for one block must be constant. Therefore, as the total computational power increases, it is necessary to increase the mining complexity so that the time spent by the sides remains the same. There are some coins whose mining is specially optimized for processors, which is done to get the highest degree of network decentralization and to ensure the widest possible access to cryptocurrencies.
GPU mining is the process of cryptocurrency mining using graphics processors. To do this, one uses a powerful video card on a PC or a specially built farm from several devices in one system. Video cards are initially designed for processing large amounts of data by performing operations of the same type, as is the case with video processing. The same case is observed in cryptocurrency mining because here the hashing process is of the same type. In this regard, laptops or processor integrated chips with full-fledged discrete video cards are used.
Currently, you can get the most income from CPU mining if you choose coins that operate on the Cryptonight cryptocurrency algorithm: Monero, Bytecoin, Electroneum, DigitalNote, etc.
The cryptocurrency was launched in 2014. It is a coin with an emphasis on transaction privacy. Monero operates on a Proof-of-Work algorithm for verifying transactions. The digital asset works fine with a CPU, which makes it an excellent option for miners with small budgets.
To start mining Monero with a CPU, you need to create a wallet on one of the exchanges or install a local version of the wallet by downloading it from the official Monero site at https://monero.org/downloads/.
It should be taken into consideration that the full synchronization of the wallet with the network can take some time, and it requires a lot of disk space. In the latest versions of Monero wallets, you can use synchronization with a remote node, which significantly reduces synchronization time and takes up almost no space.
The launch of Dogecoin took place on December 8, 2013, as a "comic currency." Today it has become one of the top cryptocurrencies in the world, and its market capitalization has reached more than $185.17 million. This makes it attractive for investment and mining.
The setting up of Dogecoin mining is carried out similar to Monero. First, you need to have a wallet and find out its address. Then you will need to create an account on one of the mining pools, add a new worker, enter the wallet address and update your account. Then choose the appropriate miner program, download it, install it on your personal computer and configure it.
The principle of Zcash operation is the same as that of other cryptocurrencies. Its blockchain consists of blocks where information about transactions is stored. Miners confirm these blocks and get a reward for that.
The mining process remains the same. First, you choose a wallet and find out its address. Then you select the mining pool, register there, enter the address of your wallet in your personal account and update your account. Then, choose the appropriate software, download the program and install it on your computer. The best option in the context of mining Zcash would be nheqminer. You can download this software from Github.
Subsequently, Zcash can be exchanged for Bitcoin or other cryptocurrencies, and some exchanges allow you to exchange it immediately for dollars or euros.
Bitcoin Gold officially started on October 24 on the block 491 407, but the network was launched on November 13. The main task is to return mining from large farms to PCs, for the sake of which the transition from the SHA-256 crypto algorithm to Equihash is done. In this regard, Bitcoin Gold does not support ASICs.
Maintaining a large mining farm on a GPU requires much more effort than ASIC data-centers, so the major players choose the latter, leaving the mining on video cards to small companies and individuals. So decentralization in Bitcoin Gold network is higher and larger blocks (2-4 MB) increase throughput.
Zencash is another representative of a rather extensive family of digital coins based on the Zerocoin protocol, launched in May 2017. At the same time, it was formed as a fork of the non-basic Zcash cryptocurrency, and another Zclassic fork. Zencash can be called an interim solution between the previous two: if the ZEC miners give the developers a fifth of the rewards for each block found, and the ZCL miners keep everything for themselves, then the ZEN miners receive 88%.
Zencash has an open and private blockchain, which allows both to quickly carry out transactions and to guarantee anonymity where it is needed.
In addition, the Zencash blockchain also allows exchanging encrypted messages, acting as a private messenger.
Zclassic is a fork of the popular and widely used cryptocurrency Zcash. The principal difference from the maternal coin is that the entire reward goes to miners, while 20% of the mined ZEC goes to the addresses of the developers. Zclassic also gets rid of those 20 thousand blocks that were mined in Zcash during the pre-mining period.
The absence of a 20% commission potentially makes Zclassic more profitable for mining than the original chain.


CLICK HERE to register for STEMposium 2019!
The 5th Annual STEMposium Summer Institute will feature the theme "Better Together! The Value of Collaboration." The STEMposium format allows teachers to participate in hands-on, NGSS-aligned 5E lesson sequences and then collaborate with other teachers in their same grade level to develop a new lesson sequence under the guidance of an experienced Teacher Leader. Supplemental workshops help to empower teachers to become STEM and NGSS leaders at their own sites. Each grade level cohort will discuss ways to facilitate collaboration back at their own sites with their own grade-level teams.
This FREE week-long institute will run from June 25-28, 2019 and participants will have the option of earning two units of academic credit.
The goal of the program is to support teachers in successfully implementing the Next Generation Science Standards (NGSS) and California's standards for Environmental Principals and Concepts (EP&C's); and in integrating science and engineering instruction with math, language arts, and technology. Participants will deepen their knowledge of the NGSS and incorporation of "three-dimensional" learning into their weekly instruction.
CLICK HERE for more information. More details will also be provided during the STEMposium week.
This opportunity is open to K-12 teachers and TOSAs. Space is limited. STEM educators working outside of the classroom who are interested in attending may contact Annie Ransom at aransom@pvsd.k12.ca.us to inquire about special exceptions.
University Preparation Charter School, 1099 Bedford Dr, Camarillo, CA 93010.
Can I obtain ongoing professional development credit / university credit?
Yes, you can obtain up to two units of academic credit from CSUCI. Please visit the University Credit page for full details.
I cannot attend the entire week. Is it okay if I only attend part of the week?
Although it is preferable for participants to attend the full week due to the limited space, it is not required. However, participants who plan to obtain university credit must attend all five days of the summer institute.
You do not need to be familiar with NGSS at all. The Summer Institute will provide opportunities for teachers who are new to NGSS to get trained on the new standards. For participants who are already familiar with NGSS, separate workshops will be provided to help advance your proficiency in developing and teaching NGSS-aligned lessons.
What is the Student STEM Day?
I teach high school; should I attend the Student STEM Day?
Yes, even though students at the Student STEM Day will be entering grades 1-9, all STEMposium participants are encouraged to attend and practice developing and using probing questions to guide student discovery.
Can my child attend the Student STEM Day?
Teacher participants are encouraged to sign up their own children to participate if they are completing grades K-8. Sorry, only students entering grades 1-9 are allowed to participate.
How do I sign up to be a teacher leader or workshop presenter instead of a regular participant?
Please contact Annie Ransom at aransom@pvsd.k12.ca.us to indicate your interest.
How will this year's institute differ from previous years?
Because participants are coming now with a much wider variety in NGSS knowledge and implementation, this year's institute will include workshop presentations appropriate for a wide range of backgrounds in order to differentiate the week to accommodate all participants. Through feedback collected in person and on surveys, it is evident that teachers want time to create, collaborate, and implement many of the things they are learning at conferences and PDs. It is the intent of the CSU STEMposium to give you the time to do this using a coaching model. Additionally, specific short courses are intended to reach teachers who are interested in becoming STEM advocates at their home sites. This could be for TOSAs, coaches, or teacher leaders.
What is the "theme" of this year's institute?
The focus of this year's institute is on the value of COLLABORATION. Each teacher cohort will collaborate on NGSS-aligned lessons and discuss ways to facilitate collaboration back at their own sites with their own grade-level teams.


Kevin Hanchard | TV, eh?
Orphan Black actor Kevin Hanchard says he tries to advocate for his race in every role he takes.
The Mississauga-based actor returned to the University of Windsor, his alma mater, Tuesday afternoon to lead a discussion about race and religion in the performing arts as part of the school's Humanities Week.
Hanchard, who portrays Detective Art Bell on the sci-fi clone series, said the race of his characters is always at the "forefront" of his mind. Continue reading.
"There's a lot of clashing in Season 4, let's just put it that way, whether it's between Sarah and Art, or Sarah and everybody else. I mean, Sarah is a wild card and she has, I think, more invested than anybody else in this whole situation. It's her blood that's involved here and she's going to do things the way she wants to do things. There's a lot of conflicts this year and I think that's what's really exciting about this show, is that it's not just a bunch of pretty people and pretty people angst [laughs], it's not a show about that!" Continue reading.


text:
package main

import (
	"bufio"
	"encoding/json"
	"flag"
	"fmt"
	"os"
	"strings"

	"camlistore.org/pkg/cmdmain"
	"camlistore.org/pkg/googlestorage"
	"camlistore.org/third_party/code.google.com/p/goauth2/oauth"
)

type gsinitCmd struct{}

func init() {
	cmdmain.RegisterCommand("gsinit", func(flags *flag.FlagSet) cmdmain.CommandRunner {
		return new(gsinitCmd)
	})
}

func (c *gsinitCmd) Describe() string {
	return "Init Google Storage."
}

func (c *gsinitCmd) Usage() {
	fmt.Fprintf(os.Stderr, "Usage: camtool [globalopts] gsinit \n")
}

func (c *gsinitCmd) RunCommand(args []string) error {
	var (
		err          error
		clientId     string
		clientSecret string
	)

	if clientId, clientSecret, err = getClientInfo(); err != nil {
		return err
	}
	transport := googlestorage.MakeOauthTransport(clientId, clientSecret, "")

	var accessCode string
	if accessCode, err = getAccessCode(transport.Config); err != nil {
		return err
	}
	if _, err = transport.Exchange(accessCode); err != nil {
		return err
	}

	fmt.Printf("\nYour Google Storage auth object:\n\n")
	enc := json.NewEncoder(os.Stdout)
	authObj := map[string]string{
		"client_id":     transport.ClientId,
		"client_secret": transport.ClientSecret,
		"refresh_token": transport.RefreshToken,
	}
	enc.Encode(authObj)
	fmt.Print("\n")
	return nil
}

// Prompt the user for an input line.  Return the given input.
func prompt(promptText string) (string, error) {
	fmt.Print(promptText)
	input := bufio.NewReader(os.Stdin)
	line, _, err := input.ReadLine()
	if err != nil {
		return "", fmt.Errorf("Failed to read line: %v", err)
	}
	return strings.TrimSpace(string(line)), nil
}

// Provide the authorization link, then prompt for the resulting access code
func getAccessCode(config *oauth.Config) (string, error) {
	fmt.Printf("In order to obtain a storage access code, you will need to navigate to the following URL:\n\n")
	fmt.Printf("https://accounts.google.com/o/oauth2/auth?client_id=%s&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=%s&response_type=code\n\n",
		config.ClientId, config.Scope)
	return prompt("Please enter the access code provided by that page:")
}

// Prompt for client id / secret
func getClientInfo() (string, string, error) {
	fmt.Printf("Please provide the client id and client secret for your google storage account\n")
	fmt.Printf("(You can find these at http://code.google.com/apis/console > your project > API Access)\n")
	var (
		err          error
		clientId     string
		clientSecret string
	)
	if clientId, err = prompt("Client ID:"); err != nil {
		return "", "", err
	}
	if clientSecret, err = prompt("Client Secret:"); err != nil {
		return "", "", err
	}
	return clientId, clientSecret, nil
}

redpajama_set_name: RedPajamaGithub


A pair of 19th century Swedish demi-lune tables. This pair of antique Swedish painted wood demi-lune tables features half moon tops over rounded aprons. The pair is raised on beautifully turned legs with a more bulbous accent near their tops. These demi-lune consoles tables have a bone wash with much of the wood grain showing through, and subtle pale green/blue accents. This pair of 19th century Swedish tables would be perfect in a living room, foyer, or perhaps a bedroom, underneath a pair of mirrors or nice paintings, topped with decorative accessories.


text:
Professor Andrew Blake AI Consultant
Andrew Blake is a pioneer in the development of the theory and algorithms that make it possible for computers to behave as seeing machines. He is especially interested in segmentation as optimization, in visual tracking as probabilistic inference, and in real-time, 3D vision – see his principal publications on these topics. Some of the main themes of his work are captured in books including "Visual Reconstruction" with A.Zisserman (1987, MIT press), "Active Vision" with A. Yuille (1992, MIT Press), "Active Contours" with M. Isard (1998, Springer-Verlag) and "Markov Random Fields for Vision and Image Processing" with C. Rother and P. Kohli (2011, MIT Press).
He trained in mathematics and electrical engineering in Cambridge UK and at MIT, and studied for a doctorate in Artificial Intelligence at the University of Edinburgh. He was an academic for 18 years, in Edinburgh and Oxford, ultimately as Professor of Information Engineering at Oxford University. He joined Microsoft in 1999 to found the Computer Vision group in Cambridge,, before becoming Director of Microsoft's Cambridge Laboratory in 2010 and a Microsoft Distinguished Scientist.
Currently he is a consultant in Artificial Intelligence. In particular he is Chairman of Samsung's AI Research Centre SAIC in Cambridge UK. He is consultant and Scientific Adviser to the FiveAI autonomous driving company, and serves as an adviser to Siemens.
In 2010, he was elected to the council of the Royal Society and was appointed to the board of the EPSRC in 2012. He was Director at The Alan Turing Institute 2015-8. He has been Honorary Professor of Machine Intelligence at the University of Cambridge since 2007 and is a Fellow of Clare Hall. He has been a Fellow of the Royal Academy of Engineering since 1998 and Fellow of the Royal Society since 2005.
He twice won the prize of the European Conference on Computer Vision, with R. Cipolla in 1992 and with M. Isard in 1996, and was awarded the IEEE David Marr Prize (jointly with K. Toyama) in 2001. The Royal Academy of Engineering awarded him their Silver Medal in 2006, and in 2007 he received the Institution of Engineering and Technology Mountbatten Medal (previously awarded to computer pioneers Maurice Wilkes and Tim Berners-Lee, amongst others.) He was named a Distinguished Researcher in Computer Vision by the IEEE in 2009. In 2011, with colleagues at Microsoft Research, he received the Royal Academy of Engineering MacRobert Gold Medal for the machine learning at the heart of the Microsoft Kinect 3D camera.
Exactly 80 years after Einstein, in 2014, he gave the Gibbs lecture at the Joint Mathematics Meetings (see transcript) – the 6th British scientist to do so in 90 years. The BCS awarded him its Lovelace Medal and prize lecture in 2017. He holds honorary doctorates at the University of Edinburgh and the University of Sheffield.

redpajama_set_name: RedPajamaCommonCrawl


In the 1980s, Medicare International was set up to focus solely on providing international health insurance for the traveling expatriates. With a variety of customized solutions to meet the expectations of individuals, families, groups, and businesses, Medicare International will have a plan for you no matter what your specific needs are.
The 20 over years of experience in the industry has helped Medicare to better appreciate the constantly changing needs of the marketplace.
With a product line that is constantly expanding as well as flexible, international expatriate communities are assured of quality healthcarein any part of the world.
Its comprehensive coverage can range from a regular appointment with your dentist to an elaborate program of maternity care.
Get in touch with our friendly staff for free advice or quote.
By providing a range of comprehensive yet flexible policies, Medicare shows that it has always stayed in touch with the high expectations of the traveling expatriates.
While its office is situated in the United Kingdom, Medicare is always available round-the-clock through its 24 hour hotline service. These provide customers an instant avenue to direct inquiries to and get the answer on the spot, no matter what time of the day.
In addition to providing emergency assistance services, Medicaid also helps on non-emergency, or non-life-threatening, situations. Their plans allow for policy holders to choose where they want to get treated for their medical conditions. The company will also cover the transport costs as long as you have the pre-approval from the Medicare 24-Hour Assistance Team.
The innovation in Medicare has led it to offer coverage against a series of chronic diseases, which is very well received by its policyholders.
On the operation side, Medicare promises all medical claims can be settled inside 10 days by its claims team, bringing peace of mind to the customers. The combination of the flexibility to decide when you want to receive treatment, 24 hour hotline plus fast claims settlement, it is no wonder customers with Medicare's policies are very satisfied.