[Pharo-users] CommandLineHandler surprises

Sven Van Caekenberghe sven at stfx.eu
Wed Jan 27 17:03:04 EST 2016


> On 27 Jan 2016, at 22:56, Jimmie Houchin <jlhouchin at gmail.com> wrote:
> 
> Yes, I did not express myself well. What I am meaning is that I do not expect to have a UI window for the image pop-up. But it does, every time.
> 
> The difference that I can find is that I have been downloading VMs from
> http://files.pharo.org/vm/pharo-spur32/linux/
> 
> These VMs have only a "pharo" and not a "pharo-ui". So ./pharo always opens an image in a UI window.
> 
> When I do
> wget -O- get.pharo.org/stable+vm | bash
> 
> Then it generates a pharo and a pharo-ui script.
> 
> This is probably the problem that I am having is that the manual downloads from the website are not like the zeroconf scripts and so there are no explicit UI and Headless scripts.
> 
> These zeroconf VMs with their differing scripts do exactly as advertised. Are the generated scripts different for different Linux distros? Is there a reason for the zipped downloads on the website to not include them?

They are not that different. The 'secret' is the --nodisplay VM option, that's all. If you know what you are doing, there is actually something to say for not using the .sh wrapper scripts.

> I tried the "get" handler and had it install XMLParser. Very nice.

Good !

Yes, once it works this is all very slick.

> Thanks and Shalom Aleichem.
> 
> Jimmie
> 
> 
> 
> 
> 
> On 01/27/2016 01:21 PM, Sven Van Caekenberghe wrote:
>> Jimmie,
>> 
>> Of course it opens an image, else nothing would work ;-)
>> I suspect you mean it opens a UI ?
>> That should not happen, it depends on what your ./pharo actually is or does.
>> In any case, rest assured, using it on the command line works perfectly.
>> 
>> On the first Linux server that I log in to:
>> 
>> $ cat ~/pharo/bin/pharo
>> #!/usr/bin/env bash
>> # some magic to find out the real location of this script dealing with symlinks
>> DIR=`readlink "$0"` || DIR="$0";
>> DIR=`dirname "$DIR"`;
>> cd "$DIR"
>> DIR=`pwd`
>> cd - > /dev/null
>> # disable parameter expansion to forward all arguments unprocessed to the VM
>> set -f
>> # run the VM and pass along all arguments as is
>> "$DIR"/"pharo-vm/pharo" --nodisplay  "$@"
>> 
>> $ ~/pharo/bin/pharo ~/pharo/build/Pharo.image --list
>> Currently installed Command Line Handlers:
>>     Fuel            Loads fuel files
>>     config          Install and inspect Metacello Configurations from the command line
>>     save            Rename the image and changes file
>>     update          Load updates
>>     printVersion    Print image version
>>     st              Loads and executes .st source files
>>     test            A command line test runner
>>     clean           Run image cleanup
>>     eval            Directly evaluates passed in one line scripts
>> 
>> $ ~/pharo/bin/pharo ~/pharo/build/Pharo.image eval '123 factorial'
>> 12146304367025329675766243241881295855454217088483382315328918161829235892362167668831156960612640202170735835221294047782591091570411651472186029519906261646730733907419814952960000000000000000000000000000
>> 
>> 
>> HTH
>> 
>> Sven
>> 
>>> On 27 Jan 2016, at 19:59, Jimmie Houchin <jlhouchin at gmail.com> wrote:
>>> 
>>> Hello,
>>> 
>>> I am reading the Deep Into Pharo book. I have been playing with the CommandLineHandler. I have been surprised by some of its behavior. Though I have used Pharo a long time. I have not played with it from the command line. I am a very long time Linux user and am very comfortable on the command line.
>>> 
>>> When according to the book I execute:
>>> 
>>> ./pharo Pharo.image --list
>>> 
>>> It will provide me with a list of the available handlers.
>>> 
>>> I did not expect it to open up an image for me. That is not what I expected or wanted. I did not intend to use an image at this time. I am on the command line and expecting to see results there. Not for a new window to pop up.
>>> 
>>> As of yet I have always opened up Pharo on the command line. I have yet to use PharoLauncher, but do intend to do so soon. So I am comfortable with  Pharo opening up a new window and image from the command line.
>>> 
>>> However it is very unintuitive and seemingly unnecessary to open up an image for these command line handlers. I naively think they should simply return the results. Now if that requires opening a headless image for a moment and close, then fine.
>>> 
>>> --list
>>> --help
>>> --version
>>> --copyright
>>> eval
>>> printVersion
>>> 
>>> Some other handlers I do not know if opening an image is the correct default. I have not spent the time learning them yet.
>>> 
>>> Thanks.  Shalom Aleichem.
>>> 
>>> Jimmie
>>> 
>> 
> 
> 





More information about the Pharo-users mailing list