Topic: Modifica icona file.py ed esecuzione diretta  (Letto 212 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline bambam

  • python unicellularis
  • *
  • Post: 31
  • Punti reputazione: 0
    • Mostra profilo
Modifica icona file.py ed esecuzione diretta
« il: Gennaio 12, 2020, 08:49 »
Buon giorno , ho fatto un programma che  ora riesco ad eseguire solo da shell passando quindi dal codice sorgente , vorrei poter eseguire direttamente lo script con doppio click sul file.py e perchè no,  modificare l icona del file.py stesso ...
Lavoro su raspbian lxde da raspberry 3b+ con python 3.8 ... Ho letto diverse tecniche in rete ma non funziona ... Qualcuno cosi gentile da guidarmi nel procedimento ?

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 274
  • Punti reputazione: 0
    • Mostra profilo
Re:Modifica icona file.py ed esecuzione diretta
« Risposta #1 il: Gennaio 12, 2020, 09:37 »
Lavoro su raspbian lxde da raspberry 3b+ con python 3.8 ... Ho letto diverse tecniche in rete ma non funziona ... Qualcuno cosi gentile da guidarmi nel procedimento ?

Purtroppo, non conosco tanto raspbian quanto lxde, ma in vari ambienti linux che uso (debian - Ubuntu con Gnome/Unity/Mate) ho configurato vari script bash e python ad avviarsi con doppio click tramite "lanciatori".

Ora, Tu non indichi "cosa" hai provato a fare, in conseguenza non saprei se "posso" darti una mano o meno ma, riguardo ad lxde, a giudicare da questa guida, possono essere aggiunte voci di menu "personalizzate", anche in modalità grafica, suppongo che già questo possa esserti utile, sempre ammesso Tu non l'abbia già provato con esito negativo, personalmente, in ambiente Mate, mi son costruito proprio un blocco di menu per applicazioni di utilità fatte da me.

In tutti i casi ho sempre e comunque utilizzato una Shabang quale prima riga dello script da lanciare, tipicamente, per python, uso "#!/usr/bin/env python3" ma, a volte, faccio diversamente, a seconda delle necessità.
In nessun caso imposto dei "files" apribili con doppio clic direttamente dal file manager in uso, anche se "potrebbe" essere fatto, preferendo pasticciare con programmi "terzi" (quali un file-manager) il meno possibile.

Ora, se non Ti va bene quanto nei link sopra (ricordandoti dello Shabang), esponi come vorresti avviare la Tua applicazione, come hai provato a fare e cosa non è andato (errori restituiti al tentativo, etc.) se mi riesce cercherò di darTi una mano.

Ovvio che se vi sono altri utenti a conoscenza della "problematica" raspbian/lxde leggerò volentieri :)

[Edit] P.S. - Riguardo alle "icone", le personalizzo anche, in maniera diversificata secondo il D.E. in uso.
[Ri-Edit] - Dimenticavo : nei Tuoi tentativi, hai provveduto a dare i permessi di esecuzione al file di avvio?
genericamente :
chmod +x nome_script_avvio


« Ultima modifica: Gennaio 12, 2020, 09:53 da nuzzopippo »

Offline bambam

  • python unicellularis
  • *
  • Post: 31
  • Punti reputazione: 0
    • Mostra profilo
Re:Modifica icona file.py ed esecuzione diretta
« Risposta #2 il: Gennaio 12, 2020, 10:01 »
Ho fatto un tentativo. Modificando i permessi del file.py
chmod u+x python3 nome_file
Dopo di che ho inserito :
#!/usr/bin/env python3
Come prima riga dello script
Ma a doppio click non esegue come vorrei aprendo una finestra shell che chiede se eseguire o aprire ...
Per l icona invece non ho fatto alcun tentativo. Perché non ho trovato nulla di specifico per l ambiente grafico che utilizzo ... Per creare il lanciatore utilizzando il comando "lxshortcut"
Il terminale restituisce comando non trovato... Ho provato cosi in un altro modo:
Creato file vuoto, configurato.desktop
E inserito all interno del file.txt :
[Desktop Entry]
Version=1.0
Type= Application
Nome=nome app
Comment=commento
Exec=percorso file.py
Icon=percorso immagine

Salvato ed effettivamente mi crea l icona ma al doppio click non esegue nulla...
« Ultima modifica: Gennaio 12, 2020, 10:52 da bambam »

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 274
  • Punti reputazione: 0
    • Mostra profilo
Re:Modifica icona file.py ed esecuzione diretta
« Risposta #3 il: Gennaio 12, 2020, 12:22 »
Ho fatto un tentativo. Modificando i permessi del file.py
chmod u+x python3 nome_file

Quel "python3" non ci doveva essere, loggati quale utente normale, quello che deve utilizzare lo script, spostati nella direttrice che contiene lo script di avvio della Tua applicazione, diciamo indicativamente main.py per il resto del post, e dai un semplice :
chmod +x main.py


Ciò attiverà l'esecuzione dello script "main.py" per l'utente che ha assegnato i permessi.

Dopo di che ho inserito :
#!/usr/bin/env python3

Se da terminale lanci lo script con "python3 main.py" (main.py è indicativo) va bene così

Ma a doppio click non esegue come vorrei aprendo una finestra shell che chiede se eseguire o aprire ...
La procedura indicata è per definire una voce di menu od un lanciatore per l'ambiente lxde, NON per definire la attività da avviare nel file-manager, utilizzando le metodologie indicate nei link che Ti ho proposto definisci una nuova applicazione "di sistema", intesa come disponibile nel tuo ambiente desktop, Te lo avevo già indicato proponendotelo, così come Ti avevo precisato che evito di interferire con il file-manager, programma terzo.

Quello di cui hai scritto su "forse" può essere fatto con il Tuo file-manager ma non lo ritengo una idea grandiosa, comunque, dovresti trovare prima di tutto quale è il file manager in uso e poi vedere come intervenire, se possibile, sul comportamento da tenere per i file con permessi di esecuzione, alcuni file-manager permettono di eseguirli direttamente, altri dietro richiesta di conferma, altri ancora no ... in ogni caso, personalmente ritengo l'inserimento di una applicazione da utilizzarsi con una frequenza in menu vantaggiosa, il "doppio click sul file" ozioso se non controproducente, principalmente in caso si debbano alterare i tipi-myme, il terminale permette un controllo migliore, poi fai un po' Tu, ma indica quale file-manager utilizzi se vuoi percorrere questa strada.

Creato file vuoto, configurato.desktop
E inserito all interno del file.txt :
[Desktop Entry]
Version=1.0
Type= Application
Nome=nome app
Comment=commento
Exec=percorso file.py
Icon=percorso immagine

Salvato ed effettivamente mi crea l icona ma al doppio click non esegue nulla...
Questa è la strada che adotto normalmente, fermo restando quanto detto sui permessi e che "percorso file.py" DEVE essere il percorso assoluto, per non dare problemi, verifica e riprova se, dopo aver assegnato i permessi al file di script hai l'applicazione funzionante disponibile, eventualmente prova anche ad inserire un "Terminal=false" od un "Terminal=true", possibile che l'impostazione di default (non so quale è) non vada bene.

[Edit] Rileggendo
Citazione
Creato file vuoto, configurato.desktop
E inserito all interno del file.txt :
Ritengo che quel ".txt" sia un lapsus e Tu intendessi ".desktop" ... dubbio coseguente : dove hai creato il lanciatore? Sul desktop (scrivania) o in "/usr/share/applications. "

Una volta verificati gli accorgimenti di sopra fai sapere, così come su cosa pensi ed intendi fare per il "doppio clic nel file-manager.
« Ultima modifica: Gennaio 12, 2020, 12:45 da nuzzopippo »

Offline bambam

  • python unicellularis
  • *
  • Post: 31
  • Punti reputazione: 0
    • Mostra profilo
Re:Modifica icona file.py ed esecuzione diretta
« Risposta #4 il: Gennaio 13, 2020, 10:54 »
risolto, ho creato il lanciatore sul desktop , era tutto corretto ma non avevo indicato nelle proprietà del file lanciatore il percorso del file da eseguire ...
ora esegue alla perfezione