Resuta que el fantástico gestor de conexiones PAC (pacmanager), escrito en perl, está abandonado.
Funciona perfectamente bien PEEEEEERO resulta que xfreerdp han cambiado los formatos de los parámetros por lo que PAC ejecuta "mal" xfreerdp.
He buscado alternativas pero ninguna me ha funcionado (ni el Remmina en fedora kde) así que como PAC está implementado con PERL he mirado de intentar cambiar como PAC envía los parámetros a xfreerdp.
Buscando por internet, encontramos las primeras pistas:
Así pues he optado por modificar el pac_conn directamente para "reconstruir" los parámetros que me interesa:
Funciona perfectamente bien PEEEEEERO resulta que xfreerdp han cambiado los formatos de los parámetros por lo que PAC ejecuta "mal" xfreerdp.
He buscado alternativas pero ninguna me ha funcionado (ni el Remmina en fedora kde) así que como PAC está implementado con PERL he mirado de intentar cambiar como PAC envía los parámetros a xfreerdp.
Buscando por internet, encontramos las primeras pistas:
- /usr/share/pacmanager/lib
Así pues he optado por modificar el pac_conn directamente para "reconstruir" los parámetros que me interesa:
- -a #bps -> /bpp:#
- -d dominio -> /d:dominio
- elimino los espacios despues de ':'
############################################## # TERMINAL DESKTOP METHODS (rdp, vnc, etc) ############################################## elsif ( $METHOD =~ /^.*RDP \((.+)\).*$/ ) { $METHOD = $1; if ( ( defined $$CFG{'tmp'}{'xid'} ) && ( $METHOD eq 'rdesktop' ) ) { $connection_cmd = "$METHOD -X $$CFG{'tmp'}{'xid'} -g $$CFG{'tmp'}{'width'}x$$CFG{'tmp'}{'height'} $CONNECT_OPTS" . ( $MANUAL ? '' : " -u $USER -p -" ) . " $IP:$PORT"; $connection_txt = "$METHOD -X $$CFG{'tmp'}{'xid'} -g $$CFG{'tmp'}{'width'}x$$CFG{'tmp'}{'height'} $CONNECT_OPTS" . ( $MANUAL ? '' : " -u $USER -p -" ) . " $IP:$PORT"; } elsif ( defined $$CFG{'tmp'}{'xid'} ) { # # Modification of $CONNECT_OPTS to acomodate to xfreerdp (why don't use PACMethod_xfreerdp????) # my $options = $CONNECT_OPTS; $options =~ s/-a/\/bpp:/; $options =~ s/-d/\/d:/; $options =~ s/\:\ /\:/g; $connection_cmd = "$METHOD /size:$$CFG{'tmp'}{'width'}x$$CFG{'tmp'}{'height'} $options" . ( $MANUAL ? '' : " /u:$USER /p:$PASS" ) . " /v:$IP:$PORT"; $connection_txt = "$METHOD /size:$$CFG{'tmp'}{'width'}x$$CFG{'tmp'}{'height'} $options" . ( $MANUAL ? '' : " /u:$USER /p:$PASS" ) . " /v:$IP:$PORT"; #open (FILE,">> /tmp/pac.log"); #print FILE "-- options: $options\n"; #print FILE "-- run: $connection_cmd\n\n"; #close (FILE); } elsif ( $METHOD eq 'rdesktop' ) { $connection_cmd = "$METHOD $CONNECT_OPTS" . ( $MANUAL ? '' : " -u $USER -p -" ) . " -T \"$TITLE\" $IP:$PORT"; $connection_txt = "$METHOD $CONNECT_OPTS" . ( $MANUAL ? '' : " -u $USER -p -" ) . " -T \"$TITLE\" $IP:$PORT"; } else { $connection_cmd = "$METHOD $CONNECT_OPTS" . ( $MANUAL ? '' : " /u:$USER" ) . " /v:$IP:$PORT /t:\"$TITLE\""; $connection_txt = "$METHOD $CONNECT_OPTS" . ( $MANUAL ? '' : " /u:$USER" ) . " /v:$IP:$PORT /t:\"$TITLE\""; }
Comentarios