[X2Go-Dev] Fullscreen RDP sessions with X2Go
Helmer Teles
helmer.teles at gmail.com
Tue Jul 3 16:57:46 CEST 2012
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 at spikecs.pt; helmer.teles at 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 at il : helmer.teles at gmail.com
MSN_ID : helmer.teles at gmail.com
Web Page: http://hteles.wordpress.com
Phone: : +351 96 792 10 86
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20120703/6f28efc6/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: generic.freerdp
Type: application/x-shellscript
Size: 3411 bytes
Desc: not available
URL: <http://lists.x2go.org/pipermail/x2go-dev/attachments/20120703/6f28efc6/attachment.bin>
More information about the x2go-dev
mailing list