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