Commit Graph

3 Commits (3ae6298f2c2b1f1745de72e1230c81e64a820224)

Author SHA1 Message Date
Alejandro Sirgo Rica 3ae6298f2c kiosk: add client data to boot view
show IP, MAC, link speed and hostname in the top left of the Kiosk
boot view.

Adjust boot view layout to better fit the new widget.

Add get_mac_from_interface() to net.py
2025-02-14 13:57:46 +01:00
Alejandro Sirgo Rica 213c9f47a3 kiosk: obtain os probe data from ogClient
Define a kiosk event "refresh" to send configuration data from
ogClient to Kiosk. Send the OS list after an ogClient refresh
operation.

Reload widgets in Kiosk when a refresh event is received.
2025-02-14 13:57:46 +01:00
Alejandro Sirgo Rica 7ace7f9403 ogclient: add kiosk
Add Kiosk project as a subtree of ogClient. Kiosk is
an interactive GUI featuring basic functionality to
monitor and operate ogClient withing the client through a
graphical interface written in PyQt6.

Right after ogClient launches in live mode it performs a
fork() call to launch Kiosk as an external process to
prevent Kiosk backtraces to affect ogClient.

A pair of sockets are created through socket.socketpair()
and each process is assigned one of them to leverage the
inter process communication.

API Kiosk -> ogClient:
- Poweroff: request client poweroff
{"command": "poweroff"}
- Reboot: request client reboot
{"command": "reboot"}
- Restore: restore image into a partition
{"command": "restore", "image": "windows.img", "disk": 1, "partition": 2}
- Boot: request an OS boot
{"command": "boot", "disk": 1, "partition": 2}

API ogClient -> Kiosk:
- Busy: inform about ogClient thread status
{"command": "busy", "status": True}
- Refresh: reload the theme.
{"command": "refresh"}
- close: request Kiosk termination.
{"command": "close"}

Add internationalization documentation in README

Add "CACHE" mode in image restore to only restore images
available in the cache partition.

Use set_state() function in OgRest to define the idle or busy
status and notify Kiosk about the status change.
2025-02-14 13:57:44 +01:00