Hi all!

I'm continuing with the experiments with containerized YaST.

Quite often we get a request for web access for YaST. Unfortunately the
YaST architecture does not allow to create a web interface easily because
it is something completely different compared to the usual desktop applications.

However, there is one workaround. Why not using the same graphical interface,
just rendering it in a browser? Actually we already do that in the installer.
If you boot with the "vnc=1" boot parameter YaST not only allows a VNC 
connection
on port 5901 but also HTTP connection on port 5801.

The trick is done via the Xvnc (X + VNC server) and novnc (VNC client written
in JavaScript which can run in browser).

Of course, that means the UI will still be the standard YaST Qt UI, there will 
be
no fancy web page with modern features like responsive design, cool HTML5
tricks, CSS animations and so on....


But if you really want a remote web based access then it works and is usable.
If that's the most important feature for you maybe you will accept the not so nice UI/UX. The advantage is that we would not need to change anything in YaST,
we would get this "web" interface basically for free, without any significant
additional work.


So here are the most important questions:

 - Would this solution be acceptable for you?
 - Would you use YaST this way?


How to test it:

I added the "yast2_web_container" command into the yast-in-container package [1]
which starts YaST inside a container with an Xvnc session. Alternatively you
can run the script directly from the Git checkout [2].

The script and the container image are designed to manage an openSUSE Leap 15.4 or SLE15-SP4 systems.

For security reasons the connection uses the HTTPS access. You can provide your 
own
SSL certificate. If it is not found then the container generates a self-signed one. Also you need to set up the VNC access password. See more details in [3].

After starting "yast2_web_container" as root you can connect to
https://localhost:4984/ and after providing the access password you can use YaST
as usually. You can see some screenshots in [4].


Enjoy!

        Ladislav


[1] https://build.opensuse.org/package/show/YaST:Head/yast-in-container
[2] https://github.com/yast/yast-in-container/tree/master/src/scripts
[3] https://github.com/yast/yast-in-container#web-https-access
[4] https://github.com/yast/yast-in-container/pull/4

--
Ladislav Slezák
YaST Developer

SUSE LINUX, s.r.o.
Corso IIa
Křižíkova 148/34
18600 Praha 8

Reply via email to