Ici on n'a que votre IP, votre pseudo et votre adresse mail que nous ne traitons pas.
Quand vous êtes enregistrés, une seule requête permet de vous afficher les messages que vous n'avez pas lus.
Primtux8 est arrivée! Rendez-vous ici
Vous pouvez désormais vous inscrire librement en cliquant sur "S'enregistrer".

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
FluxboxLauncher
#1
On m'a commandité un logiciel qui permet de configurer les logiciels au lancement d'une session fluxbox.

Je vous propose de ce fait un premier jet : https://github.com/mothsART/fluxboxlauncher

Ça utilise 2 fichiers : un nouveau fichier de conf en TOML (entre les fichier init et yaml) et le fichier start de fluxbox.
Le fichier TOML sert notamment à garder des données comme les icônes. (c'est quand même mieux dans une GUI)

J'ai cherché à rendre le soft le plus simple possible.

On lance comme ceci :
Code :
python ./fluxboxlauncher.py NOMUTILISATEUR

Ensuite, on glisse/dépose les logiciels que l'on veut lancer au démarrage de la session de cet utilisateur.
On voit la liste de lignes s'afficher pour chacun des softs avec pour chaque un bouton de suppression.

Les évolutions à venir :

- dialogue intermédiaire pour la suppression (c'est toujours mieux)
- quelques peaufinages graphiques
- de l'i18n (le français, c'est toujours mieux quand on peut)
- un paquet debian spécialement pour primtux

Voilà. Merci de vos tests.
Répondre
#2
Je le mets icic: ta boîte mail free semble saturée.
Je vais tester ce launcher.
Répondre
#3
Bon alors:
- Pour le démarrer, il faut être dans sa session, sinon il ne veut pas, permission non accordée: donc 2 possibilités à ma connaissance: utiliser sux / prendre possession du répertoire de l'utilisateur concerné pour modifier et lui rendre après.
- Le startup de fluxbox n'est pas modifié: un fichier start est créé avec la bonne commande mais fluxbox n'en tient pas compte. Un autre start.toml est créé contenant les infos du soft.
- dépendance: python-toml
Répondre
#4
Alors, oui : je suis allé un peu vite en besogne.

J'ai pensé à parler de la dépendance manquante dans le README du dépôt mais pas ici, sorry.
Le fichier start, j'aurais dût en parler également car j'ai pas bien gérer le cas ou le fichier startup n'est pas vide donc j'ai préféré mettre un fichier start pour l'instant afin d'éviter d'écraser le fichier startup.
Pareil, il faudrait (idéalement) que je récupère les exec déjà présent.
Toute cette partie n'est pas hyper simple et je voulais déjà valider l'interface utilisateur.

Pour le point sur les droits utilisateurs, je pense que tu lances le script sans les droits admin.
(D'ailleurs, ça me fait penser qu'il faut que je vérifie les droits sur les fichiers de conf quand ils sont créé.)

Pour ma boite mail: j'ai effectivement reçu des grosses pièces jointes qui me sature tout... ça devrait rentrer dans l'ordre d'ici peu. Big Grin
Répondre
#5
Avec sudo ça marche. Sinon le startup de fuxbox c'est plus que des exec et il change selon la session, regarde les sources. En fait je pensais que tu demanderais à insérer une ligne dans la startup au lieu de le remplacer.

Exemple: https://framagit.org/Steph/ptx4/blob/mas...ox/startup
Répondre
#6
Steph a écrit :Avec sudo ça marche.

Ok, tant mieux : dans le paquet debian, je mettrais un script bash pour chaque session comme je l'ai fait pour les handymenu mais sans doute avec un pkexec pour demander les droits root.

Steph a écrit :Sinon le startup de fuxbox c'est plus que des exec et il change selon la session, regarde les sources. En fait je pensais que tu demanderais à insérer une ligne dans la startup au lieu de le remplacer.

Effectivement, c'est pour ça que je voulais récupérer via un grep les lignes qui correspondent à des exec et les rassembler juste avant l'exec de fluxbox. Le reste, j'y touche pas.

Y'a bien évidement, la possibilité d'appeler le fichier start (si celui-ci a bien les droits d'execution) dans le startup (juste avant le exec fluxbox):
Code :
./start
Répondre
#7
Code :
exec /home/user/.fluxbox/start &
Répondre
#8
Je suis moins fan car ça nécessite de mettre le bon chemin absolu donc source d'erreur et oblige à de l'édition si on crée un nouvel utilisateur à partir du skel.
Répondre
#9
Oui mais le & il faut le mettre sinon le startup s'arrête. Je pensais aussi qu'il fallait mettre exec en début de ligne.
De toute façon on va tester...
Répondre
#10
En revanche, si je crée un .deb et que tu l'intègres aux dépôts, ça nécessiteras de toute façon de rajouter manuellement cette entrée par utilisateur :-{
J'imagine, que ça ne pourras qu'être automatique qu'à partir d'une prochaine iso ?
(C'est aussi pour ça que je voulais un truc qui touche au fichier startup)
Répondre
#11
Et je crois bien que la dépendance python-toml n'existe pas sur Debian8.
Répondre
#12
C'est pour ça que j'imagine ton interface qui ajoute des lignes avec sed, là rien à ajouter. C'est ce qu'on a fait pour l'administration.
Exemple avec le handymenu-mini qui démarre ou pas:
Code :
sed -i 's/^[# ]*exec \/usr\/local\/bin\/primtux\/handymenu-mini \&/exec \/usr\/local\/bin\/primtux\/handymenu-mini \&/' /home/01-mini/.fluxbox/startup && cp -f /usr/share/pixmaps/administration/mini-on.png /usr/share/pixmaps/mini-off.png
Bon la ligne avec l'icône on s'en tape dans notre cas. Donc ici la ligne existe déjà et on la commente ou pas.

Ce qu'il faudrait c'est pouvoir créer/supprimer ou commenter la nouvelle ligne de démarrage juste avant exec fluxbox.
Répondre
#13
Oui, on c'est bien compris.

En revanche, vois-tu un inconvénient à utiliser Gtk 3 ? Pour commencer, j'ai réutiliser quelques briques glanés par ci, par là :
du handymenu bien sur mais aussi du gspeech.
Sauf que Gspeech est en gtk3 donc faut que je fasse un choix et tant qu'à faire partir sur une lib plus récente.
Répondre
#14
Comme gspeech fonctionne je ne vois pas en quoi ça poserait problème. On verra si ça fait des conflits, on n'est pas pressés.
Répondre
#15
Je viens de terminer mes modifs pour avoir un produit "stable" (ça fait bien l'équivalent d'un grep désormais sur le fichier startup avec la possibilité de garder des applis sous la forme commenté), cohérent, traduit (via gettext) en français ainsi qu'un paquet debian.
J'ai créé aussi un petit logo pour pouvoir identifier graphiquement et rapidement le soft.

Je laisse le soin aux testeurs éventuels de se faire une idée et de me donner leurs retours.

Pour avoir le fameux paquet deb :

Code :
git clone https://github.com/mothsART/fluxboxlauncher.git
cd fluxboxlauncher
dpkg-buildpackage -us -uc

Le paquet debian est pour l'instant généraliste : on lance le script en se basant sur l'utilisateur actuel (commande "whoami") et sa conf fluxbox.
Répondre
#16
J'aimerais débugger le soucis pour la béta de Primtux 5. Serais-t-il possible d'avoir le fichier ~/home/user/.fluxbox/startup ?
Répondre
#17
Chaque session a son startup en fait. Je t'envoie ça.
Répondre
#18
Identifié et corrigé :
https://github.com/mothsART/fluxboxlauncher

Néanmoins, le soft va remplir les softs déjà présent dans le startup sans effectuer de recherche "profonde" donc pas de nom de soft ni d'icône.
(Il faudrait qu'à partir de la commande, il réussisse à récup les données dans le .desktop correspondant)
Si on veut avoir ce genre de données dès le début, il faut éditer le fichier de conf .toml correspondant.
Répondre
#19
Ça ma semble encore perfectible, j'ai l'impression qu'il arrive à activer mais pas à désactiver... En plus on a un "conflit" avec afficher l'accueil au démarrage ou pas dans la panneau d'accueil. si je le fais depuis l'accueil, le fluxboxlauncher est paumé et il réécrit le startup.
Je pense que je vais réintroduire les boutons handy au démarrage ou pas / BNE au démarrage ou pas en attendant que ce soft soit plus "fini", comme ça tu ne travailles pas dans l'urgence, tu t'y mets tranquillement quand tu le sens, non?
Répondre
#20
J'ai essayé de recoucher les choses à plat en mettant des tests unitaires et en découplant le code de mon soft.
J'estimais que le soft était trop "petit" pour mettre ça en place mais ça va me servir de leçon. A l'avenir, tout mes futures projets seront prévus pour des tests automatisés.

Alors, ça ne veut sans doute pas dire que c'est parfait mais qu'il y aura une progression linéaire (pas ou peu de régression).

J'ai supprimé également les fichiers TOML qui rendait le soft 3x plus complexe et je vais chercher directement les infos nécessaires dans le .desktop correspondant.

Le paquet debian généré à été retouché également.

Je vais sans doute me pencher désormais sur la mise en forme (mais c'est bien moins urgent).
Répondre
#21
Voilà : j'ai mis en forme l'interface.
C'est donc "à tester".
Répondre
#22
Ça marche! Faudra juste que je modifie les droits du startup de fluxbox au déverrouillage dans le panneau d'administration et préciser que pour les sessions élèves il faudra déverrouiller les bureaux pour que ça fonctionne.
Répondre
#23
Steph a écrit :et préciser que pour les sessions élèves il faudra déverrouiller les bureaux pour que ça fonctionne.

Le mieux c'est pas de tout faire à partir de la session prof ?
En gros, une entrée de fluxboxlauncher par session.

Ca se lance facilement :

Code :
python /usr/lib/python3/dist-packages/fluxboxlauncher/fluxboxlauncher.py mini

l'argument de la commande étant le nom de la session.
A voir si le script de base n'est pas à modifié :

https://github.com/mothsART/fluxboxlaunc...oxlauncher
Répondre
#24
Ah! Je n'ai pas essayé ça. Oui ça serait mieux.
Répondre
#25
Nickel! Reste à créer les scripts et les desktop pour chaque session.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)