How do I add my name to the change request?
Does it have a number?

Ivar

Craig Bender schreef:
Yes, absolutely.

These points are covered and items supported interfaces are called out. On the same note, supported interfaces that never really were designed to work on a server with 500 sessions all starting are also pointed out.

In the interim I will be covering "unsupported" but "mostly stable" things that you can use until we get a few things done behind the scenes.

Biggest thing that will make all of this come together cleaner is somthing I have a RFE filed to allow easier use of this information, some sort of tool called something like utinfo/kioskutil/etc.

Basically it's way to get commonly used information, without having to muck with awk, sed, etc. I'll keep you posted. There are some other items that we need to address. Suppose we can't get the IP without invoking authd, then perhaps we need to look at making changes to authd that wouldn't allow the ill effects we see today

Related, I don't think we can "escalate" an RFE, but I may ask those of you that have valid support contracts to "add your name" to the Change Request. At least it may help justify priorities and perhaps maybe even code slinger. :)

The SDK itself has morphed into a series of docs (I never really liked the term SDK as it applied to this exercise). Beginning and advanced kiosk customization guides, technical architecture, and then sample kiosk deployments such as digital signage, and pretty much etc. Should be out soon, I think we are going to put it up on the wiki which will make it a bit more fluid. Also, a sizing guide (gasp)!

Ivar Janmaat wrote:
Hello Graig,

Would this not qualify for your SDK?
There are more installations in the field who want to do stuff based on ip/subnet information.

Another option I thought of for the SDK was some sort of tuning wizard.
The wizard can set some best practice parameters based on the number of users the server should be able to handle.
Today you can run from 4 to 500 Sun Rays on an entry level server.
IT staff with a Windows systems background will not be able to set specific Solaris file and memory settings and other settings for optimal performance in all situations. Maybe a simple script which will validate and advise will be helpful to them.

Kind regards,

Ivar

Bob Doolittle schreef:
Craig Bender wrote:
Bob D is 100% correct, utwho (or anything that invokes or could tie up authd) can be dangerous. Can't stress this enough for custom kiosk creation, though I understand that yours isn't in the kiosk script.

I'm a big believer in keeping things simple. There's really no reason to use perl here.

While the following isn't "supported" because we don't guarantee that the files in /tmp/SUNWut/config won't change, it works very nicely and is a lot less "lines of code"

#!/bin/sh
MYDISP=`echo $DISPLAY | awk -F: '{print $2}' | awk -F. '{print $1}'`
MYTERM=`grep TERMINAL /tmp/SUNWut/config/dispinfo/$MYDISP | awk -F. '{print $2}'`
/opt/SUNWut/bin/utwho -c |grep $MYTERM | awk '{print $4}'


That could be simplified as well for less invocations of awk/grep. With respect, Craig, there's never an excuse for more than one invocation of sed/awk/grep on the same input string. It's inefficient and unnecessary. To get IP address, I would simplify your script as follows:

MYDISP=`echo $DISPLAY | awk -F: '{ split($2,a,"."); print a[1] }'`
MYTERM=`awk -F. '/^TERMINAL_ID=/ {print $2}' /tmp/SUNWut/config/dispinfo/$MYDISP`
/opt/SUNWut/bin/utwho -c | awk "/${MYTERM}\$/ { print \$4 }"

Also note the additional pattern constraint anchors on the 2nd and 3rd lines. That might help future-proof this approach somewhat.

Sorry - I just couldn't resist :-)

-Bob




CJ Keist wrote:
Murray, Thank you!
Thanks for all the replies. I did get my script working by verifying the user name field from the utwho output first. If I couldn't find the prefix of my kiosk account then adjust my array index accordingly. But this script is what I think I'm looking for, thanks for this sample Code! I don't think I need to worry about overloading the utauthd, as this script wouldn't be called at a kiosk session start up but only when a user sits down and selects what desktop environment they want to work in.


On 8/2/10 8:38 PM, Murray Fraser wrote:
#!/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

_______________________________________________
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


_______________________________________________
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


_______________________________________________
SunRay-Users mailing list
SunRay-Users@filibeto.org
http://www.filibeto.org/mailman/listinfo/sunray-users

Reply via email to