On Tuesday 03 July 2012 16:24:55 you wrote:

> > Hope that this helps you,

>

> Can you provide the whole script? It feels like this (or something  

> very much like this) should become part of X2Go upstream.

>

> Thanks+Greets,

> Mike

>

>

> -- 

>

> DAS-NETZWERKTEAM

> mike gabriel, rothenstein 5, 24214 neudorf-bornstein

 

 

Hi, Mike.

 

Here it goes, it's not even very finished but it works for some of our winblows customers. I'm more on the Linux Desktop KDE 4 Nightmare to kiosk thing ;)

I've attached it to you because it will get nasty to get something of inline text.

 

Side note: this script is running in a kind of forgotten by me linux host.

Been hard @ working with KDE 4 as DaaS to replace our aging Debian Lenny with kde3 Linux cloud Desktops.

 

components on the server :

 

freerdp:20120301-2hteles2

cups-x2go:3.0.0.3-0~54~oneiric1

pyhoca-cli:0.1.4.2-0~108~oneiric1

pyhoca-gui:0.1.0.10-0~487~oneiric1

python-x2go:0.1.1.9-0-0~612~oneiric1

x2goagent:2:3.5.0.10-0~186~oneiric1

x2goclient:3.99.0.6-0~144~oneiric1

x2goplugin:3.99.0.6-0~144~oneiric1

x2goserver:3.0.99.10-0~434~oneiric1

x2goserver-compat:3.0.99.10-0~434~oneiric1

x2goserver-extensions:3.0.99.10-0~434~oneiric1

x2goserver-printing:3.0.99.10-0~434~oneiric1

 

 

 

#!/bin/bash

 

# V1.1 (2012/03/01)

# Script para Proxy RDP com optimização de trafego e

# Sem necessidade de usar um Gateway Windows ou

# Expor portas rdp directamente cá fora

# Impressora funciona como PDF - nao tem problemas de compatibilidade

# Se existir um ficheiro ~/.ssh/hostname ele usará esse hostname ( requerido por algumas

# aplicações como o Primavera por exemplo para controle de postos. )

#

# Tecnologias de Base: X2GO-DEV; Xfreerdp-DEV

# 2011 hteles@spikecs.pt; helmer.teles@gmail.com ; http://hteles.wordpress.com

 

 

SCRIPTNAME=`basename $0`

LOGFILE="${HOME}/.$SCRIPTNAME.log"

SERVER=${SCRIPTNAME}

PORT="3389"

SOUND="off"

MOUNTPOINT="${HOME}/media/disk"

 

# Newest x2go have a bug : error loading libNX_Xext.so.6

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/nx/X11"

 

# Newest xfreerdp git versions have a bug with full screen ( -f ) under nxagent

DSIZE=`xdpyinfo |grep -i dimensions|awk '{print $2}'`

 

 

PRINTER=`lpstat -d |cut -d ':' -f 2 |tr -d ' '`

 

check_hostname()

{

USERHOSTFILE="${HOME}/.ssh/hostname"

if ! [ -e ${USERHOSTFILE} ]; then

USERHOSTNAME="SPIKEDEV"

else

MYHOSTNAME=`cat ${USERHOSTFILE} | wc -c`

if [ "$MYHOSTNAME" == "0" ]; then

USERHOSTNAME=${USERHOSTNAME}

else

USERHOSTNAME=`cat ${USERHOSTFILE}`

fi

fi

}

 

check_session_mount_stuff()

{

MYSESSION=`x2golistsessions |cut -d '|' -f2`

PTUNEL=`x2golistmounts ${MYSESSION} |grep -i spool | wc -l`

STUNEL=`x2golistmounts ${MYSESSION} |grep -i disk | wc -l`

}

 

check_mounted_share()

{

if [ "$STUNEL" = "1" ]; then

SHARESTR="disk:PCLOCAL:${MOUNTPOINT}"

else

SHARESTR=""

fi

}

 

check_mounted_printer()

{

if [ "$PTUNEL" = "1" ]; then

PRINTERSTR="printer:$PRINTER"

else

PRINTERSTR=""

fi

}

 

construct_string()

{

BASESTRG="--plugin cliprdr "

 

if [ "$STUNEL" = "1" ] || [ "$PTUNEL" = "1" ]; then

COMMAND="$BASESTRG --plugin rdpdr --data "

CLOSESTRG="--"

fi

 

if [ "$STUNEL" = "1" ]; then

COMMAND="$COMMAND $SHARESTR "

fi

if [ "$PTUNEL" = "1" ]; then

COMMAND="$COMMAND $PRINTERSTR "

fi

 

FINALSTRG="$COMMAND $CLOSESTRG "

}

 

check_user_kbd()

{

#TODO

echo "todo"

}

 

check_user_dimensions()

{

echo "todo"

}

 

 

open_rdp()

{

 

setxkbmap -model pc105 -layout pt

setxkbmap -model pc105 -layout pt

KEYB="0x00000816"

COMMAND=" -d pikets -x 3 -z --gdi hw -g ${DSIZE} -k ${KEYB} -n ${USERHOSTNAME} --sec rdp ${FINALSTRG} ${SERVER}:${PORT}"

# COMMAND=" -d pikets -x 3 -z -f -k ${KEYB} -n ${USERHOSTNAME} --sec rdp ${FINALSTRG} ${SERVER}:${PORT}"

echo "----------------------------------------------------------- SESSION LOG START -----------------------------------------------------" >> $LOGFILE

echo "Our connection is starting @ `date +%F_%T`" >> $LOGFILE

echo "Will Connect to Server: $SERVER @ Port: $PORT " >> $LOGFILE

echo "Will Use Keyboard Code $KEYB" >> $LOGFILE

echo "Will Use ${USERHOSTNAME} as Client Hostname" >> $LOGFILE

echo "Will Exec: xfreerdp -u \"\" $COMMAND" >> $LOGFILE

echo "----------------------------------------------------------- SESSION LOG CLOSE -----------------------------------------------------" >> $LOGFILE

exec xfreerdp -u "" $COMMAND

x2goterminate-session ${MYSESSION}

}

 

touch $LOGFILE

check_hostname

sleep 3

check_session_mount_stuff

check_mounted_share

check_mounted_printer

construct_string

open_rdp

 

 

 

 

 

--

Helmer Teles

 

eM@il : helmer.teles@gmail.com

MSN_ID : helmer.teles@gmail.com

Web Page: http://hteles.wordpress.com

Phone: : +351 96 792 10 86