Interact with the desktop isn't needed for shmem. What is needed is that the script and ioftpd are run from the same account/session.
shmem works just fine when using a service with "Log on as: This account:"
[14:34:45] [L] site cid listbot
[14:34:45] [L] 200-CIDX;0;Mouton;NoGroup;*;127.0.0.1;idle;STAT -la;/;0;0
[14:34:45] [L] 200 Command successful.
and SSL works just fine:
[14:48:17] [L] Connecting to Localhost -> IP=127.0.0.1 PORT=9998
[14:48:17] [L] Connected to Localhost
[14:48:17] [L] Connected. Negotiating SSL/TLS session..
[14:48:17] [L] SSL/TLS negotiation successful...
[14:48:17] [L] TLSv1/SSLv3 encrypted session using cipher RC4-MD5 (128 bits)
[14:48:17] [L] 220 ioFTPD [www:
http://www.ioftpd.com] - [version: beta 5] server ready.
[14:48:17] [L] USER Mouton