[Sugar-devel] Terminal.xo patch: do not die if the cwd is gone
paul fox
pgf at laptop.org
Tue Nov 3 12:08:20 EST 2009
On Tue, Nov 3, 2009 at 11:04 AM, Martin Langhoff
<martin.langhoff at gmail.com> wrote:
> Attached is a trivial patch that handles gracefully the situation
> where cwd does not exist anymore or is no longer accessible to the
> olpc user.
>
frankly, i think the whole state-saving notion in Terminal (and other
terminal emulators i've seen) is flawed, and a bad idea, for
exactly this sort of reason. shell sessions are _not_ restartable
without far more work than is being done now: enviroment
variables are lost, background jobs are lost, aliases are gone,
mount points are different, etc etc. unlike the relatively closed
application environment that most activities live in, a terminal
shell has the whole system as its "current state". far better to
not pretend to be restoring something which cannot be done --
the current behavior gives a very misleading impression of how
shells work. if one wants to preserve state, the solution is
obvious: don't kill Terminal in the first place -- just switch away from it.
(i understand the desire for restoring scrollback -- that's useful history.
but i think the old text should be greyed out, and/or there should be
a big "*End of previous session scrollback*" message separating it
from the new text.and current directory should not be restored.)
paul
> Without it,
> - mount a usb disk
> - open Terminal.xo, change directory to /media/my-usb-disk/
> - close Terminal.xo
> - unmount / remove usb disk
> - try to open Terminal.xo => fails to start
>
> cheers,
>
>
>
> m
--
=---------------------
paul fox, pgf at laptop.org
More information about the Sugar-devel
mailing list