Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

For some reason, when I remote desktop into a windows xp embedded machine it always takes ages to connect. After the first connection, it connects right away.

Is there a way to stop this delay?

Edit - Update..

I tried runnnig a before and after on the services running on the machine and it looks like after the remote desktop has had it's pause and loaded, the following two processes appear:

csrss.exe
winlogon.exe

Presumably these are the two things which are taking a while to fire up? Which begs the question; how can I get them to start up when the machine starts?

Edit2 - Multiple log-ons..

If one user tries to connect and suffers the 20-30 second delay, subsequent users don't see the same delay which supports the theory that there's something loading up once on the host system.

share|improve this question
    
Any chance that your DNS is going really slowly? –  soandos Aug 14 '12 at 18:35
    
I'm connecting to an IP address so seems unlikely.. –  Jon Cage Aug 14 '12 at 18:51
    
Sounds like some kind of timeout. Could it be a certificate issue? –  taoyue Aug 16 '12 at 2:38
    
How would I check? –  Jon Cage Aug 16 '12 at 8:33
add comment

2 Answers

Check in the Services applet if the Startup type of the service "Terminal Services" is set to Automatic. If it is set to Manual then change it to Automatic.

In explanation, I think that in Windows XP Embedded this service is by default configured to start on demand, started by winlogon.exe after a delay (about 1 minute I think). It is impossible to change this delay, but one can change the startup type to Automatic, which will then make Remote Desktop come up faster, but slightly slow down the overall boot time.

If for some reason you don't have access to the Services applet, the same manipulation can be done via regedit :

Open the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService and change the value of the Start item from "3" to "2" and reboot.

Another hypothesis : The logged user is being prompted for confirmation.

The delay you are experiencing is then the time given to the logged user to confirm or cancel the automatic logoff of his session.

This can be changed in the Local Group Policy Editor (gpedit.msc) under:
Administrative Templates / Windows components / Terminal Services.

Double-click Set rules of remote control of remote desktop services and choose the Option of Full control without user's permission for the logged user not to be prompted for confirmation. I suggest also to reboot.

If you don't have that policy in XPE, it is also found in the registry at:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
as a DWORD key named Shadow, where value 2 means "Full Control without user's permission".

share|improve this answer
    
I just tried that and it made no difference. I still have an ~20-30second delay. –  Jon Cage Jan 15 '13 at 15:12
    
Long time since I last used XP. Are you using vpn? Is there something in the Event log? What operating system on the machine connecting to XP? –  harrymc Jan 15 '13 at 15:33
    
No VPN; standard Ethernet connection via a single D-Link switch (connecting direct makes no difference). I was connecting from a Windows 7 machine, but I get the same behaviour when connecting from a Windows XP machine. –  Jon Cage Jan 15 '13 at 15:44
    
When the remote desktop is first initiated, is there already a logged-in session on the XP? –  harrymc Jan 16 '13 at 11:25
    
Correct; there is a user automatically logged on as soon as the machine starts. –  Jon Cage Jan 16 '13 at 13:12
show 14 more comments

You could log in to the account you want to remote into via the physical machine and then lock the machine (or use "Fast User Switching" if you want to log in to a different account before remoting in).

If the account is already logged in remote desktop connections are pretty quick.

I generally never shut down my work computer or log off of it because of this (I do lock it).

I believe one csrss.exe and winlogon.exe is going to exist for each logged on account on the system. I do know that Windows wants to load your profile before it gives you a useable desktop, and if you are in a domain environment this includes loading your NTUSER.DAT registry hive possibly from a network share, applying GPO policies, and logon scripts.

share|improve this answer
    
The host machine is an embedded device which is relatively frequently rebooted. It always logs onto the same account on startup and the account never locks. The host is on a static IP address and even with a direct link and no domain controller etc. we still see the delay. –  Jon Cage Jan 15 '13 at 14:23
    
An idea: does your mstsc have in the "Local devices and resources" the printers enabled. Clipboard and audio may have an effect. You could try disabling the print spooler on the embedded device and see if that improves speed. Even if you have no printers it still may have an effect to disable it. –  ultrasawblade Jan 16 '13 at 1:44
    
I've tried disabling all sharing on the client connecting in but that had no noticeable affect. Audio is not forwarded. I've just tried disabling print spooling and that made no difference either. –  Jon Cage Jan 16 '13 at 9:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.