NOUVELLE ADRESSE PERMANENTE DU DÉPÔT: https://mirrors.o2switch.fr/primtux/repo/debs
ATTENTION, MERCI DE NE PAS METTRE À JOUR PRIMTUX7 UBUNTU 20.04 VERS LA 22.04, LES HANDYMENUS NE SONT PAS ENCORE COMPATIBLES!
Merci de cliquer ici si vous souhaitez vous inscrire sur le forum.

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Ajouter un fichier .sh dans le Handy menu maxi
#1
Bonjour,
J'ai installé Studuino (logiciel de programmation des robots speechi ) sur Primtux 4 https://www.ecolerobots.com/studuino/, par contre, comme il n'y a qu'une version Raspberry, elle ne se lance qu'à partir d'un fichier intitulé bpe.sh, à la racine du dossier du logiciel (que j'ai placé dans le dossier Public).
J'arrive bien à ajouter le lien vers ce fichier dans le Handy Menu, à le renommer, etc... mais lorsqu'on clique dessus à partir du Handy Menu, il s'ouvre comme un fichier texte.
Comment faire ?
Répondre
#2
Quelle commande précise as-tu indiquée sur la ligne de commande du handymenu ?
Il faudra quelque chose du style
sh /chemin/vers/mon/fichier/bpe.sh
ou
bash /chemin/vers/mon/fichier/bpe.sh

Il faudra également rendre le fichier bpe.sh exécutable.

EDIT: attention, si le programme contient des binaires et que tu tentes de l'installer sur un PC, ça ne fonctionnera pas, car les architectures processeur sont différentes.
Répondre
#3
Bonjour,
Je comprends, j'avais juste fait glisser le fichier bpe.sh dans le Handy Menu. Je bloque encore sur la procédure pour ajouter cette ligne de commande: lorsqu'on double-clique sur l'application, on peut seulement changer le nom ou l'icône. je n'arrive pas à trouver dans le wiki l'explication pour ajouter cette commande.
C'est installé sur un Chromebook reconverti. (version Primtux 4, Lubuntu)
Répondre
#4
Au temps pour moi, ce n'est pas dans le handymenu que tu peux indiquer la commande.

Il faut que tu crées un lanceur dans /usr/share/applications, ou, s'il existe, tu récupères le lanceur de l'application du Raspberry Pi si tu peux.

Pour créer un lanceur, tu copies-colles les lignes suivantes en les enregistrant sous le nom studuino.desktop (ou tout autre nom de ton choix en conservant le nom d'extension .desktop)
Code :
[Desktop Entry]
Version=
Name=Studuino
Comment=Commentaire qui présente l'application
Exec=/chemin/vers/mon/fichier/bpe.sh
Icon=/chemin/vers/icone/application.png
Terminal=true
Type=Application
Categories=developpement;
Keywords=education;developpement
Name[fr_FR]=Studuino

Modifie les lignes en fonction de ton application
Et c'est ce lanceur que tu dois insérer dans le handymenu.
Je pense que tu n'as pas besoin d'indiquer
sh /chemin/vers/mon/fichier/bpe.sh
dans la ligne exec=
puisqu'on indique qu'il faut le terminal, mais je n'en suis pas sûr !
Si ça ne marche pas, teste en ajoutant sh
Répondre
#5
Je poursuis mon questionnement : j'ai bien trouvé comment ajouter une entrée dans le Menu (pas le Handy) maxi en entrant la ligne de commande : sh . Le fichier bpe.sh est bien exécutable. Par contre je n'arrive pas à glisser cette entrée dans le Handy Menu, car je dois le faire à partir de la session prof, dans laquelle le menu ne s'est pas synchronisé avec le menu maxi (la nouvelle entrée n'apparait pas).
D'autre part, j'ai bien demandé dans l'entrée du menu Maxi à ce que le fichier s'exécute avec un terminal, mais j'ai un message, lorsque je clique sur le raccourci ( ou sur le fichier lui-même dans le dossier public) qui me dit qu'il ne sait pas quel émulateur de terminal lancer, et le choix n'est pas possible...
Répondre
#6
Rectificatif: pour que ça fonctionne dans le menu principal, il faut mettre la ligne terminal à false
terminal=false
dans le fichier dekstop.
Pas besoin de sh ou bash dans la ligne exec=, uniquement le chemin vers ton fichier bpe.sh

En revanche, ça ne fonctionne pas dans le handymenu. J'essaie de voir pourquoi.
Répondre
#7
Merci. J'ai bien créé le fichier avec nano, et le code ci-dessus, (modifié comme indiqué) avec une icône associée de 150 pixels de côté, mais je ne vois rien lorsque je vais dans le dossier /usr/share/applications, même en redémarrant...
Répondre
#8
Tu as bien lancé nano depuis le dossier /usr/share/applications ? Sinon il est probablement dans le dossier depuis lequel tu as lancé nano.

Pour la handymenu, il y a bien un problème, car lorsque j'insère un lanceur dans le handymenu administrateur, il ne fonctionne pas. Je vois avec mothsart.
Répondre
#9
Bon, tout fonctionne.

Pour résumer, voici la procédure à suivre.

Tu te crées un lanceur dans /usr/share/applications avec un contenu tel que
Code :
[Desktop Entry]
Version=
Name=Studuino
Comment=Commentaire qui présente l'application
Exec=/chemin/vers/mon/fichier/bpe.sh
Icon=/chemin/vers/icone/application.png
Terminal=false
Type=Application
Categories=Development;
Keywords=education;development
Name[fr_FR]=Studuino

Tu peux librement changer les champs Name, Comment.

Dans la configuration du handymenu, tu ajoutes ce lanceur dans l'onglet de ton choix.
Mais pour que ça fonctionne, il faut également ABSOLUMENT lui ajouter une icône à partir du handymenu. Pour cela, toujours dans la configuration du handymenu, tu double-cliques sur l'entrée que tu as créée, et tu cliques sur "Changer l'icône" pour lui ajouter une icône.
Tu auras également des entrées dans le menu principal, dans les catégories développement et éducation.
Répondre
#10
Désolé de pas pu avoir suivi le sujet. Est-ce qu'il faut que je réfléchisse à un fix pour que l'icône ne soit pas obligatoire ?
Répondre
#11
ça serait mieux pour l'utilisateur final qui ne comprend pas pourquoi ça ne fonctionne pas !
Répondre
#12
Bon, le fix est là : https://framagit.org/Steph/handymenu-pri...equests/48

Néanmoins, y'a un truc qui m'interpelle : normalement, l'ajout du lanceur, si il contient une image doit automatiquement rajouter ladite image.
(et non obliger à 2 manip)
Je referais une passe demain pour voir si à l'ajout du .desktop, je ne pers pas cette info. (sur mon poste de dev, ça c'est déroulé sans accro)
Répondre
#13
En tous les cas, le soucis doit être ancien car plus d'un an. (je me suis pas amusé à monter plus loin dans l'historique)
Répondre
#14
Je confirme que dans mes tests de ces derniers jours, j'ai tenté d'ajouter des lanceurs dont le fichier .desktop contenaient un fichier pour l'icône, et ça n'a pas fonctionné.
Répondre
#15
J'en prend bonne note Philippe mais il va falloir que je me mette dans des conditions pour reproduire.

Dans un premier temps, je vais attendre que Steph mette à jour le paquet avec mon fix.

En second, je vais tester le soft en conditions réel. Là je test sur ma machine de dev (une Ubuntu) et mes glissé/déposé d'app vont bien charger l'image renseigné dans le .desktop.
Pourrais-tu me dire sur quel Primtux tu as constaté le soucis, si c'est en VM ou non et est-ce possible de me filer le .desktop, l'image et les droits sur l'image en question.

Merci d'avance
Répondre
#16
J'ai testé en VM sur une PTX4 Debian 9 amd64 CTP.
J'ai testé sur un script que j'avais créé, mais également en essayant d'insérer "à la campagne" dans l'onglet d'accueil du handymenu prof.
Quand Steph aura mis à jour avec le fix, je pourrai tester et te dire si le problème est résolu.
Répondre
#17
Bonjour,
J'ai finalement réussi, en suivant la procédure indiquée ci-dessus, et en ayant transformé le script en exécutable selon cette procédure : https://numerisere.web.ac-grenoble.fr/ar...executable
Merci !
Répondre
#18
Bonjour,
Sur primtux5 64 bits ubuntu 18.04, je sèche avec la procédure pour rendre exécutable un script .sh

Mon script :

#!/bin/bash
sleep 12
megasync &

Je suis toute la procédure décrite dans https://numerisere.web.ac-grenoble.fr/ar...executable

Je continue avec :

shc -f delaimega.sh
sudo mv delaimega.sh.x /usr/local/bin/delaimega

Ensuite, je lance fluxboxlauncher
Je rajoute une ligne de commande (dans chacune des sessions élèves) :
/usr/local/bin/delaimega

Ca devrait me lancer megasync 12 secondes plus tard...mais rien n'arrive !

J'ai réussi une seule fois sur un primtux4 ubuntu18.04 (Chromebook reconverti), mais je n'ai plus jamais réussi à renouveler l'exploit, ni sur un chromebook en primtux4, ni sur primtux5...

Je ne comprend pas ce qui se passe ?
JChristophe
Répondre
#19
Je précise que mon script s'appelle : delaimega.sh
Répondre
#20
Tu as essayé de mettre directement

sleep 12 && megasync

dans l'ajout de ligne de commande de fluxboxlauncher?
Répondre
#21
J'essaie la ligne sleep 12 && megasync
Il ne se passe rien.
Quand je retourne voir dans fluxboxlauncher, je vois qu'il me transforme la formule en
sleep 12& megasync

Je ne sais pas si c'est important... Du coup j'ai essayé tout attaché, ou avec un seul &...
Rien n'y fait.
C'est dommage, car cette commande nous permettrait d'automatiser le lancement de megasynjc à l'ouverture de la session élève.
JChristophe
Répondre
#22
J'ai fini par trouver une solution !!

J'ai modifié le fichier /usr/share/applications/megasync.desktop en rajoutant la temporisation dans la commande comme suit :

[Desktop Entry]
Type=Application
Version=1.0
GenericName=File Synchronizer
Name=MEGAsync
Comment=Easy automated syncing between your computers and your MEGA cloud drive.
TryExec=sleep12;megasync
Exec=megasync
Icon=mega
Terminal=false
Categories=Network;System;
StartupNotify=false
X-GNOME-Autostart-Delay=60

Ensuite dans fluxboxlauncher, j'ai rajouter une ligne de commande avec :

megasync

Tout simplement. Ca marche !

Bon, je retourne profiter du soleil (froid) dans le Vercors !
JChristophe
Répondre
#23
Je voulais dire "j'ai rajouté..." clic un peu trop rapide !
Répondre
#24
Alors :

1. Si fluxboxlauncher remplace && par &, c'est effectivement problématique car pas du tout le même comportement :
avec 1 &, il lance les 2 tâches en parallèle, donc pas du tout le résultat escompté.
Je vais voir pour faire un fix.

2. je pense que tu aurais mis "sleep 12; megasync" directement dans fluxboxlauncher, ça aurait suffit.
Je déconseille d'éditer les .desktop dans la mesure du possible : ça doit rester un fichier en lecture seule à mon sens.
Tu risques de perdre le comportement à la mise à jour du paquet car le fichier sera tout bonnement écrasé.

3. Je ne connaissais pas "TryExec" dans les fichier .desktop mais en lisant la doc correspondante, je pense que tu aurais pu remplacer "Exec" directement.
Répondre
#25
Enfin, pour ton script bash du début : tu avais essayé de le lancer directement pour voir ?
Je pense que ton soucis initial était là et qu'une fois résolu, il suffisait de rajouter l'entrée de ton script dans fluxboxlauncher.

T'as fait ressortir un bug tarabiscoté et pour ça, je te dois une fière chandelle. Tongue : j'ai trouvé le pourquoi et le fix est en cours.

Mais, je met néanmoins une réserver sur les instructions de shell chainées : c'est à double tranchant et je conseil d'utiliser un script dès que ça devient un peu trop complexe : c'est plus facile à tester et à maintenir.
Répondre


Atteindre :


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