When you log in, the rserver process processes your authentication and then starts the rsession process, which is the session you will be using. The problem occurs when the rsession process terminates due to an error.
If you have administrator rights, you can debug the error by monitoring the rserver process and looking at the problem that rsession should exit. Here's how to do it.
First find the rserver process rserver .
ps auxw | grep studio rstudio-server 7035 0.0 0.0 362488 4480 ? Ssl 16:37 0:01 /usr/local/lib/rstudio-server/bin/rserver
Note the second number that appears on the output of the line containing the line rstudio-server/bin/rserver . In the above case, the process identifier is 7035.
Then trace rserver , sending the output to a file. The number after -p should be the rserver process identifier. The funky -e function is used to reduce noise from Java flow control.
sudo strace -f -e 'trace=!clock_gettime,gettimeofday,futex,timerfd_settime,epoll_wait,epoll_ctl' -p 7035 -o trace.txt
Log in and wait for the error message.
Stop tracing by pressing ctrl-c .
Open the file with your favorite editor and find the line exit_group .
Lines located above it most likely indicate an error in rsession . In my case, it was a symbolic link from .rstudio to the missing directory.
7529 mkdir("/home/dds/.rstudio", 0777) = -1 EEXIST (File exists) 7529 stat("/home/dds/.rstudio", 0x7ffff37419b0) = -1 ENOENT (No such file or directory) 7529 write(2, "07 Feb 2015 16:46:53 [rsession-d"..., 395) = 395 7529 sendto(3, "<11>Feb 7 16:46:53 rsession-dds"..., 398, MSG_NOSIGNAL, NULL, 0) = 398 7529 exit_group(1)