From: Jakub Horky <jakub@ho...> - 2003-06-11 16:29:38
Erik Forsberg napsal(a):
> Some more specific info on what was failing would be useful. I guess the
problem is that rdp.c initializes the channel framework, and the channel
framework sets up a callback from cliprdr.c which is dependent on X11
datastructures and functions. The same problem exists in mcs.c, and in
secure.c rdp5_process_channel is called which calls functions from the
channel framework, and there we go again.
> You probably want the channel framework in the SVGA version as well,
since it opens up for other channels than just clipboard data - sound
support and com port redirection would probably be nice to have in that
version. It might be possible to fix some kind of clipboard support as
well, I don't know how SVGAlib works.
> Perhaps we'll have to #ifdef the initalization of channels. Please not
that you may either allocate 0 or > 2 channels, not 1 channel because that
will mess upp the mapping between RDP5 channels and MCS
> channels. At least that's my experience.
I think #ifdef-ing chanel code is unnecessary. It can exist in any UI
layer. But we have to abstract channel layer from X-specific functions, as
I wrote in previous mail.
Next, I think channels_init() in channels.c shouldn't initialize specific
channels. In my opition, better would be to add callback in specific
channel layer, for example in cliprdr_init() (cliprdr.c) in case of
Then the only place to add further channels will be rdesktop.c (or rdp.c?)
(and some .h, probably proto.h).
I don't know why there must be min 2 channels. The mapping between RDP5
and MCS channels is equal even in case of just 1 channel.
But when I trying connect with only one channel (without "dummych"), it
appears it isn't functional (but perhaps I made something wrong during
testing it). Hmm, I think bug is somewhere else.
Btw, there is a thing I discovered: The server tag SEC_TAG_SRV_3 stores
channel mapping information. It should be named "SEC_TAG_SRV_CHANNELS"
In some case there is additionally a padding word 00 00.
I think we should parse this.
(later) Now I see Matt just adverted it.
I am using a SVGA version of rdesktop and i was wondering if anyone had, or
could suggest, a method by which a user could select a server using a simple
gui. Basically I dont want a user having access to the command line.
Secondly i was looking at how i could get a rdesktop to respawn when someone
logs out i.e. restart rdesktop automagically. i tried entering a line in my
# System initialization.
# Things to run in every runlevel.
# Trap CTRL-ALT-DELETE
# Run gettys
# Respawn rdesktop
::respawn:/sbin/rdesktop -5 -u username 22.214.171.124
This does the trick sort of. It respawns rdesktop ok. However when i type
something it seems to crash, although i can still move the mouse around all i
have it the terminal server login screen. i might be worth mentioning also
the even pressing CAPs or number lock the lights dont work.
I would really appreaciate some help here please.