Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/02/2017, à 17:29

Morgatte

lancer une application au démarrage

Bonjour, Je suis sous Ubuntu 16.04.1 LTS


J'ai écris un programme sous Code Blocks.
Après avoir lu plusieurs Posts, je n'arrive toujours pas à lancer mon application au démarrage de ma session.

Menu K : Application --> Configuration --> Configuration du système --> Démarrage et arrêt --> Ajouter un programme --> je pointe sur le chemin de mon programme.

Une fenêtre s'ouvre où il est inscrit ceci :
"Impossible d'enregistrer les propriétés. Vous n'avez pas le droit d'écrire dans /home/morgatte/.local/share/applications/monProgramme.desktop."

Est-ce que je m'y prends mal ? Je vois pas.


Merci

Hors ligne

#2 Le 04/02/2017, à 17:58

abelthorne

Re : lancer une application au démarrage

Je n'utilise pas KDE mais ce que tu as est bizarre : d'une part, tu devrais avoir le droit d'écrire dans le dossier ; d'autre part, le dossier en question contient les lanceurs perso qui sont ajoutés au menu Applications mais n'a rien à voir avec les logiciels au démarrage.

On va commencer par vérifier cette histoire de permissions. Donne le retour de :

ls -l ~/.local/share | grep applications

Ensuite, ton programme est juste un exécutable ou tu as un lanceur (fichier .desktop) qui va avec ? Si tu n'en as pas, et en prévision de sa création, donne le nom du logiciel, son chemin et la catégorie dans laquelle il devrait apparaître dans le menu Applications.

Dernière modification par abelthorne (Le 04/02/2017, à 17:58)

Hors ligne

#3 Le 04/02/2017, à 18:54

Morgatte

Re : lancer une application au démarrage

Merci.

Je crois que je n'ai aucune application dans ce répertoire.

morgatte@USBuntu:~$ ls -l ~/.local/share | grep applications
morgatte@USBuntu:~$ ls -l ~/.local/share
total 152
drwxrwxr-x 5 morgatte morgatte  4096 févr.  4 16:33 akonadi
drwxrwxr-x 4 morgatte morgatte  4096 mai   25  2016 akonadi_maildir_resource_0
drwxrwxr-x 3 morgatte morgatte  4096 mai   23  2016 akonadi_migration_agent
drwxrwxr-x 7 morgatte morgatte  4096 févr.  4 16:33 baloo
drwxr-xr-x 4 morgatte morgatte  4096 juin  25  2016 codeblocks
drwxrwxr-x 2 morgatte morgatte  4096 mai   23  2016 contacts
drwxrwxr-x 3 morgatte morgatte  4096 mai   23  2016 dolphin
drwxrwxr-x 3 morgatte morgatte  4096 mai   23  2016 kactivitymanagerd
drwxrwxr-x 3 morgatte morgatte  4096 févr.  4 16:34 kate
drwxrwxr-x 2 morgatte morgatte  4096 janv. 24 21:52 kcookiejar
drwxrwxr-x 3 morgatte morgatte  4096 juil.  2  2016 kded5
drwxrwxr-x 2 morgatte morgatte  4096 févr.  4 17:38 klipper
drwxrwxr-x 2 morgatte morgatte  4096 juin  15  2016 knewstuff3
drwxrwxr-x 3 morgatte morgatte  4096 juil. 17  2016 Kolor
drwxrwxr-x 2 morgatte morgatte  4096 mai   23  2016 konsole
drwxrwxr-x 2 morgatte morgatte  4096 juin  27  2016 kpeople
drwxrwxr-x 2 morgatte morgatte  4096 juin   2  2016 kscreen
drwxrwxr-x 2 morgatte morgatte  4096 juin  27  2016 ktp
drwxrwxr-x 2 morgatte morgatte  4096 févr.  4 16:33 kwalletd
drwxrwxr-x 6 morgatte morgatte  4096 juin   3  2016 kxmlgui5
drwxrwxr-x 2 morgatte morgatte  4096 janv. 24 19:17 libdiscover
drwxrwxr-x 7 morgatte morgatte  4096 mai   23  2016 local-mail
drwx------ 3 morgatte morgatte  4096 juin   2  2016 org.kde.gwenview
drwxrwxr-x 3 morgatte morgatte  4096 nov.   3 16:13 plasmashell
drwxrwxr-x 2 morgatte morgatte  4096 févr.  4 16:30 RecentDocuments
-rw------- 1 morgatte morgatte 18020 févr.  3 23:34 recently-used.xbel
drwx------ 2 morgatte morgatte  4096 mai   23  2016 remoteview
drwx------ 3 morgatte morgatte  4096 mai   23  2016 telepathy
drwxrwxr-x 4 morgatte morgatte  4096 janv. 31 11:06 Trash
-rw-rw-r-- 1 morgatte morgatte  7252 sept. 18 21:39 user-places.xbel
-rw-rw-r-- 1 morgatte morgatte  5989 sept. 18 21:39 user-places.xbel.bak
-rw-rw-r-- 1 morgatte morgatte     0 sept. 18 21:39 user-places.xbel.tbcache
drwx------ 2 morgatte morgatte  4096 févr.  4 15:39 vlc

En fait je me suis aperçu que lorsque j'ajoutais une nouvelle application au démarrage un fichier était créé ici :

> /home/morgatte/.config/autostart/LebonCoin.desktop

et le contenu de ce fichier LebonCoin.desktop est le suivant :

[Desktop Entry]
Exec=/home/morgatte/CodeBlock/_cURL/LeBonCoin/_Prog_Fini/LebonCoin
Icon=system-run
Path=
Terminal=false
Type=Application

J'ai essayé aussi de le rendre exécutable pour tous.

morgatte@USBuntu:~/CodeBlock/_cURL/LeBonCoin/_Prog_Fini$ chmod ugo+x LebonCoin

Dernière modification par Morgatte (Le 04/02/2017, à 18:56)

Hors ligne

#4 Le 04/02/2017, à 19:07

abelthorne

Re : lancer une application au démarrage

C'est effectivement dans ~/.config/autostart que vont les lanceurs pour les applis au démarrage.

C'est bizarre que tu n'aies pas de dossier ~/.local/share/applications. Je pense que c'est l'origine du message d'erreur (sauf qu'il ne prend pas en compte la possibilité que le dossier n'existe pas, donc il suppose que les permissions sont mauvaises). Tu peux le créer :

mkdir ~/.local/share/applications

Pour ce qui est de ton lanceur qui est dans le dossier autostart, tu peux faire quelques modifs :
- ajouter le chemin de son dossier pour Path (Path=/home/morgatte/CodeBlock/_cURL/LeBonCoin/_Prog_Fini), ça permet de définir le dossier à utiliser si ton soft cherche des données dans "le dossier courant"
- éventuellement rajouter des catégories (Categories=xxx où xxx est une liste de catégories séparées par des points-virgule
- ajouter un nom (Name=xxx) qui s'affichera à la place du nom du lanceur

Une fois que c'est fait, tu peux le copier dans ~/.local/share/applications si tu veux qu'il apparaisse dans ton menu Applications. Et vérifie une fois ces modifs faites s'il se lance au démarrage. Note que tu n'as normalement pas besoin de le rendre exécutable.

Hors ligne

#5 Le 04/02/2017, à 20:03

Morgatte

Re : lancer une application au démarrage

Ca fonctionne.

Tu m'as donné les 2 points clef de la solution.

1)

Effectivement j'ai créé le répertoire application qui me manquait :

mkdir ~/.local/share/applications

Du coup lorsque j'ai recréé le fichier *.desktop je n'ai plus eu aucun message d'erreur.
Menu K : Application --> Configuration --> Configuration du système --> Démarrage et arrêt --> Ajouter un programme --> je pointe sur le chemin de mon programme.

Quand j'ai redémarrer mon ordi, j'ai vu qu'il s'était lancé mais il n'avait pas fonctionné correctement car il écrit et lit dans d'autres fichiers dans son propre répertoire, ce qu'il n'a pas pu faire.


2)

Comme tu me l'as conseillé j'ai détruit et recréé le fichier *.desktop en rajoutant /home/morgatte/CodeBlock/_cURL/LeBonCoin/_Prog_Fini dans le champs "Dossier de Travail"
J'ai vérifier ce qui était alors maintenant dans mon fichier *.desktop et le voici :

morgatte@USBuntu:~$ cd .config
morgatte@USBuntu:~/.config$ cd autostart
morgatte@USBuntu:~/.config/autostart$ nano LebonCoin.desktop

Contenu :

[Desktop Entry]
Comment[fr_FR]=
Comment=
Exec=/home/morgatte/CodeBlock/_cURL/LeBonCoin/_Prog_Fini/LebonCoin
GenericName[fr_FR]=
GenericName=
Hidden=false
Icon=system-run
MimeType=
Name[fr_FR]=Leboncoin
Name=Leboncoin
Path=/home/morgatte/CodeBlock/_cURL/LeBonCoin/_Prog_Fini
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

Et cette fois-ci le champ Patch est correctement renseigné. Le programme peut enfin utiliser les fichiers de travail qui sont dans son propre répertoire.

Super, merci.

Hors ligne

#6 Le 04/02/2017, à 21:32

abelthorne

Re : lancer une application au démarrage

Tu peux éventuellement faire un peu de ménage dans ton lanceur pour virer les lignes vides et inutiles :

Comment[fr_FR]=
GenericName[fr_FR]=
GenericName=
MimeType=
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-Username=

J'ai un doute pour Comment, je ne sais pas si le champ est obligatoire ou pas.

Dernière modification par abelthorne (Le 04/02/2017, à 21:32)

Hors ligne

#7 Le 05/02/2017, à 12:13

Morgatte

Re : lancer une application au démarrage

J'ai laissé tel quel.

Je n'avais pas vraiment compris l'histoire avec le champs Categories=xxx. Tu disais qu'il servait à rajouter un lanceur dans le menu K si j'ai bien compris.

En faisant une petite recherche vite fait, j'ai trouvé qu'il existait une application pour modifier le menu, ça s'appelle "kmenuedit" et il est déjà installé par défaut, par contre il n'est visible nul part. Il suffit donc de taper > kmenuedit dans un terminal et on peut facilement custumizer le menu K.

@+

Hors ligne

#8 Le 05/02/2017, à 12:44

abelthorne

Re : lancer une application au démarrage

Il y a un organisme qui s'appelle Freedesktop et qui travaille à normaliser les éléments des environnements de bureau Linux. Ça concerne notamment les lanceurs et ce qui les gère, tel que le menu des applications qui affiche les lanceurs existant sur ton système et les classe en fonction de catégories : Accessoires, Bureautique, Graphisme, etc. ; la liste des catégories possibles est définie par Freedsktop (cf le lien que j'ai mis). Si tu veux que ton logiciel s'affiche dans le menu des applis, il faut copier le lanceur dans ~/.local/share/applications. Et si tu veux qu'il s'affiche dans une catégorie spécifique, il faut donc ajouter celle-ci dans le lanceur. S'il n'y en a pas, je pense que le menu rangera ton soft dans "Autre" (catégorie fourre-tout).

Hors ligne

#9 Le 05/02/2017, à 13:49

Morgatte

Re : lancer une application au démarrage

Non en fait, ce n'est pas nécessaire qu'il apparaisse dans le menu, c'était juste par curiosité après ce que tu m'avais dit que je m'y suis intéressé.

Le but de mon programme, c'est simplement qu'il se lance au démarrage. Ensuite il vit sa vie. Il scanne le site leboncoin.fr et m'envoie un mail si des objets que je recherche viennent d'être déposés entre hier et aujourd'hui. Il refait un scanne toutes les 5 min pour voir si de nouveau objets viennent d'arriver.
Il est écrit pour Linux & Windows, je pense donc le laisser tourner sur un ordi (Windows) à mon boulot. Et je verrai en permanence les nouveaux mails arriver sur mon téléphone pour ne pas louper les bonnes affaires.
Acutuellement il scanne les pages de téléscopes, meubles anciens et iPhones.

Mais je vais quand même faire une recherche sur "Freedesktop", d'ici toute de suite maintenant.
Merci. bye.

Hors ligne