Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| utilisateurs:j5012:brouillons:mes_desktop_scripts [Le 01/04/2017, 07:02] – les scripts appimage J5012 | utilisateurs:j5012:brouillons:mes_desktop_scripts [Le 05/04/2017, 01:18] (Version actuelle) – ajout de section J5012 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | Les lanceurs de bureau sont des scripts au format Freedesktop avec une extension de fichier masqué, point desktop. | ||
| + | * Ils sont installés dans le chemin système (Path) par apt et localisés à ''/ | ||
| + | * Lorsqu' | ||
| + | |||
| + | Si deux lanceurs de même nom se trouvent dans les deux localisations possibles, c'est la version du dossier personnel qui l' | ||
| + | |||
| + | ===== Prérequis ===== | ||
| + | |||
| + | * Un niveau moyen en Anglais | ||
| + | * Lisez la documentation [[https:// | ||
| + | * Lisez la documentation [[http:// | ||
| + | |||
| + | ===== Problématique des applications Java ===== | ||
| + | |||
| + | exemples pratiques : ancestris et jdownloader2 | ||
| + | * ancestris s' | ||
| + | * jdownloader peut s' | ||
| + | |||
| + | dans les deux cas, des lanceurs de bureau sont fournis et correctement installés | ||
| + | * l'icon ne s' | ||
| + | * l'icon ne s' | ||
| + | |||
| + | lorsqu' | ||
| + | |||
| + | ==== JDownloader2 ==== | ||
| + | |||
| + | Code de programme d'un script de lanceur de bureau qui fonctionne : l'icon lié au programme java s' | ||
| + | |||
| + | < | ||
| + | # | ||
| + | [Desktop Entry] | ||
| + | Type=Application | ||
| + | Name=JDownloader 2 | ||
| + | Exec=$HOME/ | ||
| + | Icon=$HOME/ | ||
| + | Categories=Network; | ||
| + | </ | ||
| + | |||
| + | ==== Ancestris ==== | ||
| + | |||
| + | Code de programme d'un script de lanceur de bureau qui ne fonctionne pas : l'icon lié au programme java ne s' | ||
| + | |||
| + | < | ||
| + | [Desktop Entry] | ||
| + | Encoding=UTF-8 | ||
| + | Name=Ancestris | ||
| + | Name[fr]=Ancestris – Programme de Généalogie | ||
| + | Comment=A graphical viewer and editor genealogy program. | ||
| + | Comment[fr]=Programme de généalogie respectant en tous points la norme gedcom. | ||
| + | Exec=ancestris | ||
| + | Icon=ancestris | ||
| + | Terminal=false | ||
| + | Type=Application | ||
| + | Categories=Office; | ||
| + | </ | ||
| + | |||
| + | Le fichier de configuration du menu pour ancestris, / | ||
| + | < | ||
| + | ? | ||
| + | title=" | ||
| + | icon="/ | ||
| + | </ | ||
| + | |||
| + | Le fichier de script / | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | cd / | ||
| + | sh ancestris " | ||
| + | </ | ||
| + | |||
| + | Le fichier de script java / | ||
| + | < | ||
| + | #!/bin/sh | ||
| + | |||
| + | # | ||
| + | # resolve symlinks | ||
| + | # | ||
| + | |||
| + | PRG=$0 | ||
| + | |||
| + | while [ -h " | ||
| + | ls=`ls -ld " | ||
| + | link=`expr " | ||
| + | if expr " | ||
| + | PRG=" | ||
| + | else | ||
| + | PRG=" | ||
| + | fi | ||
| + | done | ||
| + | |||
| + | progdir=`dirname " | ||
| + | APPNAME=`basename " | ||
| + | |||
| + | if [ -f " | ||
| + | . " | ||
| + | fi | ||
| + | |||
| + | # XXX does not correctly deal with spaces in non-userdir params | ||
| + | args="" | ||
| + | |||
| + | case " | ||
| + | Darwin*) | ||
| + | userdir=" | ||
| + | ;; | ||
| + | *) | ||
| + | userdir=" | ||
| + | ;; | ||
| + | esac | ||
| + | while [ $# -gt 0 ] ; do | ||
| + | case " | ||
| + | --userdir) shift; if [ $# -gt 0 ] ; then userdir=" | ||
| + | ;; | ||
| + | *) args=" | ||
| + | ;; | ||
| + | esac | ||
| + | shift | ||
| + | done | ||
| + | |||
| + | if [ -f " | ||
| + | . " | ||
| + | fi | ||
| + | |||
| + | if [ -n " | ||
| + | # #74333: permit jdkhome to be defined as relative to app dir | ||
| + | jdkhome=" | ||
| + | fi | ||
| + | |||
| + | readClusters() { | ||
| + | if [ -x / | ||
| + | echo=/ | ||
| + | else | ||
| + | echo=echo | ||
| + | fi | ||
| + | while read X; do | ||
| + | if [ " | ||
| + | $echo " | ||
| + | fi | ||
| + | done | ||
| + | } | ||
| + | |||
| + | absolutize_paths() { | ||
| + | while read path; do | ||
| + | if [ -d " | ||
| + | (cd " | ||
| + | else | ||
| + | echo " | ||
| + | fi | ||
| + | done | ||
| + | } | ||
| + | |||
| + | clusters=`(cat " | ||
| + | |||
| + | if [ ! -z " | ||
| + | clusters=" | ||
| + | fi | ||
| + | |||
| + | nbexec=`echo " | ||
| + | |||
| + | case " | ||
| + | Darwin*) | ||
| + | eval exec sh '" | ||
| + | --jdkhome '" | ||
| + | -J-Dcom.apple.mrj.application.apple.menu.about.name='" | ||
| + | -J-Xdock: | ||
| + | '" | ||
| + | --clusters '" | ||
| + | --userdir '" | ||
| + | ${default_options} \ | ||
| + | " | ||
| + | ;; | ||
| + | *) | ||
| + | sh=sh | ||
| + | # #73162: Ubuntu uses the ancient Bourne shell, which does not implement trap well. | ||
| + | if [ -x /bin/bash ] | ||
| + | then | ||
| + | | ||
| + | fi | ||
| + | eval exec $sh '" | ||
| + | --jdkhome '" | ||
| + | --clusters '" | ||
| + | --userdir '" | ||
| + | ${default_options} \ | ||
| + | " | ||
| + | exit 1 | ||
| + | ;; | ||
| + | esac | ||
| + | </ | ||
| + | |||
| + | Un code de programme de lanceur de bureau qui fonctionnerait pour ancestris devrait modifier la ligne Exec de façon à pointer directement sur le programme java au lieu de passer par un script qui appelle un script qui appelle .... | ||
| + | < | ||
| + | [Desktop Entry] | ||
| + | Encoding=UTF-8 | ||
| + | Name=Ancestris | ||
| + | Name[fr]=Ancestris – Programme de Généalogie | ||
| + | Comment=A graphical viewer and editor genealogy program. | ||
| + | Comment[fr]=Programme de généalogie respectant en tous points la norme gedcom. | ||
| + | Exec=/ | ||
| + | Icon=/ | ||
| + | Terminal=false | ||
| + | Type=Application | ||
| + | Categories=Office; | ||
| + | </ | ||
| + | |||
| + | ===== Problématique des applications scriptées Appimage ===== | ||
| + | |||
| + | * rendre le script appimage exécutable | ||
| + | * indiquer le chemin complet | ||
| + | |||
| + | ou lancer l' | ||
| + | |||
| + | ==== Exemple avec Krita ==== | ||
| + | |||
| + | < | ||
| + | [Desktop Entry] | ||
| + | Encoding=UTF-8 | ||
| + | Version=1.0 | ||
| + | Type=Application | ||
| + | Name=Krita | ||
| + | Icon=krita.png | ||
| + | Exec=/ | ||
| + | StartupNotify=false | ||
| + | StartupWMClass=krita | ||
| + | OnlyShowIn=Unity; | ||
| + | X-UnityGenerated=true | ||
| + | </ | ||
| + | |||
| + | ==== Exemple avec Avidemux ==== | ||
| + | |||
| + | < | ||
| + | [Desktop Entry] | ||
| + | Encoding=UTF-8 | ||
| + | Version=1.0 | ||
| + | Type=Application | ||
| + | Name=Avidemux | ||
| + | Icon=avidemux3_portable | ||
| + | Exec=/ | ||
| + | StartupNotify=false | ||
| + | StartupWMClass=avidemux3_portable | ||
| + | OnlyShowIn=Unity; | ||
| + | X-UnityGenerated=true | ||
| + | </ | ||
| + | |||
| + | ===== Problématique des lanceurs de Bureau sur le bureau ===== | ||
| + | |||
| + | Dans les précédentes versions de Ubuntu, une commande permettait de creer facilement un lanceur de Bureau sur le bureau ... Actuellement cette commande existe toujours mais est seulement disponible hors-depôt officiel. | ||
| + | |||
| + | Pourtant un mécanisme fort simple et méconnu permet de se substituer à cette commande et à toute application externe de création des raccourcis Freedesktop. | ||
| + | |||
| + | Il suffit pour cela de créer un modéle (ou template en anglais) du fichier lanceur de bureau dans le dossier prédéfini " | ||
| + | |||
| + | * Créez le fichier modèle | ||
| + | < | ||
| + | |||
| + | * Remplissez-le | ||
| + | < | ||
| + | [Desktop Entry] | ||
| + | Version=1.0 | ||
| + | Type=Application | ||
| + | Name=Desktop Laucher | ||
| + | Name[fr_FR]=Lanceur de Bureau | ||
| + | Comment=example template with gedit as application | ||
| + | TryExec=gedit | ||
| + | Exec=gedit | ||
| + | Icon=icon | ||
| + | </ | ||
| + | |||
| + | * Rendez-le exécutable | ||
| + | < | ||
| + | |||
| + | Sur le bureau, pour créer un exemple raccourci lanceur, cliquez droit sur un espace vierge du bureau, dans le menu contextuel, choisissez " | ||
| + | |||
| + | Cliquez deux fois dessus, l' | ||
| + | Si vous choisissez de créer manuellement un raccourci lanceur vous-même, ou de déplacer ou copier un raccourci lanceur existant, n' | ||
