Q:

Linux RDesktop Lockups

I have a script I wrote to create RDP connections from Linux workstations to Windows servers. Everything is great when used on a machine plugged into an Ethernet jack but when used on a wireless workstation the rdesktop consistently locks and freezes up after a few minutes of activity. The only way to recover is kill the rdesktop process and relaunch the connection. 
Perhaps I'm not implementing all the correct rdesktop switches, or perhaps I'm missing something obvious?
rdesktop -g "$geometry" -xl -z "$server"
I'm open to alternative remote desktop clients, as long as they provide a CLI interface that I can control through Bash and Python programs. 

A:

It is generally the rdesktop performance which can be optimized using various options
Best suitable are rdesktop -f -z -P -x m -a 16 -r server:port
with -xl you are using lan option for -x, you could better use -xm
-P,-z and -x are mainly used to improve rdesktop perf.
If we use -a option and lower color depth, the message/warning for color depth stops,if you are seeing one and also improves performance. Secondly, m stops sending mouse motion events,so this is again major performance improvement option for rdesktop. 
-f  for full screen  
-z  Enable compression of the RDP datastream.  
-P  Enable caching of bitmaps to disk (persistent bitmap caching). This generally improves performance (especially on low bandwidth connections) and reduces network traffic at the cost of slightly longer startup and some disk space. (10MB for 8-bit colour, 20MB for 15/16-bit colour and 30MB for 24-bit colour sessions)   
-x 
    Changes default bandwidth performance behaviour for RDP5. By default only theming is enabled, and all other options are disabled (corresponding to modem (56 Kbps)). Setting experience to b[roadband] enables menu animations and full window dragging. Setting experience to l[an] will also enable the desktop wallpaper. Setting experience to m[odem] disables all (including themes). Experience can also be a hexidecimal number containing the flags.  
-m  Do not send mouse motion events. This saves bandwidth, although some Windows applications may rely on receiving mouse motion.   
-a 
    Sets the colour depth for the connection (8, 15, 16 or 24).   
-r 
    Enable redirection of the specified device on the client, such that it appears on the server.   

