#!/usr/bin/perl

my $line;
my $key;
my $value;
my $ipaddr;
my $token;

my $mytoken = $ENV{SUN_SUNRAY_TOKEN};

open (UTNETPIPE, "echo 'status'|/etc/opt/SUNWut/basedir/lib/utnetpipe
0.0.0.0 7010 |");
while(<UTNETPIPE>) {
  chomp;
  $line = $_;

  if ($line eq "end" && $token eq $mytoken) {
    printf "My token: $token\n";
    printf "My IP: $ipaddr\n";
    break;
  }

  ($key, $value) = split('=', $line, 2);
  if ($key eq "terminalIPA") { $ipaddr = $value };
  if ($key eq "tokenName") { $token = $value };
}


On Tue, Aug 3, 2010 at 11:40 AM, Murray Fraser <msfra...@gmail.com> wrote:
> utwho is a script as well, have a read of /opt/SUNWut/bin/utwho
>
> essentially, if you open a tcp socket to port 7010, and send 'status',
> you will get all the information you need, and a lot more.
>
> You can use perl to put it all together (each record is between a
> 'begin' and 'end' line). I think you want the 'terminalIPA' line for
> the ip address, and 'connected=true' for connected.
>
>
>
> On Tue, Aug 3, 2010 at 1:21 AM, CJ Keist <cj.ke...@colostate.edu> wrote:
>> I'm currently trying to figure out the correct IP address for the DTU using
>> the following perl script:
>>
>> #!/usr/bin/perl
>>
>> my $line;
>> my @array;
>> my $ip;
>> my $junk;
>> my $user = $ENV{USER};
>>
>> open(WHO, "/opt/SUNWut/bin/utwho -c|");
>> open(LOG, ">>/tmp/log.txt");
>> while (<WHO>) {
>>    $line = $_;
>>   �...@array = split (' +\s', $line, 5);
>>    print LOG "User: $user $array[1]\n";
>>    if ($user eq $array[1]) {
>>        ($ip, $junk) = split(' ', $array[2], 2);
>>        print LOG "IP: $ip\n";
>>        if ($ip =~ "192.168") {
>>            system("/opt/SUNWut/bin/utswitch -h 192.168.100.12");
>>        }
>>        else {
>>            system("/opt/SUNWut/bin/utswitch -h
>> sunfire5.engr.colostate.edu");
>>        }
>>        break;
>>    }
>> }
>> close(WHO);
>> close(LOG);
>>
>> The problem I'm running into is the case with the following two utwho -c out
>> lines:
>>
>>   2.0 pseudo.00144f946d3e              engr85   192.168.102.208
>> P8-FS.00144f946d3e
>> 10.0 pseudo.00144fd18d32              engr48   129.82.229.249
>>  P8-FS.00144fd18d32
>>
>> The space in the beginning of the  first utwho output is throwing my whole
>> split return in the dumps.  Just wonder if there is a better way in getting
>> the IP of the DTU you are on when running in kiosk mode?  Is the an
>> environment variable set for the IP of the DTU?
>>
>> --
>> C. J. Keist                     Email: cj.ke...@colostate.edu
>> UNIX/Network Manager            Phone: 970-491-0630
>> Engineering Network Services    Fax:   970-491-5569
>> College of Engineering, CSU
>> Ft. Collins, CO 80523-1301
>>
>> All I want is a chance to prove 'Money can't buy happiness'
>>
>> _______________________________________________
>> SunRay-Users mailing list
>> SunRay-Users@filibeto.org
>> http://www.filibeto.org/mailman/listinfo/sunray-users
>>
>
_______________________________________________
SunRay-Users mailing list
SunRay-Users@filibeto.org
http://www.filibeto.org/mailman/listinfo/sunray-users

Reply via email to