Pensi che creare file .desktop sia difficile su Linux? Ecco un paio di soluzioni
“Torna a Windows”, mi ha detto la persona che mi ha fatto conoscere Linux quando ha visto che alcune cose mi stavano soffocando perché volevo farle come nel sistema Microsoft. Mi ha anche detto che “Linux non è Windows”, e questo è vero nel bene e nel male. Lo svantaggio è che ci sono cose molto semplici su altri sistemi e non così facili su quelli basati su Linux, come la creazione di file .desktop, noti anche come scorciatoie.
Ma devi distinguere tra i tipi di scorciatoie, perché non tutte sono uguali. In questo momento, mi vengono in mente almeno 2 tipi di scorciatoie: alcune sono collegamenti simbolici, che sono un file molto piccoli che possiamo eseguire per accedere all’originale a cui è collegato; altri sono i file .desktop, che sono un tipo di collegamento diretto che contiene informazioni come il nome di un’applicazione e la sua versione, e sono i file responsabili dell’avvio di molte applicazioni sotto Linux.
Indice
- 1 Creazione di file .desktop con un’app UI
- 2.Creazione di uno script Python
- 3 Spiegazione del codice
Creazione di file .desktop con un’app UI
La creazione di file .desktop su Linux non è eccessivamente complicata. Inoltre, il testo fornito funge da modello che deve essere modificato solo per ciascuna applicazione. Ma le cose possono essere ulteriormente semplificate.
Disponibile su Flathub è un’app chiamata Desktop Files Creator.
È fondamentalmente un’interfaccia in cui gli diremo il nome, il percorso dell’eseguibile, se verrà eseguito o meno nel terminale… e si occuperà di fare il resto per noi.
Creazione di uno script Python
Ma se vogliamo qualcosa di ancora più personalizzabile, possiamo creare noi stessi uno script/mini-app per fare tutto questo dal terminale.
Il codice in Python sarebbe il seguente ma può essere scritto anche in altri linguaggi:
#!/usr/bin/env python3 from io import open import os file_name = input("Nome del file .desktop: ") version = input("Versione dell'applicazione: ") app_name = input("Nome dell'applicazione: ") app_comment = input("Commento dell'applicazione: ") executable = input("Percorso dell'eseguibile: ") icon = input("Percorso dell'icona dell'app: ") terminal = input("Verrà eseguito nel terminale? (Vero per sì, Falso per no ): ") tipo_app = input("Tipo di applicazione (metti Applicazione se hai dei dubbi): ") categorie = input("Categorie in cui rientra questa applicazione: ") folder = input( "Cartella dove si trova l'eseguibile:") def createDesktop(): handle = open(file_name + ".desktop", "w") entry_text = ('[Desktop Entry]') version_text = ('\nVersion=' + version) app_name_text = ('\nName=' + app_name) comment_text = ( '\nComment=' + app_comment) executable_text = ('\nExec=' + executable) icon_text = ('\nIcon=' + icon) terminal_text = ('\nTerminal=' + terminal) app_text = ('\nType=' + tipo_app) text_categories = ('\nCategories=' + folder) text_startupNotifyApp = ('\nStartupNotify=false') text_pathname = ('\nPath='+ folder) testo = (entry_text + version_text + app_name_text + comment_text + executable_text + icon_text + terminal_text + app_text + text_categories + text_startupNotifyApp + text_pathname) handle.write(testo) handle.close() appName = app_name + ".desktop" os.system('chmod +x ' + appName + '\nmv ' + appName + ' ~/.local/share/applications') print("File .desktop creato con successo. È in ~/.local/share/applications/ e dovrebbe apparire anche nel cassetto delle applicazioni.") createDesktop()
Spiegazione del codice
Dall’alto:
- La prima riga è nota come “Shabang” e indica con cosa deve essere aperto lo script (potrebbe essere diverso su alcune distribuzioni Linux). Non dovrebbe essere necessario se passiamo al percorso in cui salviamo il file .py e lo lanciamo con ” python file_name.py “, ma lo è se vogliamo scorciatoiare un po’ di più come spiegheremo più avanti.
- La seconda e la terza riga importano quanto necessario per creare il file, poiché è necessario poter scrivere sull’hard disk.
- Vengono quindi create le variabili che verranno successivamente utilizzate per scrivere il contenuto nel file .desktop.
- Nella funzione createDesktop(), prima apre un file, quindi aggiunge i parametri delle informazioni di collegamento, quindi crea il file .desktop, gli dà i permessi di esecuzione e lo sposta nella cartella ~/.local/share/applications. E questo sarebbe tutto.
Direi che non potrebbe essere più semplice, ma sarebbe più semplice se ci fosse un modo per crearli con un menu contestuale di Nautilus, Dolphin o il file manager che stiamo usando. Il problema è che su Linux non funziona così. Nei file .desktop puoi anche aggiungere altre informazioni, come traduzioni e altri modi per aprire le applicazioni (come la modalità di navigazione in incognito in un browser), quindi la creazione di questi tipi di scorciatoie non è così semplice, vale la ridondanza.
E quasi dimenticavo, se vogliamo essere in grado di lanciare lo script sopra da qualsiasi finestra di terminale, dobbiamo spostare il file .py che abbiamo creato nella cartella /bin, perché gli eseguibili vanno in quella cartella e bisogna stare attenti a quello che si tocca.
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!
Hai dubbi o problemi? Ti aiutiamo noi!
Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Una risposta
[…] Ma se dopo tutta questa spiegazione cerchi qualcosa di più semplice e pratico allora ho pubblicato anche un articolo che rende tutto questo automatico ovvero utilizzando una applicazione o creando un file in python che realizza il file .desktop e lo puoi leggere cliccando su questo collegamento. […]