[Glass] GemTools on remote server

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Thu Mar 26 10:49:33 PDT 2015


Dario,

Good questions.

As part of my work for the soon to be released gsDevKitHome 1.0.0, I 
have taken a pretty close look at the prerequisites[2] and I've got a 
detailed list of the prerequisites for Ubuntu14.04[2]. I think I've 
added a couple of prereqs since you've done an install ... mainly in the 
areas of support for ptrace (C stack straces) and freetype fonts for 
pharo.  Check you list against the required prereqs[5].

It looks like you have the X11 Client already installed on the server, 
so you will need to install GemTools on the server. You should just be 
able to scp the GemTools zip file over to the server and go ...

For the best performance using GemTools, I think that X11 forwarding[3] 
(instructions included) is probably the best option. In my limited 
experience using X11 forwarding (with compression) with tODE, the update 
delays are not nearly as annoying as the pretty long round trip induced 
delays seen when using GemTools over the WAN.

On the other hand, I think that SSH port forwarding[4] is the best 
option for tODE. tODE does a pretty good job of limiting the number of 
round trips so having snappier window updates is appreciated.

Does that clarify things for you?

Dale

[1] 
https://github.com/GsDevKit/gsDevKitHome/blob/dev/docs/osPrereqs/osPrereqs.md
[2] 
https://github.com/GsDevKit/gsDevKitHome/blob/dev/docs/osPrereqs/ubuntu14.04.md
[3] 
https://github.com/GsDevKit/gsDevKitHome/blob/dev/docs/x11ForwardingForRemoteDisplays.md
[4] 
https://github.com/GsDevKit/gsDevKitHome/blob/dev/docs/portForwardingForRemoteLogins.md
[5] 
https://github.com/GsDevKit/gsDevKitHome/blob/dev/docs/osPrereqs/ubuntu14.04.md#install-basic-prerequisites-required

On 03/26/2015 05:11 AM, Dario Trussardi via Glass wrote:
> Dale, Mariano,
>
> for now my server tODE environment is installed into my office and i 
> don't have performance problem with GemTools.
>
> But the next week the server will installed on remote office of my 
> client and i'm interested to work on it from my home office on WAN.
>
> But i don't have clear that i need to install on the server.
>
> The server is based on Ubuntu 14.04 server  and for now i installed:
>
> sudo apt-get -y install git
> sudo apt-get -y install unzip
> sudo apt-get -y install curl
> sudo apt-get -y install libpam0g:i386
> sudo apt-get -y install libssl1.0.0:386
> sudo apt-get -y install libssl1.0.0:i386
> sudo apt-get -y install -qq gcc-multilib libstdc++6:i386
> sudo ln -s /usr/lib/i386-lin-gnu/libstdc++.so.6 
> /usr/lib/i386-linux-gnu/libstdc++.so
>
> sudo apt-get -y install libx11-6:i386
> sudo apt-get -y install libgl1-mesa-dev:i386
> sudo apt-get -y install libxcb-dri2-0:i386
>
> What other i need to load ?
>
> What i need to load for GemTools on the server( and relative 
> prerequisite ) ?
>
> After installed all, how i can test the GemTools load on the server 
> with X11 forwarding ?
>
> Into another e-mail Dale write:
>
>> Things are a bit snappier if I use port forwarding, but the advantage 
>> of XLL forwarding is that you don't have to install GemTools on the 
>> remote system...
>
> But relative performance are good?
>
> What is the best solutions, i'm confusing?
>
> Thanks for any help, considerations.
>
> Dario
>
>> Mariano,
>>
>> You have a point that ssh tunneling for X may be a better option ...
>>
>> Dario, When we get the port forwarding option working, you can give 
>> X11 forwarding a go.
>>
>> You'd need to install the X client on your server and I have another 
>> little writeup (that's part of the soon to be release gsDevKitHome 
>> 1.0.0) that details the X packages that need to be installed for X11 
>> client [1], since you don't need the full blown X server for X11 
>> forwarding.
>>
>> Dale
>>
>> [1] 
>> https://github.com/GsDevKit/gsDevKitHome/blob/dev/docs/osPrereqs/ubuntu14.04.md#x11-client-optional
>> On 3/25/15 7:14 AM, Mariano Martinez Peck wrote:
>>> Dario,
>>>
>>> I did not read the full email.... but If you allow me a quick 
>>> recommendation (maybe offtopic here), I would not use remote 
>>> GemTools. It is really too slow and becomes unusable. It is far 
>>> easier and faster to use SSH with X forward and run GemTools locally 
>>> in your server. So in GemTools you simply put localhost etc... and 
>>> then do ssh -X etc..
>>>
>>> And you can even improve performance of SSH with X by doing:
>>>
>>> alias ssh-x='ssh -c arcfour,blowfish-cbc -XC'
>>>
>>> then ssh-x myserver...
>>>
>>> Best,
>>>
>>>
>>>
>>> On Wed, Mar 25, 2015 at 11:02 AM, Dale Henrichs via Glass 
>>> <glass at lists.gemtalksystems.com 
>>> <mailto:glass at lists.gemtalksystems.com>> wrote:
>>>
>>>     Dario,
>>>
>>>     I'll have to wait for Martin to chime in with what he thinks may
>>>     be going on now ...
>>>
>>>     but, I'm inclined to take a different tack to address your
>>>     GemTools remote login problem.
>>>
>>>     You have ssh installed and you can log into the remote machine
>>>     using ssh, so you should be able to setup ssh port forwarding
>>>     for GemTools.
>>>
>>>     I've done a writeup on this as part of the soon to be released
>>>     gsDevKitHome 1.0.0[1].
>>>
>>>     In a nutshell you do the following (after setting up the static
>>>     ip address):
>>>
>>>     ssh scandella -l scandella -L 57858:localhost:57858  -L
>>>     57860:localhost:57860
>>>     # cd to your gestionale directory
>>>     . defStone.env
>>>     $GEMSTONE/bin/startnetldi -a scandella -g -p 57860:57860 -P
>>>     57858 gestionale
>>>
>>>     The use localhost in your session description, :
>>>
>>>       OGCustomSessionDescription new
>>>     name: 'Scandella3106 gestionale';
>>>     stoneHost: 'localhost';
>>>     stoneName: 'gestionale';
>>>     gemHost: 'localhost';
>>>     netLDI: '57858';
>>>
>>>     Dale
>>>
>>>     [1]
>>>     https://github.com/GsDevKit/gsDevKitHome/blob/dev/docs/portForwardingForRemoteLogins.md
>>>
>>>
>>>     On 3/25/15 3:07 AM, Dario Trussardi via Glass wrote:
>>>>     Dale,
>>>>
>>>>>     Dario,
>>>>>
>>>>>     Replace the line:
>>>>>
>>>>>       $GS_HOME/bin/tode startnetldi $stoneName -A192.168.1.10
>>>>>
>>>>>     with a direct call to the startnetldi as described in my last
>>>>>     email:
>>>>>
>>>>>       $GEMSTONE/bin/startnetldi -g -a $USER -A192.168.1.10 -l \
>>>>>     $GEMSTONE_LOGDIR/${stoneName}_ldi.log \
>>>>>     ${stoneName}_ldi
>>>>>
>>>>>     BUUUUUUT,
>>>>>
>>>>
>>>>     OK i do this test, i report what i do:
>>>>
>>>>
>>>>>     before we get to the point where we are trying to debug the
>>>>>     startNetldi script, let's verify that you can start a netldi
>>>>>     that works with your remote GemTools. So:
>>>>>
>>>>>       1. login in as the user that is running your stone processes
>>>>     I login as scandella
>>>>>       2. cd $GS_HOME/gemstone/stones/<stone-name>
>>>>     i go to my gestionale stone   directory
>>>>>       3. execute the following bash script:
>>>>>           .  defStone.env
>>>>     i do the command:    . defStone.env( with a blank after the. )
>>>>
>>>>>       4. then manually start the netldi:
>>>>>           $GEMSTONE/bin/startnetldi -g -a $USER -A192.168.1.10 -l \
>>>>>     $GEMSTONE_LOGDIR/${GEMSTONE_NAME}_ldi.log \
>>>>>     ${GEMSTONE_NAME}_ldi
>>>>     i do the command :
>>>>      $GEMSTONE/bin/startnetldi -g -a scandella -A192.168.1.10 -l
>>>>     $GEMSTONE_LOGDIR/gestionale_ldi.log \gestionale_ldi
>>>>     It Report:
>>>>
>>>>         GemStone version '3.1.0.6'
>>>>         startnetldi[Info]: Starting GemStone network server
>>>>         'gestionale_ldi'.
>>>>         startnetldi[Info]: GEMSTONE is:
>>>>         '/opt/oodb/gsDevKitHome/gemstone/stones/gestionale/product'.
>>>>         startnetldi[Info]: GEMSTONE_NRS_ALL is:
>>>>         '#dir:$GEMSTONE_LOGDIR#log:%N%P.log'.
>>>>         startnetldi[Info]: Log file is
>>>>         '/opt/oodb/gsDevKitHome/gemstone/stones/gestionale/logs/gestionale_ldi.log'.
>>>>         startnetldi[Info]: GemStone server 'gestionale_ldi' has
>>>>         been started, process 4336 .
>>>>
>>>>
>>>>     Now the scandella at scandella:~$ netstat -ltpn
>>>>
>>>>     command report :
>>>>
>>>>             (Non tutti i processi potrebbero essere identificati,
>>>>             le informazioni sui processi non propri
>>>>
>>>>              non saranno mostrate, per visualizzarle tutte bisogna
>>>>             avere privilegi di root.)
>>>>
>>>>             Connessioni Internet attive (solo server)
>>>>
>>>>             Proto CodaRic CodaInv Indirizzo locale  Indirizzo
>>>>             remoto       Stato     PID/Program name
>>>>
>>>>             tcp        0      0 0.0.0.0:21 <http://0.0.0.0:21/>    
>>>>                      0.0.0.0:*     LISTEN      -
>>>>
>>>>             tcp        0      0 0.0.0.0:22 <http://0.0.0.0:22/>    
>>>>                      0.0.0.0:*     LISTEN      -
>>>>
>>>>             tcp        0      0 0.0.0.0:25 <http://0.0.0.0:25/>    
>>>>                      0.0.0.0:*     LISTEN      -
>>>>
>>>>             tcp        0      0 0.0.0.0:80 <http://0.0.0.0/>      
>>>>                    0.0.0.0:*     LISTEN      -
>>>>
>>>>             tcp6       0      0 :::22               :::*    
>>>>              LISTEN      -
>>>>
>>>>             tcp6       0      0 :::25               :::*    
>>>>              LISTEN      -
>>>>
>>>>             tcp6       0      0 127.0.0.1:57858
>>>>             <http://127.0.0.1:57858/>         :::*  LISTEN    
>>>>              4336/netldid
>>>>
>>>>             tcp6       0      0 ::1:57858               :::*    
>>>>              LISTEN      4336/netldid
>>>>
>>>>             tcp6       0      0 192.168.1.10:57858
>>>>             <http://192.168.1.10:57858/>      :::*  LISTEN    
>>>>              4336/netldid
>>>>
>>>>             tcp6       0      0 127.0.0.1:54660
>>>>             <http://127.0.0.1:54660/>         :::*  LISTEN    
>>>>              4248/shrpcmonitor
>>>>
>>>>             tcp6       0      0 ::1:54660               :::*    
>>>>              LISTEN  4248/shrpcmonitor
>>>>
>>>>             tcp6       0      0 :::57323                :::*      
>>>>              LISTEN      4246/stoned
>>>>
>>>>
>>>>>       5. test your remote GemTools
>>>>
>>>>     I update the GemTools session:
>>>>
>>>>       OGCustomSessionDescription new
>>>>     name: 'Scandella3106 gestionale';
>>>>     stoneHost: 'scandella';
>>>>     stoneName: 'gestionale';
>>>>     gemHost: 'scandella';
>>>>     netLDI: '57858';
>>>>     .............
>>>>     ...........
>>>>
>>>>     It don't work, when i do theGemTools loginthe system go into loop
>>>>
>>>>      until i stoped the:gestionale_ldi 4336 process
>>>>
>>>>     Thanks,
>>>>
>>>>     Dario
>>>>>
>>>>>     When we get GemTools working with a manually started netldi,
>>>>>     then you can try changing the startNetldi script.
>>>>>
>>>>>     Dale
>>>>>
>>>>>     On 03/24/2015 04:02 PM, Dario Trussardi via Glass wrote:
>>>>>>     Dale, Martin,
>>>>>>
>>>>>>>     On 03/24/2015 01:02 PM, Dario Trussardi via Glass wrote:
>>>>>>>>
>>>>>>>>     What do you intend with:  did this fix it for you?
>>>>>>>>
>>>>>>>>     For now i don't resolve the problem.
>>>>>>>
>>>>>>>     OK, thanks. From your previous message I wasn't sure whether
>>>>>>>     you were
>>>>>>>     still seeing the problem.
>>>>>>>
>>>>>>>>
>>>>>>>>     Considerations?
>>>>>>>
>>>>>>>     The netldi is only listening on the IPv6 localhost address.
>>>>>>>     If you want
>>>>>>>     to use GemTools from another machine, it must also listen on the
>>>>>>>     192.168.1.10 address. I'm not sure why it isn't already
>>>>>>>     listening on
>>>>>>>     that address, but you should be able to fix it by adding
>>>>>>>     -A192.168.1.10
>>>>>>>     to your startnetldi command line (see the man page for
>>>>>>>     startnetldi).
>>>>>>>
>>>>>>>     Once you've started netldi with that option, netstat -ltpn
>>>>>>>     should show
>>>>>>>     netldi listening on that address.
>>>>>>
>>>>>>     First:my environment is based on tODE and i think to change
>>>>>>     the file startNetldi
>>>>>>
>>>>>>     adding some parameter to the last line.
>>>>>>
>>>>>>         #! /bin/bash
>>>>>>         #=========================================================================
>>>>>>         # Copyright (c) 2014 GemTalk Systems, LLC
>>>>>>         <dhenrich at gemtalksystems.com
>>>>>>         <mailto:dhenrich at gemtalksystems.com>>.
>>>>>>         #=========================================================================
>>>>>>
>>>>>>         usage() {
>>>>>>           cat <<HELP
>>>>>>         USAGE: $(basename $0) [-h] <stone-name>
>>>>>>          Start the netldi process for the given stone.
>>>>>>
>>>>>>         OPTIONS
>>>>>>           -h display help
>>>>>>
>>>>>>         EXAMPLES
>>>>>>           $(basename $0) -h
>>>>>>           $(basename $0) kit
>>>>>>
>>>>>>         HELP
>>>>>>         }
>>>>>>
>>>>>>         set -e # exit on error
>>>>>>         if [ "${GS_HOME}x" = "x" ] ; then
>>>>>>           echo "the GS_HOME environment variable needs to be
>>>>>>         defined"; exit 1
>>>>>>         fi
>>>>>>         source ${GS_HOME}/bin/shFunctions
>>>>>>         getOpts_help $@
>>>>>>
>>>>>>         if [ $# -ne 1 ]; then
>>>>>>           usage; exit 1
>>>>>>         fi
>>>>>>         stoneName=$1
>>>>>>
>>>>>>         echo "starting netldi $stoneName"
>>>>>>
>>>>>>         # set up stone environment
>>>>>>         stonePath=$GS_HOME/gemstone/stones/$stoneName
>>>>>>         pushd $stonePath >& /dev/null
>>>>>>         source $stonePath/stone.env
>>>>>>         popd >& /dev/null
>>>>>>
>>>>>>         $GS_HOME/bin/tode startnetldi $stoneName -A192.168.1.10
>>>>>>
>>>>>>     But with this information when i do the command :
>>>>>>     startNetlidi gestionale  i don't solve the problem.
>>>>>>
>>>>>>     The netstat -ltpn don't report  netldi listening on that address.
>>>>>>
>>>>>>
>>>>>>     Second:in addition  the service are  started with Daemontools
>>>>>>     Gemstone service and  i don't know where i need add the -A
>>>>>>     parameter.
>>>>>>
>>>>>>     Anyone know informations about it ?
>>>>>>
>>>>>>     Thanks,
>>>>>>
>>>>>>     Dario
>>>>>>
>>>>>>
>>>>>>
>>>>>>>     Regards,
>>>>>>>
>>>>>>>     -Martin
>>>>>>>
>>>>>>
>>>>>>
>>>>>>     _______________________________________________
>>>>>>     Glass mailing list
>>>>>>     Glass at lists.gemtalksystems.com  <mailto:Glass at lists.gemtalksystems.com>
>>>>>>     http://lists.gemtalksystems.com/mailman/listinfo/glass
>>>>>
>>>>>     _______________________________________________
>>>>>     Glass mailing list
>>>>>     Glass at lists.gemtalksystems.com
>>>>>     <mailto:Glass at lists.gemtalksystems.com>
>>>>>     http://lists.gemtalksystems.com/mailman/listinfo/glass
>>>>
>>>>
>>>>
>>>>     _______________________________________________
>>>>     Glass mailing list
>>>>     Glass at lists.gemtalksystems.com  <mailto:Glass at lists.gemtalksystems.com>
>>>>     http://lists.gemtalksystems.com/mailman/listinfo/glass
>>>
>>>
>>>     _______________________________________________
>>>     Glass mailing list
>>>     Glass at lists.gemtalksystems.com
>>>     <mailto:Glass at lists.gemtalksystems.com>
>>>     http://lists.gemtalksystems.com/mailman/listinfo/glass
>>>
>>>
>>>
>>>
>>> -- 
>>> Mariano
>>> http://marianopeck.wordpress.com <http://marianopeck.wordpress.com/>
>>
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com <mailto:Glass at lists.gemtalksystems.com>
>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>
>
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20150326/97402a1f/attachment-0001.html>


More information about the Glass mailing list