LinuxLudus: Nuovo script perl per eseguire 'ica' (demone ITALC)

Valerio Pachera sirio81@gmail.com
Gio 6 Dic 2007 08:11:33 CET


Il 05/12/07, Valerio Pachera<sirio81@gmail.com> ha scritto:
> Ho modificato lo script per l'esecuzione di "ica" in modo da importare
> un'altra variabile d'ambiente per ricavare l'IP del thin clinet (TC).

Ok, lo scirpt sembra essere completo.
L'ho potuto testare solo su un thin client però.
Se qualcuno avesse la possibilità di testarlo e riportare il risultato
sarebbe perfetto.
La differenza principale fra lo script originale e questo è che il
primo usava la variabile d'ambiente $DISPLAY per ricavare l'IP del TC,
il secondo invece usa la variabile $ESPEAKER.
$DISPLAY non mostra più il nome dell'hostname per qualcosa a che fare
con il tunnel ssh. $ESPEAKER invece, sontiene l'IP del thin client
quando lo script è eseguito sul thin client, mentre è vuota (o meglio
non definita), quando lo script è lanciato sul server.

---SCRIPT RC1---
#!/usr/bin/perl -w

use Socket;
use strict;

#Dichiaro i valori di default delle variabili, usati
#nel caso in cui lo script venga eseguito sul server.
my $isdport = 5800;
my $ivsport = 11000;

#Importo le varibile d'ambiente
#$address non sarà definita se lo script è eseguito sul server
$display = $ENV{'DISPLAY'};
$address = $ENV{'ESPEAKER'};


if (defined($address) == 1) {
	print "ESPEAKER: $address";
	$address =~s/:[^:]*$//;
	#Prendo la parte finale dell'IP
	$address =~ s/(\d*).(\d*).(\d*).(\d*)/$4/;
	my $IVSBASEPORT = 11000;
	my $ISDBASEPORT = 11400;
	$ivsport = $IVSBASEPORT+$address;
	$isdport = $ISDBASEPORT+$address;
}

#Finally start ICA:
system("/usr/bin/ica -noshm -ivsport $ivsport -isdport $isdport
-display $display  &");
--------------------------------


Domanda per chi conosce il perl:
  if (defined($address) == 1)
è possibile scrivere solo
  if (defined($address) )
oppure
  if (defined($address) == true)
?


Maggiori informazioni sulla lista linuxludus