Wanna see this logo while booting your 2.6 kernel? Click here!

12.05.2007 22:06

A small wrapper-like implementation of the Microsoft Terminal Services Client


Today I wanted to add a nice little feature to my thinclients. They should from now on be able to read and interpret Microsoft Terminal Services configuration files (you know that funny .rdp files, do you?).

I know, that there are several tools out there that are able to read such files, like tsclient, but if you look at the `ldd` output for tsclient, you don't want to have such a beast on your thinclient:
tuxx@vi-edv003:~$ ldd $(which tsclient)
        linux-gate.so.1 =>  (0xffffe000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0xb7c4a000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0xb7c34000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7bf9000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7b66000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7b4f000)
        libc.so.6 => /lib/libc.so.6 (0xb7a0c000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0xb798b000)
        libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0xb7983000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7945000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7859000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7854000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0xb783a000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7837000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7833000)
        libcairo.so.2 => /usr/lib/libcairo.so.2 (0xb77be000)
        libm.so.6 => /lib/libm.so.6 (0xb7797000)
        /lib/ld-linux.so.2 (0xb7fb1000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb776c000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb775e000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7756000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb7752000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb774a000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb7744000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb773b000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb7710000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb76a5000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7691000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb768e000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7689000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb7666000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7645000)
tuxx@vi-edv003:~$

Therefore, I came up with a little shell script that does the basic tricks. It is called "mstsc4l" and can be downloaded from the link below.

Currently, it has a few limitations, like:
# This is a wrapper script for the linux `rdesktop` command and
# is able to read .rdp files made with the Microsoft Terminal Services
# Client (mstsc)
#
# Currently, this version is far from being complete (I only implemented
# the most necessary variables) and it does not support reading from
# Unicode .rdp files, so please convert them to ASCII files first!
#
# mstsc4l, Version 0.1
# by Alexander Griesser 

If someone is willing to implement additional features, step forwards and mail me the results, please.

Links: