Sujet: Linux - GUI minimale
02/07/2019 @ 15:38:58: Jean-Christophe: Linux - GUI minimale
Hello les Geeks,

Je voudrais une application (ou un framework) pour faire une interface minimale en linux.
Le but est d'afficher quelques info, éventuellement, prendre en compte deux boutons physiques pour passer d'une info à une autre et deux boutons "reboot" et "shutdown".
Le but est d'afficher ça sur un écran 3" collé à un Odroid et qui me donnerait l'IP de bidule, quelques autres infos comme ça, et la possibilité d'éteindre proprement le bordel.
C'est un écran tactile.
Le top, ce serait que l'écran soit éteint par défaut sauf si l'on y touche. Les boutons "shutdown" et "reboot" demanderait donc une confirmation avant de faire leur action.
En gros, je voudrais faire du linux embarqué.

C'est vraiment un truc minimal mais je ne l'ai jamais fait.
Une piste?

Merci :smile:
02/07/2019 @ 16:16:02: Jean-Christophe: Linux - GUI minimale
Je fais quelques recherches et je tombe sur des framework hyper-complet pour faire du linux embarqué et créer sa propre image.
Il me semble que c'est un chouïa overkill en ce qui me concerne.
Une application QT, ça peut tourner si on n'a pas de server X complet installé? L'idée étant de n'installer que le strict minimum pour alléger au max le bordel.
Je retourne à mes lectures :smile:
02/07/2019 @ 18:51:12: babeleir: Linux - GUI minimale
j’ai essayé la même démarche avec un PI. En me disant que je pouvais utiliser une vieille carte mémoire (trop petite pour une distro complète) et que plus le système est « léger » moins il contiendra de bug et de possibilités de hacking quand il est sur réseau. Donc l’idée est de partir d’une version « serveur » light et de n’y ajouter que ce que je souhaite.
Ça a marché très partiellement car au moindre chargement d’un module software, il y a une chiée de modules/routines qui se rechargent et j’ai fini par abandonner par manque de temps.
Ma dernière démarche a consisté à charger un desktop complet (trop complet…) et ensuite de purger tous les programmes/modules que je n’utilise pas. Sur le plan facilité c’est plus efficace et plus rapide et en fin de compte cela tient sur une petite carte.
Je dis ça je dis rien...
02/07/2019 @ 19:12:17: Jean-Christophe: Linux - GUI minimale
Ici, je suis assez à l'aise avec la capacité. Je ne cherche pas le Light pour le light mais je me dis que moins il y a de paquets installés, plus les updates sont petits et rares. Bref, ça apporte de la stabilité.
En plus, Debian sur Odroid, je connais déjà pas mal et je suis à l'aise avec le principe.
Ce qui me chipote, c'est de faire une interface minimale pour afficher ce que je voudrais.

Je vous tiendrai au courant :smile:
02/07/2019 @ 22:29:13: zion: Linux - GUI minimale
Pourquoi pas simplement un truc en HTML full screen et un php? Facile du coup. Un raspberry tiendra le coup easy :smile:
03/07/2019 @ 10:20:28: Jean-Christophe: Linux - GUI minimale
Le truc, c'est que je n'y connais rien non plus en PHP :ohwell:
Sur le principe, je ne suis pas contre, je dois, de toutes manières, tout reprendre depuis le début :smile:

Mais ma question reste entière :smile:
Pour ça, je dois avoir un browser. Il est possible de faire fonctionner un browser en full screen sans un desktop manager?
04/07/2019 @ 11:25:00: babeleir: Linux - GUI minimale
A mon avis, "si" on met une commande type shell (bash) à exécuter au démarrage (voir /etc/initab + update-rc.d)le browser viendra "au dessus" du desktop (quitte à mettre un délai avant d'exécuter la commande ci dessous).

https://www.cyberciti.biz/faq/howto-run-firefox-from-the-command-line/

pour ce qui est de la programmation, comme j'en fais très peu et que je mélange les languages, j'ai pris l'habitude de m'appuyer sur W3schools (https://www.w3schools.com/) tant pour html que pour php.

tiens nous au courant de tes progrès.....
04/07/2019 @ 13:49:50: ovh: Linux - GUI minimale
L'avantage d'une solution comme le raspberry pi c'est qu'il embarque déjà un environnement graphique (léger, c'est LXDE) avec sa distrib par défaut (raspbian).
Du coup, le mot magique c'est "kiosk", exemple d'article sur le sujet :
https://blog.eq8.eu/til/raspberi-pi-as-kiosk-load-browser-on-startup-fullscreen.html

(jamais testé perso cela dit)
06/07/2019 @ 02:34:21: : Linux - GUI minimale
le raspberry pi est à ne pas louper
depuis que j'utilise ça je n'ai plus de problémes
10/07/2019 @ 13:29:19: blietaer: Linux - GUI minimale
Le truc, c'est que je n'y connais rien non plus en PHP :ohwell:
Sur le principe, je ne suis pas contre, je dois, de toutes manières, tout reprendre depuis le début :smile:

Mais ma question reste entière :smile:
Pour ça, je dois avoir un browser. Il est possible de faire fonctionner un browser en full screen sans un desktop manager?


Aloreuuuuuu...
D'abord ne confonds pas le desktop manager et un serveur X: tu peux avoir un bête Xorg et puis un mini windows manager (openbox, c'est un package, un)
En effet, si tu prends la version 'grasse' (ne fais pas ça malheureux!) de raspbian et/ou Ubuntu Mate, cela vient avec une belle couche de Xorg+LXDM (encore bcp trop overkill pour ce que tu veux....y a même l'heure et une calculatrice :vomi: )

Je pense que l'idée de Zion en web est pas bête si tu peux te connecter à ladite ODROID en réseau et/ou afficher un browser dans ton écran touchable, dans ce cas: pas besoin de PHP, mais un petit module Python standalone qui fait du html avec les 3 boutons et 4 curseurs que tu veux.

Ensuite, si tu veux la jouer full GUI, alors oui, c'est PythonQt et le temps de lire ce poste, t'aurais déjà ta GUI codée et smoothée...l'avantage de python (gui ou www) c'est les appels direct os/system pour chopper les infos que tu veux et/ou rebooter+poweroff.

Question: quand tu dis boutons physique, c'est vraiment un bouton mécanique, ou bouton en GUI? PCq si tu veux vraiment te la jouer embedded, tu vires l'écrans touchable et tu prends un afficheur 3 (10?) lignes et tu fistes 2 boutons en GPIOs, là, c'est du pure code bas niveau (C/C++/Python...) et pas un gramme de GUI/WWW.


Ah oui et aussi, merci d'avoir utilisé le mot ODROID dans ton post initial (le mot Raspberry-Pi me faisant directement chier de la pâte à crêpe...)
:love:
10/07/2019 @ 17:06:32: Jean-Christophe: Linux - GUI minimale
Merci pour ta réponse claire et complète.
J'avoue que "ODROID" est un peu le mot clé pour te faire sortir de ta tanière :grin:

Alors, oui, j'ai bien 4 boutons physique en GPIO qui sont mappés par défaut sur les entrées clavier Haut-Bas-Space-Enter mais dont on peut changer l'attribution.
Après mes recherches, je comptais me diriger vers un truc minimaliste en QT avec un windows manager tout aussi minimaliste.
Je n'en suis encore nulle part mais c'était ça l'idée.
Le but étant, en effet, de pouvoir accéder en direct aux fonctions et informations de l'OS (et d'éviter le PHP).

Il n'y a plus qu'à...

Par hasard, tu ne ferais pas des ateliers PythonQT sur Odroid cet été?
10/07/2019 @ 17:25:44: ovh: Linux - GUI minimale
Article sur PyQT :
https://build-system.fman.io/pyqt5-tutorial

C'est effectivement une solution plus optimale :dawa:
11/07/2019 @ 09:07:20: blietaer: Linux - GUI minimale
Ah voilà, très bon choix.
Non malheureusement je suis déjà pris par mon atelier respiration et création en bambout sur fond sonnore de bruits de la nature tout l'été...
Mais vraiment le lien d'ové est déjà un bon début, j'ai un bouquin (Pyqt et un autre c++qt)si tu es vraiment 'papier', mais je pense que le mieux c'est internet, rien que pour le copier-coller des bouts de codes.

Donc, si tu installes ta SD (allez, soyons fou, ta eMMC) en Ubuntu Lite, rajoute Xorg, openbox et python (v3 hein, pas de blagues)
Ton python va gérer la GUI (LE wifi, LA gui, UN prout, UN chips, UN durum, UNE espèce de...), le clickage des boutons/GPIOS et le power-offonage de la carte.
Donc trois fonctions, trois classes, trois fichiers, trois jours.
12/07/2019 @ 10:40:18: Jean-Christophe: Linux - GUI minimale
Bon... Je ne suis pas une flèche avec linux... Mais quand je fais un apt install xorg, il veut me downloader plus de 800MB de fichier. Ca ne ressemble pas à une GUI minimale, ça :grin:
Je me suis planté quelque part? Il y a une option secrète pour n'avoir que le core et pas plein de trucs qui viennent avec?
Le driver AMD Radeon, par exemple, franchement, je m'en fous...
12/07/2019 @ 12:31:34: Jean-Christophe: Linux - GUI minimale
J'ai trouvé http://debian-facile.org/doc:install:install_minimale
Je continue...
12/07/2019 @ 17:24:58: Jean-Christophe: Linux - GUI minimale
Bon...
Aujourd'hui, j'ai installé la base. Debian minimal + xorg + openbox
J'ai une solution qui fonctionne, l'écran tactile fonctionne, il est calibré.
L'autologin d'un user lambda fonctionne, le shield RTC aussi.
Maintenant, au boot, "loginuser" se connecte et openbox démarre. Dans openbox, j'ai ajouter un autosart avec xterm, histoire de ne pas être tout nu non plus.
Si, un jour, quelqu'un en a besoin, j'ai documenté tout ce que j'ai fait/modifié pour que ça marche.

J'ai une base saine pour commencer à essayer de faire une interface :smile:
14/07/2019 @ 12:24:40: testeurdesite: Linux - GUI minimale
Bon...
Aujourd'hui, j'ai installé la base. Debian minimal + xorg + openbox
J'ai une solution qui fonctionne, l'écran tactile fonctionne, il est calibré.
L'autologin d'un user lambda fonctionne, le shield RTC aussi.
Maintenant, au boot, "loginuser" se connecte et openbox démarre. Dans openbox, j'ai ajouter un autosart avec xterm, histoire de ne pas être tout nu non plus.
Si, un jour, quelqu'un en a besoin, j'ai documenté tout ce que j'ai fait/modifié pour que ça marche.

J'ai une base saine pour commencer à essayer de faire une interface :smile:



chouette boulot !
14/07/2019 @ 20:08:53: blietaer: Linux - GUI minimale
Yeah !
Qu'est ce que tu entend par 'documenté' ? :figti:
15/07/2019 @ 14:55:22: Jean-Christophe: Linux - GUI minimale
Qu'est ce que tu entend par 'documenté' ? :figti:


Un fichier texte avec un maximum d'info pour reproduire le setup au cas où je devrais recommencer.
Le tout incluant un max de commande à juste coller dans putty pour faire les modifs. Avec des commentaires pour savoir à quoi ça sert et quel est le but de la commande.
sed est devenu mon ami :smile:

Ca permet aussi de savoir ce que j'ai fait et de pouvoir revenir en arrière si quelque chose merde.
Retour