using XFCE4, on Kali-Rolling 2016.1/2016.2 while esthetically pleasing, desktop sessions are unrecoverable if started with startx from terminal-text session.
Unfortunately, if the user's system has only one account (ROOT), the only way to recover the session is by restarting the machine with a hard-reboot or ctrl+alt+del from the unrecoverable state <although this part has not been reproduced>
-----------
1: start a tty session from any state (i.e initial login or after starting desktop session normally via desktop management log-in)
2: start a desktop session with command: 'startx' (no single-quotes)
-at this point you will either (a)drop into a desktop session or(b)be denied a desktop session and prompted with tty session again
3: if in desktop session (standard GUI), (a)allow session to either suspend/lockscreen or (b)suspend/lock the session manually
-at this point the session is unrecoverable requiring (a)hard-reboot or (b)additional log-in with different credentials
4optional) start another terminal-text(tty) session (ctrl+alt+fn) using same credentials as either session
-in my case, while credentials are valid, access is denied and the prompt for credentials is repeated until a different credential is entered (usernameasswd)
----------------------------------
This is extremely troubling if the user only has one account at the time of testing/experience this, as the only way to recover a session is hard-reboot.
>> top showing running pid for unrecoverable session & root session
Code:
------------------------------------------------------------------------
1247 os13115 20 0 382688 26804 21916 S 0.3 1.0 0:05.37 xfwm4
----------------------------------------------------------------------
1255 os13115 20 0 709964 50144 22492 S 0.3 1.8 0:04.83 xfdesktop
----------------------------------------------------------------------
1251 os13115 20 0 551124 29672 23172 S 0.3 1.1 0:03.28 xfce4-panel
----------------------------------------------------------------------
7567 root 20 0 170660 20012 16628 S 0.3 0.7 0:01.62 xfwm4
---------------------------------------------------------------------------
7570 root 20 0 399428 26232 22152 S 0.3 0.9 0:03.36 xfce4-panel
-----------------------------------------------------------------------------
7573 root 20 0 471312 35972 21628 S 0.7 1.3 0:01.69 xfdesktop
------------------------------------------------------------------------------
7477 root 20 0 249804 48544 20084 S 0.7 1.8 1:03.47 Xorg
------------------------------------------------------------------------------
>> show who's logged in at the time
Code:
root@offsec:~# users
os13115 root
>>strace -p1247
Code:
recvmsg(3, 0x7ffdd5fda7d0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(3, 0x7ffdd5fda460, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(3, 0x7ffdd5fda470, 0) = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {32348, 274251441}) = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{"\212\5\2\0+\246b\0\217\3\4\0\333\23`\0\0\0\0\0+\246b\0\212\21\3\0+\246b\0"..., 68}, {NULL, 0}, {"", 0}], 3) = 68