#1 Le 27/06/2023, à 13:13
- guigui_86
[Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Bonjour à tous,
Ayant un libre office particulièrement lent, j'ai trouvé la solution de forcer son exécution avec un autre VCL (je ne sais pas ce que c'est) que le défaut.
Cf ce fil en anglais libre office lent résolu par VCL
Ainsi lorsque je lance libre office à partir d'un terminal avec la commande suivante, tout va bien :
SAL_USE_VCLPLUGIN=gen libreoffice
J'essaie maintenant de créer un lanceur dans mon tableau de bord pour automatiser cela ; dans le champ "commande" j'entre la commande ci-dessus.
Lorsque j'active le lanceur je reçois le message d'erreur :
Impossible d'exécuter la commande "SAL_USE_VCLPLUGIN=gen libreoffice".
L'exécution du processus fils "SAL_USE_VCLPLUGIN=gen" a échoué (aucun fichier ou dossier de ce type)
Pas sûr du tout mais je suspecte un problème de chemin vers l'application libreoffice ?
Toute aide sera la bienvenue.
Dernière modification par guigui_86 (Le 29/06/2023, à 01:01)
Hors ligne
#2 Le 27/06/2023, à 18:00
- f.x0
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Bonjour guigui_86,
essaies ceci :
sh -c 'SAL_USE_VCLPLUGIN=gen libreoffice'
SOPI
Hors ligne
#3 Le 27/06/2023, à 23:03
- guigui_86
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Ça fonctionne, dans un terminal ET dans un lanceur. Merci beaucoup.
Maintenant le VCLPLUGIN (je ne sais toujours pas ce que c'est) ne se charge que si je lance libre office via ce lanceur. Par exemple si j'ouvre un fichier .ods via l'explorateur de fichier par double clic, c'est le libre office sans plugin qui se lance.
Un moyen de faire en sorte que toutes les instances de libre office s'ouvrent de cette façon ?
Hors ligne
#4 Le 28/06/2023, à 01:03
- Coeur Noir
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Hello !
Le VCLplugin c'est plus ou moins ce qui est responsable de dessiner « l'interface » de LibreOffice ( les boutons, bordures, menus, etc ). C'est un « moteur » propre à LO qui utilise les toolkit présents dans le système ( gtk, qt ou autres… )
Bref ce qui est surprenant ici, c'est que tu aies besoin de forcer un choix spécifique de VCLplugin pour obtenir un LibreOffice fonctionnel.
Apparemment ce problème est souvent lié à l'installation au format snap de LO donc vérifions s'il est installé dans ce format chez toi :
snap list --all
Dans la discussion que tu cites en lien, c'est de désinstaller LO en snap et de le réinstaller au format classique apt/.deb qui a résolu le problème.
Si tu es dans ce cas mais que tu tiens absolument à garder LO en snap, il faudra alors s'assurer que ton fichier .desktop ( le lanceur ) est enregistré dans un emplacement opportun :
~/.local/share/applications ou peut-être bien dans ~/snap/libreoffice/quelque/part
et qu'il porte exactement le même nom que le lanceur « initial » de LO en snap, lanceur enregistré côté système, quelque part dans /var ou /snap ( et non classiquement dans /usr/share/applications ).
Souvent les noms des lanceurs de snap ont la forme nom_nom.desktop pour justement les distinguer des lanceur « habituels » nom.desktop.
Dans les diverses infos contenues par un lanceur il y a l'association des types de fichier pour cette application, à la ligne MimeType=
Dans ~/local/share/applications/mimeinfo.cache et /usr/share/applications/mimeinfo.cache il y l'association entre type de fichiers et applications à lancer pour eux.
Faudrait vérifier que tout ça correspond bien…
Dernière modification par Coeur Noir (Le 28/06/2023, à 01:20)
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#5 Le 28/06/2023, à 01:14
- guigui_86
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Pas grand chose en snap chez moi, et pas de libre office
coq@GC:~$ snap list --all
Nom Version Révision Suivi Éditeur Notes
bare 1.0 5 latest/stable canonical✓ base
core20 20230503 1891 latest/stable canonical✓ base,désactivé
core20 20230613 1950 latest/stable canonical✓ base
core22 20230612 766 latest/stable canonical✓ base
cups 2.4.6-1 962 latest/stable openprinting✓ -
firefox 114.0.2-1 2800 latest/stable/… mozilla✓ -
firefox 99.0.1-1 1232 latest/stable/… mozilla✓ désactivé
gnome-3-38-2004 0+git.1f9014a 99 latest/stable/… canonical✓ désactivé
gnome-3-38-2004 0+git.6f39565 140 latest/stable/… canonical✓ -
gnome-42-2204 0+git.ff35a85 111 latest/stable canonical✓ -
gtk-common-themes 0.1-81-g442e511 1535 latest/stable/… canonical✓ -
gtk-common-themes 0.1-79-ga83e90c 1534 latest/stable/… canonical✓ désactivé
snapd 2.59.5 19457 latest/stable canonical✓ snapd
snapd 2.59.4 19361 latest/stable canonical✓ snapd,désactivé
coq@GC:~$
Il me semble que j'avais désinstallé le snap pour le réinstaller via sudo apt install, en suivant le fil donné en lien. Mais cela n'avait pas réglé le problème de lenteur, donc j'ai tenté le VCLPLUGIN=gen et ça a fonctionné.
Peu m'importe qu'il soit en snap ou pas au final, ça me va très bien comme ça.
En revanche j'aimerais qu'il se lance toujours avec le VCLPLUGIN=gen, et pas seulement avec mon lanceur fait maison dans mon tableau de bord.
Pour cela j'ai rapatrié le .desktop de /usr/share/applications dans ~/.local/share/applications, et remplacé la ligne "Exec= libreoffice" par "Exec=SAL_USE_VCLPLUGIN=gen libreoffice", mais j'ai la même erreur qu'indiquée en début de fil.
Hors ligne
#6 Le 28/06/2023, à 01:43
- Coeur Noir
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Ok, pas de snap.
Comparons les noms des lanceurs, entre système et utilisateur :
ls /usr/share/applications | grep libreoffice
ls ~/.local/share/applications | grep libreoffice
Ton fichier lanceur dans ~/.local/share/applications doit absolument avoir le même nom que celui dans /usr/share/applications ( dans ce cas le lanceur perso se substitue / remplace le lanceur système, dans la session de l'utilisateur. )
Dans ce lanceur perso modifié, change les lignes Name= et GenericName[fr]= histoire de reconnaître dans l'interface qu'il s'agit bien de ton lanceur modifié.
Selon les env's de bureau, quitter-relancer la session peut s'avérer nécessaire pour que les modif's de lanceurs soient prises en compte. Ou :
update-desktop-database ~/.local/share/applications
Ensuite on regardera les histoires d'association :
grep libreoffice ~/.local/share/applications/mimeinfo.cache
grep libreoffice /usr/share/applications/mimeinfo.cache
et si ton lanceur perso est « complet » :
cat ~/.local/share/applications/ton_lanceur_perso_de_LO.desktop
et remplacé la ligne "Exec= libreoffice" par "Exec=SAL_USE_VCLPLUGIN=gen libreoffice", mais j'ai la même erreur qu'indiquée en début de fil
comme au #2 ?
Exec=sh -c 'SAL_USE_VCLPLUGIN=gen libreoffice'
ou peut-être aussi :
Exec=libreoffice -env:SAL_USE_VCLPLUGIN=gen
Dernière modification par Coeur Noir (Le 28/06/2023, à 02:03)
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#7 Le 28/06/2023, à 02:06
- guigui_86
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Ça m'a l'air correct pour le nom du lanceur .desktop, je ne l'ai fait que pour calc :
coq@GC:~$ ls /usr/share/applications | grep libreoffice
libreoffice-base.desktop
libreoffice-calc.desktop
libreoffice-draw.desktop
libreoffice-impress.desktop
libreoffice-math.desktop
libreoffice-startcenter.desktop
libreoffice-writer.desktop
libreoffice-xsltfilter.desktop
coq@GC:~$ ls ~/.local/share/applications | grep libreoffice
libreoffice-calc.desktop
coq@GC:~$
Ensuite j'ai changé Name= et Generic_Name=, les modifications sont prises en compte dès la fermeture du .desktop sur xubuntu : l'application calc a bien mon nouveau nom dans les menus de lancement. À noter que ces menus lancent la version lente sans le plugin VCL, ce que je voudrais modifier.
Enfin pour les associations, il ne passe rien en local, mais plein de choses en usr
coq@GC:~$ grep libreoffice ~/.local/share/applications/mimeinfo.cache
coq@GC:~$ grep libreoffice /usr/share/applications/mimeinfo.cache
application/clarisworks=libreoffice-calc.desktop;libreoffice-draw.desktop;libreoffice-writer.desktop;
application/csv=libreoffice-calc.desktop;
application/excel=libreoffice-calc.desktop;
application/macwriteii=libreoffice-writer.desktop;
application/mathml+xml=libreoffice-math.desktop;
application/msexcel=libreoffice-calc.desktop;
application/mspowerpoint=libreoffice-impress.desktop;
application/msword=libreoffice-writer.desktop;
application/pdf=atril.desktop;com.github.xournalpp.xournalpp.desktop;gimp.desktop;google-chrome.desktop;libreoffice-draw.desktop;org.gnome.Evince.desktop;
application/prs.plucker=libreoffice-writer.desktop;
application/rtf=libreoffice-writer.desktop;
application/tab-separated-values=libreoffice-calc.desktop;
application/vnd.corel-draw=libreoffice-draw.desktop;
application/vnd.lotus-1-2-3=libreoffice-calc.desktop;
application/vnd.lotus-wordpro=libreoffice-writer.desktop;
application/vnd.ms-excel=libreoffice-calc.desktop;
application/vnd.ms-excel.sheet.binary.macroEnabled.12=libreoffice-calc.desktop;
application/vnd.ms-excel.sheet.macroEnabled.12=libreoffice-calc.desktop;
application/vnd.ms-excel.template.macroEnabled.12=libreoffice-calc.desktop;
application/vnd.ms-powerpoint=libreoffice-impress.desktop;
application/vnd.ms-powerpoint.presentation.macroEnabled.12=libreoffice-impress.desktop;
application/vnd.ms-powerpoint.slideshow.macroEnabled.12=libreoffice-impress.desktop;
application/vnd.ms-powerpoint.template.macroEnabled.12=libreoffice-impress.desktop;
application/vnd.ms-publisher=libreoffice-draw.desktop;
application/vnd.ms-word=libreoffice-writer.desktop;
application/vnd.ms-word.document.macroEnabled.12=libreoffice-writer.desktop;
application/vnd.ms-word.template.macroEnabled.12=libreoffice-writer.desktop;
application/vnd.ms-works=libreoffice-calc.desktop;libreoffice-writer.desktop;
application/vnd.oasis.opendocument.chart=libreoffice-calc.desktop;
application/vnd.oasis.opendocument.chart-template=libreoffice-calc.desktop;
application/vnd.oasis.opendocument.database=libreoffice-base.desktop;
application/vnd.oasis.opendocument.formula=libreoffice-math.desktop;
application/vnd.oasis.opendocument.formula-template=libreoffice-math.desktop;
application/vnd.oasis.opendocument.graphics=libreoffice-draw.desktop;
application/vnd.oasis.opendocument.graphics-flat-xml=libreoffice-draw.desktop;libreoffice-xsltfilter.desktop;
application/vnd.oasis.opendocument.graphics-template=libreoffice-draw.desktop;
application/vnd.oasis.opendocument.presentation=libreoffice-impress.desktop;
application/vnd.oasis.opendocument.presentation-flat-xml=libreoffice-impress.desktop;libreoffice-xsltfilter.desktop;
application/vnd.oasis.opendocument.presentation-template=libreoffice-impress.desktop;
application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop;
application/vnd.oasis.opendocument.spreadsheet-flat-xml=libreoffice-calc.desktop;libreoffice-xsltfilter.desktop;
application/vnd.oasis.opendocument.spreadsheet-template=libreoffice-calc.desktop;
application/vnd.oasis.opendocument.text=libreoffice-writer.desktop;
application/vnd.oasis.opendocument.text-flat-xml=libreoffice-writer.desktop;libreoffice-xsltfilter.desktop;
application/vnd.oasis.opendocument.text-master=libreoffice-writer.desktop;
application/vnd.oasis.opendocument.text-master-template=libreoffice-writer.desktop;
application/vnd.oasis.opendocument.text-template=libreoffice-writer.desktop;
application/vnd.oasis.opendocument.text-web=libreoffice-writer.desktop;
application/vnd.openofficeorg.extension=libreoffice-startcenter.desktop;
application/vnd.openxmlformats-officedocument.presentationml.presentation=libreoffice-impress.desktop;
application/vnd.openxmlformats-officedocument.presentationml.slide=libreoffice-impress.desktop;
application/vnd.openxmlformats-officedocument.presentationml.slideshow=libreoffice-impress.desktop;
application/vnd.openxmlformats-officedocument.presentationml.template=libreoffice-impress.desktop;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop;
application/vnd.openxmlformats-officedocument.spreadsheetml.template=libreoffice-calc.desktop;
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
application/vnd.openxmlformats-officedocument.wordprocessingml.template=libreoffice-writer.desktop;
application/vnd.palm=libreoffice-writer.desktop;
application/vnd.stardivision.writer-global=libreoffice-writer.desktop;
application/vnd.sun.xml.base=libreoffice-base.desktop;
application/vnd.sun.xml.calc=libreoffice-calc.desktop;
application/vnd.sun.xml.calc.template=libreoffice-calc.desktop;
application/vnd.sun.xml.draw=libreoffice-draw.desktop;
application/vnd.sun.xml.draw.template=libreoffice-draw.desktop;
application/vnd.sun.xml.impress=libreoffice-impress.desktop;
application/vnd.sun.xml.impress.template=libreoffice-impress.desktop;
application/vnd.sun.xml.math=libreoffice-math.desktop;
application/vnd.sun.xml.writer=libreoffice-writer.desktop;
application/vnd.sun.xml.writer.global=libreoffice-writer.desktop;
application/vnd.sun.xml.writer.template=libreoffice-writer.desktop;
application/vnd.visio=libreoffice-draw.desktop;
application/vnd.wordperfect=libreoffice-writer.desktop;
application/wordperfect=libreoffice-writer.desktop;
application/x-123=libreoffice-calc.desktop;
application/x-abiword=libreoffice-writer.desktop;
application/x-aportisdoc=libreoffice-writer.desktop;
application/x-dbase=libreoffice-calc.desktop;
application/x-dbf=libreoffice-calc.desktop;
application/x-doc=libreoffice-writer.desktop;
application/x-dos_ms_excel=libreoffice-calc.desktop;
application/x-excel=libreoffice-calc.desktop;
application/x-extension-txt=libreoffice-writer.desktop;
application/x-fictionbook+xml=libreoffice-writer.desktop;
application/x-hwp=libreoffice-writer.desktop;
application/x-iwork-keynote-sffkey=libreoffice-impress.desktop;
application/x-iwork-numbers-sffnumbers=libreoffice-calc.desktop;
application/x-iwork-pages-sffpages=libreoffice-writer.desktop;
application/x-ms-excel=libreoffice-calc.desktop;
application/x-msexcel=libreoffice-calc.desktop;
application/x-mswrite=libreoffice-writer.desktop;
application/x-pagemaker=libreoffice-draw.desktop;
application/x-quattropro=libreoffice-calc.desktop;
application/x-sony-bbeb=libreoffice-writer.desktop;
application/x-starcalc=libreoffice-calc.desktop;
application/x-stardraw=libreoffice-draw.desktop;
application/x-starwriter=libreoffice-writer.desktop;
application/x-t602=libreoffice-writer.desktop;
application/x-wpg=libreoffice-draw.desktop;
image/x-emf=libreoffice-draw.desktop;
image/x-freehand=libreoffice-draw.desktop;
image/x-wmf=gimp.desktop;libreoffice-draw.desktop;
text/comma-separated-values=libreoffice-calc.desktop;
text/csv=libreoffice-calc.desktop;
text/mathml=libreoffice-math.desktop;
text/plain=libreoffice-writer.desktop;org.gnome.gedit.desktop;org.xfce.mousepad.desktop;vim.desktop;
text/rtf=libreoffice-writer.desktop;
text/spreadsheet=libreoffice-calc.desktop;
text/tab-separated-values=libreoffice-calc.desktop;
text/x-comma-separated-values=libreoffice-calc.desktop;
text/x-csv=libreoffice-calc.desktop;
x-scheme-handler/ms-access=libreoffice-startcenter.desktop;
x-scheme-handler/ms-excel=libreoffice-startcenter.desktop;
x-scheme-handler/ms-powerpoint=libreoffice-startcenter.desktop;
x-scheme-handler/ms-visio=libreoffice-startcenter.desktop;
x-scheme-handler/ms-word=libreoffice-startcenter.desktop;
x-scheme-handler/vnd.libreoffice.cmis=libreoffice-startcenter.desktop;
x-scheme-handler/vnd.libreoffice.command=libreoffice-startcenter.desktop;
x-scheme-handler/vnd.sun.star.webdav=libreoffice-startcenter.desktop;
x-scheme-handler/vnd.sun.star.webdavs=libreoffice-startcenter.desktop;
coq@GC:~$
Hors ligne
#8 Le 28/06/2023, à 15:28
- Coeur Noir
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
OK.
Voyons ce que raconte ton lanceur perso' :
cat ~/.local/share/applications/libreoffice-calc.desktop
et ajoutons « localement » l'association type / appli, en modifiant le fichier mimeinfo.cache :
xdg-open ~/.local/share/applications/mimeinfo.cache
qui ouvrira le fichier dans l’éditeur de texte par défaut ( mousepad il me semble sous xubuntu ).
Là, tu ajoutes ces lignes :
application/clarisworks=libreoffice-calc.desktop;
application/csv=libreoffice-calc.desktop;
application/excel=libreoffice-calc.desktop;
application/msexcel=libreoffice-calc.desktop;
application/tab-separated-values=libreoffice-calc.desktop;
application/vnd.lotus-1-2-3=libreoffice-calc.desktop;
application/vnd.ms-excel=libreoffice-calc.desktop;
application/vnd.ms-excel.sheet.binary.macroEnabled.12=libreoffice-calc.desktop;
application/vnd.ms-excel.sheet.macroEnabled.12=libreoffice-calc.desktop;
application/vnd.ms-excel.template.macroEnabled.12=libreoffice-calc.desktop;
application/vnd.ms-works=libreoffice-calc.desktop;
application/vnd.oasis.opendocument.chart=libreoffice-calc.desktop;
application/vnd.oasis.opendocument.chart-template=libreoffice-calc.desktop;
application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop;
application/vnd.oasis.opendocument.spreadsheet-flat-xml=libreoffice-calc.desktop;
application/vnd.oasis.opendocument.spreadsheet-template=libreoffice-calc.desktop;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop;
application/vnd.openxmlformats-officedocument.spreadsheetml.template=libreoffice-calc.desktop;
application/vnd.sun.xml.calc=libreoffice-calc.desktop;
application/vnd.sun.xml.calc.template=libreoffice-calc.desktop;
application/x-123=libreoffice-calc.desktop;
application/x-dbase=libreoffice-calc.desktop;
application/x-dbf=libreoffice-calc.desktop;
application/x-dos_ms_excel=libreoffice-calc.desktop;
application/x-excel=libreoffice-calc.desktop;
application/x-iwork-numbers-sffnumbers=libreoffice-calc.desktop;
application/x-ms-excel=libreoffice-calc.desktop;
application/x-msexcel=libreoffice-calc.desktop;
application/x-quattropro=libreoffice-calc.desktop;
application/x-starcalc=libreoffice-calc.desktop;
text/comma-separated-values=libreoffice-calc.desktop;
text/csv=libreoffice-calc.desktop;
text/spreadsheet=libreoffice-calc.desktop;
text/tab-separated-values=libreoffice-calc.desktop;
text/x-comma-separated-values=libreoffice-calc.desktop;
text/x-csv=libreoffice-calc.desktop;
tu enregistres et quittes ; éventuellement quitter-relancer la session.
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#9 Le 28/06/2023, à 15:46
- Coeur Noir
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Cela dit, je reste persuadé que tu ne devrais pas avoir à spécifier le VCLplugin, il manque peut-être des éléments dans ton installation de LO.
Donne aussi le retour de :
dpkg -l | grep libreoffice
je m'attends à trouver dans le tas un ou des libreoffice-gtk - s'il n'y en a pas il faudrait les installer.
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#10 Le 28/06/2023, à 17:30
- guigui_86
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
C'est bon pour les associations, merci.
Effectivement sur la présence des gtk :
coq@GC:~$ dpkg -l | grep libreoffice
ii liblibreoffice-java 1:7.3.7-0ubuntu0.22.04.3 all LibreOffice UNO runtime environment -- Java library
ii libreoffice 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite (metapackage)
ii libreoffice-base 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- database
ii libreoffice-base-core 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- shared library
ii libreoffice-base-drivers 1:7.3.7-0ubuntu0.22.04.3 amd64 Database connectivity drivers for LibreOffice
ii libreoffice-calc 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- spreadsheet
ii libreoffice-common 1:7.3.7-0ubuntu0.22.04.3 all office productivity suite -- arch-independent files
ii libreoffice-core 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- arch-dependent files
ii libreoffice-draw 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- drawing
ii libreoffice-gnome 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- GNOME integration
ii libreoffice-gtk3 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- GTK+ 3 integration
rc libreoffice-help-common 1:7.3.7-0ubuntu0.22.04.3 all office productivity suite -- common files for LibreOffice help
ii libreoffice-impress 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- presentation
ii libreoffice-java-common 1:7.3.7-0ubuntu0.22.04.3 all office productivity suite -- arch-independent Java support files
ii libreoffice-math 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- equation editor
ii libreoffice-nlpsolver 0.9+LibO7.3.7-0ubuntu0.22.04.3 all "Solver for Nonlinear Programming" extension for LibreOffice
ii libreoffice-report-builder 1:7.3.7-0ubuntu0.22.04.3 all LibreOffice component for building database reports
ii libreoffice-report-builder-bin 1:7.3.7-0ubuntu0.22.04.3 amd64 LibreOffice component for building database reports -- libraries
ii libreoffice-script-provider-bsh 1:7.3.7-0ubuntu0.22.04.3 all BeanShell script support provider for LibreOffice scripting framework
ii libreoffice-script-provider-js 1:7.3.7-0ubuntu0.22.04.3 all JavaScript script support provider for LibreOffice scripting framework
ii libreoffice-script-provider-python 1:7.3.7-0ubuntu0.22.04.3 all Python script support provider for LibreOffice scripting framework
ii libreoffice-sdbc-firebird 1:7.3.7-0ubuntu0.22.04.3 amd64 Firebird SDBC driver for LibreOffice
ii libreoffice-sdbc-hsqldb 1:7.3.7-0ubuntu0.22.04.3 amd64 HSQLDB SDBC driver for LibreOffice
ii libreoffice-sdbc-mysql 1:7.3.7-0ubuntu0.22.04.3 amd64 MariaDB/MySQL SDBC driver for LibreOffice
ii libreoffice-sdbc-postgresql 1:7.3.7-0ubuntu0.22.04.3 amd64 PostgreSQL SDBC driver for LibreOffice
ii libreoffice-style-colibre 1:7.3.7-0ubuntu0.22.04.3 all office productivity suite -- colibre symbol style
ii libreoffice-style-elementary 1:7.3.7-0ubuntu0.22.04.3 all office productivity suite -- Elementary symbol style
ii libreoffice-style-yaru 1:7.3.7-0ubuntu0.22.04.3 all office productivity suite -- Yaru symbol style
ii libreoffice-wiki-publisher 1.2.0+LibO7.3.7-0ubuntu0.22.04.3 all LibreOffice extension for working with MediaWiki articles
ii libreoffice-writer 1:7.3.7-0ubuntu0.22.04.3 amd64 office productivity suite -- word processor
coq@GC:~$
J'ai pourtant installé libreoffice via apt install comme préconisé.
Hors ligne
#11 Le 28/06/2023, à 18:04
- Coeur Noir
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Voyons si l'ajout des paquets gtk et gtk2 permet de se passer de modifier VCLplugin dans le lanceur.
sudo apt install libreoffice-gtk libreoffice-gtk2
Au pire ça ne change rien et ça ne gêne rien non plus.
Sinon c'est peut-être la présence de
libreoffice-gnome
qui n'est pas opportune, vu que t'es sous xfce et non gnome, à priori.
Et teste avec un lanceur calc non modifié / ou avec writer, draw ou impress ( puisque tu n'as pas modifié ceux-là. )
Dernière modification par Coeur Noir (Le 28/06/2023, à 18:16)
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#12 Le 29/06/2023, à 01:00
- guigui_86
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Ajout de gtk et gtk2, suppression de gnome, le libreoffice sans modifier le VCLplugin est un poil moins lent qu'avant, mais toujours à la traîne.
Bon il faut dire que je teste sur un tableau qui a un formatage conditionnel un peu compliqué. Le VCLplugin=gen permet de l'accélérer à une vitesse tout à fait satisfaisante, donc on va conserver cette solution.
En tous merci pour ton aide précieuse.
Hors ligne
#13 Le 12/07/2023, à 00:50
- guigui_86
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Exec=sh -c 'SAL_USE_VCLPLUGIN=gen libreoffice'
Suite au message de Coeur Noir, j'ai donc modifié mon fichier .desktop libreoffice pour qu'il utilise la commande ci-dessus de façon à lancer le VCLPLUGIN qu'il me faut. Précisément, le fichier .desktop contient la commande suivante qui lance le --calc de libreoffice lorsque je clique sur un fichier tableur :
Exec=sh -c 'SAL_USE_VCLPLUGIN=gen libreoffice --calc %U'
Problème apparu récemment avec cette commande : les noms de répertoires avec des espaces ne sont pas gérés correctement. Par exemple :
* un fichier tableur sauvegardé dans /home/mon_repertoire s'ouvre correctement.
* un fichier tableur sauvegardé dans /home/mon repertoire ne s'ouvre pas correctement. L'erreur suivante s'affiche : '/home/mon n'existe pas'.
J'ai essayé de remplacer %U par %F, sans succès. Une idée ?
Hors ligne
#14 Le 12/07/2023, à 01:47
- Coeur Noir
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
As-tu essayé
Exec=libreoffice -env:SAL_USE_VCLPLUGIN=gen %u
?
…j'avoue : je ne sais pas comment on échappe le caractère espace dans une commande sh -c 'quelquechose %u'
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#15 Le 12/07/2023, à 14:52
- guigui_86
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Ça fonctionne avec cette commande, nous avons réussi à échapper aux espaces sans trop savoir comment. Merci.
Hors ligne
#16 Le 12/07/2023, à 21:41
- kamaris
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
La commande donnée par Coeur Noir est le mieux quand on peut : utiliser les options du programme principal (ici libreoffice) plutôt que passer par un shell.
Cela dit ça n'est pas toujours possible et le sh -c '…' est pratique, donc voici comment faire pour ne pas avoir de problème avec les guillemets dans ce genre de cas :
Exec=sh -c 'SAL_USE_VCLPLUGIN=gen libreoffice --calc "$@"' _ %U
Les %f, %F, %u et %U ne doivent pas se trouver dans des guillemets (simples ou doubles) sous peine d'avoir des problèmes d'échappement de caractères.
Hors ligne
#17 Le 13/07/2023, à 00:08
- guigui_86
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Merci pour la précision kamaris. Tu peux expliquer la syntaxe ? Ici il s'agit d'échapper les espaces dans le nom des chemins.
Hors ligne
#18 Le 13/07/2023, à 10:07
- kamaris
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
En fait il s'agirait plutôt de ne pas les échapper
C'est-à-dire qu'il ne faut pas interférer avec l'échappement de caractères que réalise le programme qui parse le fichier desktop.
Pour cette raison, les « codes de champ » (nom technique des %U, %u, etc.) ne doivent pas être mis dans des guillemets:
Field codes must not be used inside a quoted argument, the result of field code expansion inside a quoted argument is undefined.
C'est ce que la syntaxe ci-dessus permet :
* le code de champ %U est passé en argument au mini-script sh -c '…' en dehors de tous guillemets ;
* le '_' passé avant sert de nom au mini-script (i.e. son $0) pour que le $@ corresponde bien au %U ;
* le parseur du fichier desktop va développer %U avant de le passer au mini-script, en échappant correctement les caractères (sinon c'est un bug de son côté) ;
* le "$@" (avec guillemets doubles) assure que le mini-script préservera bien l'échappement de caractères réalisé par le parseur.
Hors ligne
#19 Le 14/07/2023, à 04:13
- Coeur Noir
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
HS
Merci Kamaris pour ces explications ! Mais je comprends pas tout…
Donc un "$@" dans un script encadré par des guillemets simples ' ' ça passe ; un "%×" ça casse. Parce qu'un truc introduit par % est un field code.
Est-ce que le @ dans $@ signifie chemin ou url ? Qui prendra donc la valeur déduite de %U ?
Je ne saisis pas l'histoire du « _ sert de nom au mini-script (i.e. son $0) ». C'est quoi $0 ? Le mini-script c'est quoi dans ce cas ? Ce qui se trouve entre les guillemets simples ?
J'y connais rien en script - ça se voit - et à vue de mon pif béotien, je me serais dit que le _ indique une substitution ou une équivalence ( entre la variable $ partiellement définie par @ et le chemin contenu dans %U ) ?
Fin HS
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#20 Le 14/07/2023, à 09:07
- kamaris
Re : [Résolu] Commande OK dans un terminal, mais pas dans un lanceur ?
Eh bien oui il faut un minimum de connaissance en syntaxe shell, en particulier ce que signifie $0 et $@ dans un script shell:
* $0 est le nom du script shell (celui par lequel il a été invoqué) ;
* $@ sont les paramètres d'entrée du script.
Donc oui le mini-script est ce qui se trouve entre les guillemets simples (plutôt que sh -c '…' comme je l'ai dit par abus de langage), sh est l'interpréteur de ce mini-script et -c l'option qui permet d'utiliser l'interpréteur de cette manière:
If the -c option is present, then commands are read from the first non‐option argument command_string. If there are arguments after the command_string, the first argument is assigned to $0 and any remaining arguments are assigned to the positional parameters. The assignment to $0 sets the name of the shell, which is used in warning and error messages.
Ensuite il faut bien comprendre l'ordre dans lequel se passent les choses :
* le parseur du fichier desktop développe les codes de champ (sans toucher au reste) ;
* la commande résultante est exécutée directement (sans la passer à un quelconque interpréteur, raison pour laquelle on doit ajouter sh -c si besoin).
Donc ici la commande principale est sh, et le reste (-c, le mini-script, le underscore et le %U développé) sont ses arguments d'entrée.
Hors ligne