[squeak-dev] GSoC time

David T. Lewis lewis at mail.msen.com
Sat Feb 8 20:36:50 UTC 2014


On Fri, Feb 07, 2014 at 10:54:15AM -0800, tim Rowledge wrote:
> 
> On 07-02-2014, at 2:13 AM, Frank Shearar <frank.shearar at gmail.com> wrote:
> 
> > What else might we usefully propose?
> 
> A terminal window to talk to your OS command line; there is a way to make
> the Pi boot into Scratch but once you do that you have a hard time doing
> anything else. A terminal window would mean being able to do things like
> `apt-get upgrade scratch` more easily. 
>

Hi Tim,

If you are thinking of Linux on Pi, then try loading CommandShell and OSProcess
from SqueakMap (or from their repos on squeaksource.com).

Then from the toolbar, open Apps -> Squeak Shell.

On a unix/linux system, you can set up an account to log directly into Squeak
as a replacement for the normal interactive shell, then within the image you
can open a Squeak Shell. There are some limitations, for example do not try to
use vi or emacs (though you can use the built in command "edit" to edit files
in Squeak). But the result is a computer that boots directly into Squeak, and
gives you a limited simulation of a unix shell from within the image.

Unfortunately, you will not be able to do "sudo apt-get upgrade scratch" because
sudo is smart enough to figure out that somebody is doing something outside of
a real terminal session(*), but maybe we can figure a way around that.

If you are thinking Risc OS, then it is a much more interesting problem. There
are stub classes RoscOSProcess, RiscOSProcessAccessor, and ExternalRiscOSProcess,
so in theory if we could make those do useful things, then CommandShell would
begin working too (though I expect that there would be some file system syntax
issues to work out). Now *that* would be a real GSoC challenge.

(*) If you try doing something like "$ sudo su -" in your Squeak shell window,
you will find your image locked up, waiting on a blocking read. Go to the
linux terminal window from which you started Squeak, and type the command "fg"
(meaning bring a background process, the Squeak VM, back to the foreground and
attach it to your shell. You will then see the prompt from the sudo command,
which will look like this:

[sudo] password for lewis: 

Then enter your password, press enter, and Squeak will resume. Of course, this
won't help if you logged directly into Squeak with no unix shell, so catch-22.

Dave



More information about the Squeak-dev mailing list