Bug 39241 - consider replacing the whole xorg, firefox, openbox conglomerate with plymouth for the welcome screen
consider replacing the whole xorg, firefox, openbox conglomerate with plymout...
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: System setup
UCS 4.0
Other Linux
: P5 normal (vote)
: UCS 4.1-0-errata
Assigned To: Felix Botner
Alexander Kläser
:
: 39235 40436 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-20 12:12 CEST by Felix Botner
Modified: 2016-01-27 16:17 CET (History)
6 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
Mockup (537.70 KB, image/png)
2015-12-01 19:53 CET, Alexander Kläser
Details
Mockup alternative (545.02 KB, image/png)
2015-12-01 20:08 CET, Alexander Kläser
Details
Final mockup (342.21 KB, image/png)
2015-12-02 13:52 CET, Alexander Kläser
Details
Final mockup with guides (377.24 KB, image/png)
2015-12-02 13:54 CET, Alexander Kläser
Details
Images (788.37 KB, application/octet-stream)
2015-12-02 13:57 CET, Alexander Kläser
Details
Screenshot after pressing ESC during boot (29.98 KB, image/png)
2015-12-08 11:32 CET, Alexander Kläser
Details
Screenshot with long IP address (449.79 KB, image/png)
2015-12-08 11:34 CET, Alexander Kläser
Details
Screenshot bootsplash (424.76 KB, image/png)
2015-12-08 11:37 CET, Alexander Kläser
Details
Screenshot bootsplash 1280x800 (883.64 KB, image/png)
2015-12-08 11:38 CET, Alexander Kläser
Details
Screenshot welcome screen 1280x800 (910.81 KB, image/png)
2015-12-08 11:39 CET, Alexander Kläser
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Botner univentionstaff 2015-08-20 12:12:21 CEST
With the new welcome screen, a xserver, openbox and firefox is installed and started on every system.

We should check if we could use plymouth for the welcome screen (there are tetris games out there for plymouth!).
Comment 1 Florian Best univentionstaff 2015-08-20 12:37:45 CEST
Plymouth provides an own scripting language. Alternatively C code could be used.

A full theming tutorial is here:
http://brej.org/blog/?p=158
http://brej.org/blog/?p=174
http://brej.org/blog/?p=197
http://brej.org/blog/?p=238

The mentioned tetris game with code is here:
http://brej.org/blog/?p=409

http://www.freedesktop.org/wiki/Software/Plymouth/
Comment 2 Alexander Kläser univentionstaff 2015-11-30 16:03:02 CET
*** Bug 39235 has been marked as a duplicate of this bug. ***
Comment 3 Alexander Kläser univentionstaff 2015-11-30 16:04:12 CET
See Bug 39235, comment #2, the current design needs to be adapted and should be done within the scope of this bug:
> Created attachment 7219 [details]
> Sketch
> 
> A few ideas for an improvement (cf. attached sketch):
> * Use simple, straight arrows instead of curved, dynamic ones. This will
> better 
>   suggest that the graphic is a schematic procedure.
> * For an Univention App appliance: Replace the UMC icon with the app icon.
> * The current graphics are too realistic, it would help to understand the 
>   schematic procedure with stylized graphics:
>   1. Use a stylized browser window, e.g.:
>      http://www.freepik.com/free-photos-vectors/browser-window
>   2. Use a zoomed in version of the browser window, only show the upper left
>      corner along with the address bar and cut off (or fade out) the rest.
>   3. Use the UMC/App icon for the last step
> * Each step could be accompanied by large numbers (1, 2, 3) as well as some 
>   explanatory text below.
Comment 4 Alexander Kläser univentionstaff 2015-12-01 19:53:50 CET
Created attachment 7337 [details]
Mockup

I could imagine myself something like the attached mockup... any opinion on this suggestion?
Comment 5 Alexander Kläser univentionstaff 2015-12-01 20:08:22 CET
Created attachment 7338 [details]
Mockup alternative

Another alternative...
Comment 6 Erik Damrose univentionstaff 2015-12-02 12:43:30 CET
I like these ideas. The final screen should also include information on how the user can access a console
Comment 7 Alexander Kläser univentionstaff 2015-12-02 13:52:33 CET
Created attachment 7339 [details]
Final mockup

Attached is the final mockup.
Comment 8 Alexander Kläser univentionstaff 2015-12-02 13:54:37 CET
Created attachment 7340 [details]
Final mockup with guides

... and the corresponding guides for the layout (to be tested for large displays). Font size is 12px in general and 16px for the headline. Text color is #282828 in general and #787878 for the links.
Comment 9 Alexander Kläser univentionstaff 2015-12-02 13:57:52 CET
Created attachment 7341 [details]
Images

Attached you find all ready cut images.
Comment 10 Felix Botner univentionstaff 2015-12-03 17:53:39 CET
univention-bootsplash:
 * added univention welcome screen mode to ucs.script
 * added binary package univention-welcome-screen with univention-welcome-screen
   script and init script (replaces univention "old" univention-welcome-screen
   package, removed that in svn)

plymouth:
 * added patch 050-init-welcome-screen.patch to not stop plymouth in
   init script (start) if welcome screen is enabled (for a smooth
   transition from bootsplash to welcome screen)

univention-bootsplash.yaml
plymouth.yaml

QA:
 * welcome-screen layout
 * welcome screen can be disabled
 * welcome screen after boot/system setup boot
Comment 11 Alexander Kläser univentionstaff 2015-12-08 11:32:26 CET
Created attachment 7354 [details]
Screenshot after pressing ESC during boot

When pressing ESC during the bootsplash, the welcome screen is not shown.
Comment 12 Alexander Kläser univentionstaff 2015-12-08 11:34:26 CET
Created attachment 7355 [details]
Screenshot with long IP address

The address does not fix on a system with a very long IP address. The easiest thing would probably be to add an offset to the right from the center. Can you left align the text to the beginning of the address field?
Comment 13 Alexander Kläser univentionstaff 2015-12-08 11:37:44 CET
Created attachment 7356 [details]
Screenshot bootsplash

With 800x600 resolution, the bootsplash UCS logo box is too small. Could you adjust the size? With UMC, the box as a fixed size regardless the display/window size. I found the size of the box for 1280x800 to be fine and would suggest to use this size as fix size for all resolutions.
Comment 14 Alexander Kläser univentionstaff 2015-12-08 11:38:06 CET
Created attachment 7357 [details]
Screenshot bootsplash 1280x800
Comment 15 Alexander Kläser univentionstaff 2015-12-08 11:39:10 CET
Created attachment 7358 [details]
Screenshot welcome screen 1280x800

... just for the records the layout of the welcome screen for 1280x800.
Comment 16 Alexander Kläser univentionstaff 2015-12-08 11:44:04 CET
Other points:
* Currently, there is a time lag of 2-3 seconds (?) until the welcome screen 
  disappears when pressing a key. Would it be possible to minimize this time lag?
* I could not restart the welcome screen after it disappeared, is this correct?

Otherwise...
* Language seems to be fine (tested DE, FR, EN for locale/default).
* Layout for 800x600 as well as larger resolutions is fine.

TODO:
* System setup boot
Comment 17 Erik Damrose univentionstaff 2015-12-08 11:46:34 CET
(In reply to Alexander Kläser from comment #11)
> When pressing ESC during the bootsplash, the welcome screen is not shown.

I think that is okay. If i actively want to see boot messages by pressing <ESC>, i should be able to do so
Comment 18 Felix Botner univentionstaff 2015-12-10 16:52:48 CET
(In reply to Alexander Kläser from comment #16)
> Other points:
> * Currently, there is a time lag of 2-3 seconds (?) until the welcome screen 
>   disappears when pressing a key. Would it be possible to minimize this time
> lag?

That was due to the restart and proper quit of plymouth to clear the terminal. Now it goes like this
 * plymouth init script does not stop plymouth if welcome screen is enabled
 * univention-welcome screen uses plymouth to display the welcome screen
   copies the framebuffer image to a file
   quits plymouth
   changes to vt 11 and copied the file to the framebuffer
   waits for keyboard interaction


> Screenshot with long IP address
fixed 

> bootsplash UCS logo box is too small
fixed, the logo now has a fixed size of 250x250 for all resolutions

> * I could not restart the welcome screen after it disappeared, is this 
> correct?
use
-> /etc/init.d/plymouth stop # (this starts plymouth)
-> /etc/init.d/univention-welcome-screen  start
to restart the welcome screen (i don't want to start plymouth in the welcome screen)
Comment 19 Alexander Kläser univentionstaff 2015-12-17 13:25:46 CET
(In reply to Felix Botner from comment #18)
> (In reply to Alexander Kläser from comment #16)
> > Other points:
> > * Currently, there is a time lag of 2-3 seconds (?) until the welcome screen 
> >   disappears when pressing a key. Would it be possible to minimize this time
> > lag?
> 
> That was due to the restart and proper quit of plymouth to clear the
> terminal. Now it goes like this
>  * plymouth init script does not stop plymouth if welcome screen is enabled
>  * univention-welcome screen uses plymouth to display the welcome screen
>    copies the framebuffer image to a file
>    quits plymouth
>    changes to vt 11 and copied the file to the framebuffer
>    waits for keyboard interaction

OK.

> > Screenshot with long IP address
> fixed 

OK.

> > bootsplash UCS logo box is too small
> fixed, the logo now has a fixed size of 250x250 for all resolutions

I guess you did not take into account that the images contain a semi-transparent shadow and are thus larger than the visible box itself. I checked, 320x320 should be the size that I was thinking of.

> > * I could not restart the welcome screen after it disappeared, is this 
> > correct?
> use
> -> /etc/init.d/plymouth stop # (this starts plymouth)
> -> /etc/init.d/univention-welcome-screen  start
> to restart the welcome screen (i don't want to start plymouth in the welcome
> screen)

OK, as discussed, the script /etc/init.d/plymouth works inverse (plymouth is started when the service is stopped, i.e., during shutdown, and it is stopped, when the service is started, i.e., during bootup), and the welcome screen should not be shown if plymouth is deactivated.

(In reply to Alexander Kläser from comment #16)
> [...]
> TODO:
> * System setup boot

OK.

(In reply to Alexander Kläser from comment #11)
> Created attachment 7354 [details]
> Screenshot after pressing ESC during boot
> 
> When pressing ESC during the bootsplash, the welcome screen is not shown.

OK, I like this solution, a message is written in this case to press any key to open a text console.

REOPEN → just the UCS logo box should be larger, otherwise it is really nice like this :) .
Comment 20 Alexander Kläser univentionstaff 2015-12-17 14:17:28 CET
BTW, plymout.yaml needs an updated version number. AFAIS, we also need to publish an updated version of univention-system-setup, i.e., its YAML file is missing.
Comment 21 Felix Botner univentionstaff 2015-12-21 10:44:53 CET
(In reply to Alexander Kläser from comment #20)
> BTW, plymout.yaml needs an updated version number. AFAIS, we also need to
> publish an updated version of univention-system-setup, i.e., its YAML file
> is missing.

updated plymout.yaml and univention-bootsplash.yaml (no changes in univention-system-setup)
fixed logo size in ucs bootsplash theme
Comment 22 Erik Damrose univentionstaff 2016-01-15 09:54:16 CET
@QA: See Bug #40436, the issues mentioned for the old welcome screen should not be present in this new version.
Comment 23 Florian Best univentionstaff 2016-01-15 10:19:26 CET
The is_running() function in univention-welcome-screen.init looks like if it would detect any process without checking if the PID is really a welcome-screen instance. univention-welcome-screen stop would therefore kill any process if the process id from the PID file exists.

root@master40:~# sleep 1000 &
[1] 15998
root@master40:~# echo $! > /var/run/univention-welcome-screen.pid
root@master40:~# invoke-rc.d univention-welcome-screen stop
Stopping univention welcome screen: univention-welcome-screen.
[1]+  Getötet                sleep 1000

I think it would be good to check this with something like pgrep -nf ….
There are also two scripts which are writing the pidfile (which might be okay):

# grep '> /var/run/univention-welcome-screen.pid' /etc/init.d/univention-welcome-screen /usr/bin/univention-welcome-screen
/etc/init.d/univention-welcome-screen:                  echo $! > /var/run/univention-welcome-screen.pid
/usr/bin/univention-welcome-screen:echo $! > /var/run/univention-welcome-screen.pid
Comment 24 Felix Botner univentionstaff 2016-01-15 15:35:08 CET
(In reply to Florian Best from comment #23)
> The is_running() function in univention-welcome-screen.init looks like if it
> would detect any process without checking if the PID is really a
> welcome-screen instance. univention-welcome-screen stop would therefore kill
> ...
OK, done
Comment 25 Alexander Kläser univentionstaff 2016-01-20 14:21:07 CET
(In reply to Felix Botner from comment #21)
> (In reply to Alexander Kläser from comment #20)
> > BTW, plymout.yaml needs an updated version number. AFAIS, we also need to
> > publish an updated version of univention-system-setup, i.e., its YAML file
> > is missing.
> 
> updated plymout.yaml and univention-bootsplash.yaml (no changes in
> univention-system-setup)

OK, YAML files look fine, package versions are good.

> fixed logo size in ucs bootsplash theme

OK, the UCS logo looks great now :) .

(In reply to Erik Damrose from comment #22)
> @QA: See Bug #40436, the issues mentioned for the old welcome screen should
> not be present in this new version.

@Erik: Thanks for the hint :) .

OK, I installed KDE and tested the behavior. Everything looks fine, /etc/init.d/plymouth makes explicit checks to see whether plymouth can be quit or whether the welcome screen will be shown. In case of a display-manager being present on the system, plymouth is quit and thus the welcome screen is not shown.

(In reply to Felix Botner from comment #24)
> (In reply to Florian Best from comment #23)
> > The is_running() function in univention-welcome-screen.init looks like if it
> > would detect any process without checking if the PID is really a
> > welcome-screen instance. univention-welcome-screen stop would therefore kill
> > ...
> OK, done

OK, The logic there looks fine, I cannot start the welcome screen a second time.

AFAIS, everything is fine with this bug → VERIFIED
Comment 26 Alexander Kläser univentionstaff 2016-01-20 15:17:22 CET
*** Bug 40436 has been marked as a duplicate of this bug. ***