[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFC] Add support for shells in the graphical installer



On Thursday 10 July 2008, Jérémy Bobbio wrote:
> > I'd really like to see this before forming a final opinion,
> > especially as it has an impact on the graphical installer as a whole.
>
> Ok, here it is:

I've played around with it quite a lot and here are my comments. I realize 
that this is an intermediate solution that will be improved later, but 
I'll still just list everything I have for discussion. I don't expect 
everything to necessarily be solved.

Main thing still is that it's great to have a graphical shell and that it 
would be a real plus if we can get it ready in time for Lenny. At the 
same time, it should IMO be solid enough to be included.

First and most importantly: I've not seen any crashes or weird glitches.


Integration into the installer has some problems I think. I really likes 
the "tabs" idea in your previous test image especially because that also 
offered a scrollable syslog screen _with_ correct display in foreign 
scripts. It also makes the shell available in parallel to the 
installation process instead of temporarily replacing it.

However, I do see that this implementation is simpler and there were 
issues with the tabs, so post-Lenny for that is fine.
It would still be nice if an extra menu item could be added "View system 
log" that shows a tail of 500 lines or so.


What I really don't like from a usability PoV is the requirement to 
type 'exit' to leave the shell and the IMO unnecessary "two-step exit" 
(first 'exit' and then 'Continue').

Is it technically not possible to just quit the plug-in after typing exit? 
Why is the Continue button needed? Could an active <Go back> button be 
shown instead of the Continue that (after a warning) just kills the 
plug-in if it is clicked (the mouse is still active after all)?

I fail to see the point in the "End of shell process." message, even if 
the two-step exit is technically unavoidable. If you do want to keep some 
message, then I'd suggest a simple "Click Continue to proceed." which is 
much more helpful.


Most important issue: position of "Execute a shell" in the menu is 
incorrect after anna (before partman instead of after finish-install).
Without having looked at it, I'm fairly certain that this is just a 
dependency issue: you probably have rescue mode depending on the udeb 
that provides the postinst for "Execute a shell".

It looks like you have duplicated the entire existing rescue-mode udeb. Is 
that really necessary? Can't we just make sure the correct thing is done 
by testing the current environment in existing scripts, or only activate 
the correct hook scripts through such tests? It would also reduce the 
duplication of strings.

Solution is to split them: one udeb with plug-in and one with postinst.
Note that you may not be able to depend on the plug-in at all for rescue 
as we don't want to pull it into regular images! I think that for rescue 
you should just test if it's available or not and in that case the split 
would not be needed either.


Other problem related to rescue mode: a shell gets executed without any 
warning just before rescue mode (possibly because the wrong position in 
the menu).
Also, the informational message before entering the rescue shell is a lot 
less informational than the one for a normal shell. It misses the info on 
how to exit for example. Why not reuse the message shown by the existing 
rescue shell?


Other issues/suggestions:
- home and end keys don't work while editing a line
- scrollback is only 100 lines while it's 200 on VT2/3; would be good to
  be consistent there
- if possible repeat the "type 'exit' to close the shell and return to the
  installer" info somewhere on the screen while the plug-in is running;
  looks like there's little room for this though
- why is the position of the "End of shell process" different for regular
  shell and rescue shell (for the first it is indented by 7 or 8 chars)

Nice things:
- keyboard changing OK (same issues as in G-I in general)
- Cyrillic in 'nano /var/log/syslog' very readable
- Chinese looks reasonable: fairly sharp but some characters are much
  brighter than others (varying from very dark grey to white); guess
  antialiasing would be needed?
- Hebrew is there and nice; no idea if it's drawn correctly.

Templates:
> > +Template: di-utils-shell/workaround-gtk
> > +_Description: In the meantime, a shell is still accessible by
> > pressing Ctrl+Alt+F2.  Use Alt+F5 to get back to the installer. 
> 
> Alternatively, you can open a shell by pression Ctrl+Alt+F2. Use
> Alt+F5 to get back to the installer.

I would make that:
In the meantime you can make use of the debug shells available on VT2 and 
VT3. Press Ctrl+Alt+F2 to switch to VT2. When you are done, use Alt+F5 to 
return to the installer.

> > +Template: rescue/initrd-shell/title
> > +_Description: Interactive shell in the installer environment
> > +
> 
> Do we really need to specify this?

This is not a new string! It's already used in the regular rescue mode. 
IMO this duplication should be avoided.

Cheers,
FJP

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: