[Risolto] Lanciatore per programmi avviabili solo da script

Aperto da Josh, Venerdì 22 Maggio 2020, 16:57:46

Discussione precedente - Discussione successiva

Josh

Ho alcuni programmi che possono essere avviati solo con il loro script, ma aprire il terminale ogni volta è noioso. È possibile creare un lanciatore che permetta di avviare lo script cliccandoci sopra?
"Sii un uomo migliore di tuo padre"

MVR270

Scusa l'ignoranza ma quando crei un lanciatore non trovi mica la casella da spuntare :"launch in terminal"?

Josh

Non so come creare un lanciatore, ecco perché ho aperto il thread.
Nella scheda "Permessi" nelle proprietà del file sh l'opzione "Permetti di eseguire il file come un programma" è spuntata, ma se ci faccio doppio click il file viene aperto in Mousepad come se fosse testo.
"Sii un uomo migliore di tuo padre"

nessuno

Se non ricordo male con Xfce dovresti avere una voce nel menu del tasto destro del mouse che ti consente di creare un lanciatore.

Anche modificare uno esistente è una cosa che si può fare, li trovi in /usr/share/applications...

Tempo fa mi  confrontai con un problema analogo, anche se con sistema e motivi diversi, era quando @trigg ed io facemmo quello script per aggiornare Slackware, Slurp!

In quella discussione potresti trovare qualche spunto interessante, per esempio questo fu il primo lanciatore di quello script:

[Desktop Entry]
Version=0.0.4
Type=Application
Name=Slurp!
Comment=Script per Slackware, aggiorna il sistema e configura slackpkg/plus.
Exec=gksu -l "xfce4-terminal -H -x sh /opt/slurp/script/slurp-0.0.4.sh"
Icon=/opt/slurp/logo/Slurp-Logo-final.png
Path=
Terminal=false
StartupNotify=false


Le righe sono abbastanza comprensibili e facilmente modificabili, la più importante, e forse un po' piu complicata, è questa:

Exec=gksu -l "xfce4-terminal -H -x sh /opt/slurp/script/slurp-0.0.4.sh"

Qui si stabilisce che lo script, dopo essere saliti con i privilegi usando "gksu", deve essere eseguito (opzione -x) in una finestra del terminale di xfce che deve essere mantenuta aperta (opzione -H). Se non ricordo male ovviamente, è passato un po' di tempo...

lo trovi in questo post:
https://www.linuxminditalia.org/index.php?topic=24554.msg267937#msg267937

Nei post successivi sostituii la riga di esecuzione per usare xterm, una esperienza molto interessante per me scoprire quante cose si possono fare...

... Magari ti può essere di ispirazione.

:ciao:

Josh

Grazie per la dritta, sono riuscito a farlo funzionare mettendo in exec direttamente il comando contenuto nello script

[Desktop Entry]
Version=1.0
Type=Application
Name=KanjiTomo
Comment=Lanciatore per KanjiTomo
Exec=java -Xmx1200m -jar KanjiTomo.jar -run
Icon=
Terminal=false
StartupNotify=false


Non ho capito la funzione dei campi "Version" e "Type".

EDIT: Non ho capito nemmeno perché se spunto la casella "Permetti di eseguire il file come un programma" il file cambia nome da "lanciatore.desktop" a "KanjiTomo" per poi tornare al nome originale se la deseleziono.
"Sii un uomo migliore di tuo padre"

nessuno

Quelle voci, e altre voci  come "Categories=" e "Keywords=", solo per fare un esempio, hanno un senso se copi il lanciatore in una delle due posizioni del sistema che ti consentono di ritrovare il lanciatore nel menu (~/.local/share/applications e /usr/share/applications) sotto la categoria corretta, o con la ricerca di una parola chiave, e di visualizzare le informazioni del programma solo sfiorandolo col mouse.

Se non permetti l'esecuzione del lanciatore come programma, lo stesso sarà per il sistema solo uno strano file di testo. Al contrario, come programma, lo utilizzerà per quello che è (avendo l'estensione .desktop) per cui probabilmente andrà a leggersi il nome dell'applicazione alla voce "Name=" e ti mostrerà il lanciatore con quel nome... O almeno, così sembrerebbe.

Puoi sempre fare una copia del lanciatore, modificare le voci, e vedere cosa cambia...

Josh

Citazione di: Umberto il Martedì 26 Maggio 2020, 23:09:54
Quelle voci, e altre voci  come "Categories=" e "Keywords=", solo per fare un esempio, hanno un senso se copi il lanciatore in una delle due posizioni del sistema che ti consentono di ritrovare il lanciatore nel menu (~/.local/share/applications e /usr/share/applications) sotto la categoria corretta, o con la ricerca di una parola chiave, e di visualizzare le informazioni del programma solo sfiorandolo col mouse.

Grazie.

Citazione di: Umberto il Martedì 26 Maggio 2020, 23:09:54Se non permetti l'esecuzione del lanciatore come programma, lo stesso sarà per il sistema solo uno strano file di testo. Al contrario, come programma, lo utilizzerà per quello che è (avendo l'estensione .desktop) per cui probabilmente andrà a leggersi il nome dell'applicazione alla voce "Name=" e ti mostrerà il lanciatore con quel nome... O almeno, così sembrerebbe.

Puoi sempre fare una copia del lanciatore, modificare le voci, e vedere cosa cambia...

Ho provato ed è veramente così. Impostando il file come eseguibile il nome cambia in base a cosa c'è scritto nel campo "Name".
"Sii un uomo migliore di tuo padre"