BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Shell Funktion unter Linux mit LO Flatpak- Version

Alles zur Programmierung im LibreOffice.
Craemes
Beiträge: 6
Registriert: Di 26. Apr 2022, 09:55

Shell Funktion unter Linux mit LO Flatpak- Version

Beitrag von Craemes » Di 26. Apr 2022, 10:19

Hallo zusammen,

ich möchte in einem Makro eine von mir entwickelte Anwendung starten (non Flatpak).
OS: Linux Mint 20.3
LO: Version 7.3.2.2 (Flatpak)

Ich habe schon so einige Varianten mit der Shell- Funktion durch, z.B.

Code: Alles auswählen

shell("bash -c xed")

Code: Alles auswählen

shell("flatpak-spawn xed")
Die Rückgabewerte sind 0 - sollte also funktionieren. Bei einer falschen Angabe wird auch "Datei nicht gefunden" ausgegeben. Dennoch passiert gar nichts.

Zum Test habe ich, wie man sieht, einfach versucht nur den Editor auszuführen. Aber auch Scripts lassen sich nicht ausführen.
Die erste Variante funktioniert in einer VM mit installiertem Mint und LO (Standardquellen) einwandfrei.

Es liegt also sicher daran, dass LO als Flatpak läuft.

Es währe toll, wenn mir jemand weiterhelfen könnte.

Vielen Dank
Craemes
Zuletzt geändert von Craemes am Di 26. Apr 2022, 12:05, insgesamt 1-mal geändert.

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Sehll Funktion unter Linux mit LO Flatpak- Version

Beitrag von gogo » Di 26. Apr 2022, 11:54

viewtopic.php?f=12&t=33497&p=96942#p96942
...
Die shell()-Funktion ruft EIN Programm (Parameter 1) auf und übergibt ALLE unter Parameter 3 gelisteten Optionen.
...
Daher: Alles, was KEIN Einzelbefehl ist, MUSS, damit es richtig abläuft, über ein externes Script ausgeführt werden (welches eine Befehlskette zu einem Einzelbefehl vereinigt)
...
Das Script sollte dann etwa so aussehen:

Code: Alles auswählen

#!/bin/bash
xterm xed
und der shell() Befehl dann etwa so:

Code: Alles auswählen

...
shell("/pfad/zum/script.sh")
...
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Craemes
Beiträge: 6
Registriert: Di 26. Apr 2022, 09:55

Re: Shell Funktion unter Linux mit LO Flatpak- Version

Beitrag von Craemes » Di 26. Apr 2022, 12:24

Hallo,
danke für die Anwort.
Aber leider funktioniert das auch nicht. Diese Variante hatte ich auch schon getestet - und jetzt noch ein mal.
Er findet offensichtlich das Script (wenn ich den Dateinamen falsch schreibe kommt auch eine Fehlermeldung), es passiert aber rein gar nichts.
Wie gesagt, die Variante 1 oben funktioniert mit einem LO aus den offiziellen Quellen. Man darf also vermuten, dass es etwas mit den Rechten durch das Flatpak zu tun hat. Er findet das Script/die Anwendung, führt sie aber offensichtlich nicht aus.

Beste Grüße
Craemes

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Shell Funktion unter Linux mit LO Flatpak- Version

Beitrag von craig » Di 26. Apr 2022, 13:33

Hallo Craemes,

ich bin zwar ein Windows-Anwender, bin aber vor einger Zeit bei der
Shell-Anweisung unter Windows auf ein Problem gestoßen, welches mit
dem Setzen der Anführungszeichen bei Shell-Anweisungen zusammenhängt.

Der Basic-Interpreter fordert u.U. mehrere Anführungszeichen und ja,
es gibt u.U. keine Fehlermeldung bei der Ausführung des Codes:
siehe Beispiel:
https://de.openoffice.info/viewtopic.ph ... 35#p296535

Ggf. ist dies auch Dein Problem?
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Shell Funktion unter Linux mit LO Flatpak- Version

Beitrag von gogo » Di 26. Apr 2022, 14:23

funktioniert das Script, wenn Du es per Klick aus dem Nemo startest?
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Craemes
Beiträge: 6
Registriert: Di 26. Apr 2022, 09:55

Re: Shell Funktion unter Linux mit LO Flatpak- Version

Beitrag von Craemes » Di 26. Apr 2022, 15:14

@gogo
jup, funktioniert.

Beste Grüße
Craemes

Craemes
Beiträge: 6
Registriert: Di 26. Apr 2022, 09:55

Re: Shell Funktion unter Linux mit LO Flatpak- Version

Beitrag von Craemes » Di 26. Apr 2022, 15:23

@craig
Vielen Dank für deine Idee. Aber leider ist das auch nicht die Lösung.

Beste Grüß
Craemes

Benutzeravatar
karolus
Beiträge: 2170
Registriert: Fr 10. Dez 2010, 10:01

Re: Shell Funktion unter Linux mit LO Flatpak- Version

Beitrag von karolus » Di 26. Apr 2022, 20:46

Hallo
Gegenfragen:
  • Warum muss es Flatpack sein, und nicht die normale Installation aus den Paketquellen?
  • Warum unbedingt der Umweg über Basic…Shell…<deine Anwendung>?
  • Was tut deine "Anwendung" denn so… was z.B Python nicht kann? Letzteres kann problemlos aus LO heraus laufen und für den unwahrscheinlichen Fall das dann tatsächlich noch "fremd"-code ausgeführt werden muss ein wesentlich flexibleres subprocess-modul
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.3.2 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Shell Funktion unter Linux mit LO Flatpak- Version

Beitrag von Wanderer » Mi 27. Apr 2022, 06:33

Hast Du die Berechtigungen geprüft?
the host option does not actually provide complete access to the host filesystem. The main rules are:

These directories are blacklisted: /lib, /lib32, /lib64, /bin, /sbin, /usr, /boot, /root, /tmp, /etc, /app, /run, /proc, /sys, /dev, /var
Exceptions from the blacklist: /run/media
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

Craemes
Beiträge: 6
Registriert: Di 26. Apr 2022, 09:55

Re: Shell Funktion unter Linux mit LO Flatpak- Version

Beitrag von Craemes » Do 28. Apr 2022, 12:57

karolus hat geschrieben:
Di 26. Apr 2022, 20:46
Hallo
Gegenfragen:
  • Warum muss es Flatpack sein, und nicht die normale Installation aus den Paketquellen?
  • Warum unbedingt der Umweg über Basic…Shell…<deine Anwendung>?
  • Was tut deine "Anwendung" denn so… was z.B Python nicht kann? Letzteres kann problemlos aus LO heraus laufen und für den unwahrscheinlichen Fall das dann tatsächlich noch "fremd"-code ausgeführt werden muss ein wesentlich flexibleres subprocess-modul
Alles berechtigte Fragen - obwohl ich eigentlich gar nicht auf Gegenfragen stehe da diese häufig ńicht zum Ziel sonder zu Diskusionen führen.

Warum Flatpak:
Grundsätzlich installiere ich hinsichtlich LO seit vielen Jahren schon nicht mehr aus den Debian/oder Ubuntu- Quellen. In Sachen LO gibts da nur Steinzeit- Versionen. Stable ist okay, aber nicht Steinzeit.
Daher habe ich jahrelang die LO- Versionen heruntergeladen und installiert. Auf Dauer ist die Pflege für viele Rechner auf diese Weise aber echt aufwändig und zeitintensiv.
Letztenendes bin ich dann also zur Flatpak- Variante gestolpert - einfach der Faulheit wegen.
Die Nachteile leigen auf der hand. Die Flatpak- Variante ist deutlich langsamer und unstabiler. Auch gibt es immer wieder Probleme die im Zusmmenhang mit Berechtigungen stehen. Auch das Dokumentenmanagement musste ich damals so anpassen, dass es mit der Flatpak- Variante arbeiten kann - was dennoch nicht ganz problemlos ist.
Daher habe ich mich jetzt dazu entschieden, alle Systeme wieder umzustellen - das ppa für die Stable- Version ist hier für mich die richtige Wahl. Damit haben sich viele Probleme mit LO erledigt.

Der Umweg über mein Externes Programm:
Zum Einen halte ich so gar nichs von Interpreter wie Python und schon doppelt nichts von Interpretern bei denen man mit Lineal arbeiten muss. Ich schreibe seit 35 Jahren ASM/C/C++ und auch gerne mal Verwandte wie etwa PB und glaube, dass ich auch sehr flexibel bin. Keine Frage, Python ist nett, Python hat mittlerweile eine große Gemeinschaft und ist mächitg - aber für mich ist Python keine Alternative - sry. Ömm, ja und Java Script auch nicht - ich sprüre doch,, dass das Thema gleich auf kommt :).
Zum Anderen halte ich den Anteil an der Flickschusterei die sich über die Jahre und mit den verschiedenen "Händen" durch die LO gelaufen ist und sich Basic nennt sehr gering.
Somit ist die beste Variante, in diesem Fall zumindest, einfach ein kleines Programm zu entwicklen, dass die "Arbeit" macht. Es wird aufgerufen, tut seine Arbeit, hat eine Rückgabe - und fertig.

Um was gehts im Programm:
Das ist relativ einfach. Da die dt. Post sein Add-On EPorto nun ja seit einigen Jahren nicht mehr für LO entwickelt, habe ich das für die Firma jetzt einfach in die Hand genommen. Ich habe den Laden MS/Google und Co frei geschaufelt und da soll es an solchen Kleinigkeiten nicht haken.
Und wenn ich mir den Käse vom Add-On EPorto undter Word so angucke, wie da mit den Marken dann hantiert werden muss, gehts mit LO nun wirklich besser/leichter :)

Bei Gelegenheit werde ich das hier im Forum auch bereitstellen.

Beste Grüße

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten