[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