Linux Mind Italia

  • Domenica 31 Maggio 2020, 06:38:36
  • Benvenuto, Visitatore
Effettua l'accesso o una nuova registrazione.

Inserisci il nome utente, la password e la durata della sessione.
Ricerca avanzata

News:

Con Gnome sarà più facile gestire il firmware < clicca qui >

collapse

* Utenti On Line

  • Dot Visitatori: 66
  • Dot Nascosti: 0
  • Dot Utenti: 0

There aren't any users online.

Autore Topic: [Risolto] Lanciatore per programmi avviabili solo da script  (Letto 162 volte)

Josh

  • Sr. Mind
  • ****
  • Offline Offline
  • Post: 1109
  • Distro: Linux Mint
[Risolto] Lanciatore per programmi avviabili solo da script
« il: Venerdì 22 Maggio 2020, 16:57:46 »

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?
« Ultima modifica: Mercoledì 27 Maggio 2020, 16:41:49 da Josh »
Connesso
"Sii un uomo migliore di tuo padre"

MVR270

  • Jr. Mind
  • **
  • Offline Offline
  • Post: 87
  • Distro: Linux MINT
Re:Lanciatore per programmi avviabili solo da script
« Risposta #1 il: Venerdì 22 Maggio 2020, 17:27:40 »

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

Josh

  • Sr. Mind
  • ****
  • Offline Offline
  • Post: 1109
  • Distro: Linux Mint
Re:Lanciatore per programmi avviabili solo da script
« Risposta #2 il: Venerdì 22 Maggio 2020, 21:30:22 »

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.
Connesso
"Sii un uomo migliore di tuo padre"

Umberto

  • Full Mind
  • ***
  • Offline Offline
  • Post: 648
  • Distro: Arch Linux Cinnamon
Re:Lanciatore per programmi avviabili solo da script
« Risposta #3 il: Venerdì 22 Maggio 2020, 23:15:44 »

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:

Codice: [Seleziona]
[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:

Codice: [Seleziona]
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:
Connesso

Josh

  • Sr. Mind
  • ****
  • Offline Offline
  • Post: 1109
  • Distro: Linux Mint
Re:Lanciatore per programmi avviabili solo da script
« Risposta #4 il: Martedì 26 Maggio 2020, 21:15:33 »

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

Codice: [Seleziona]
[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.
Connesso
"Sii un uomo migliore di tuo padre"

Umberto

  • Full Mind
  • ***
  • Offline Offline
  • Post: 648
  • Distro: Arch Linux Cinnamon
Re:Lanciatore per programmi avviabili solo da script
« Risposta #5 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.

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...
Connesso

Josh

  • Sr. Mind
  • ****
  • Offline Offline
  • Post: 1109
  • Distro: Linux Mint
Re:Lanciatore per programmi avviabili solo da script
« Risposta #6 il: Mercoledì 27 Maggio 2020, 16:41:34 »

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.

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...

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