Creare lanciatore di un eseguibile in *Mostra Applicazioni*

Non ricordo più il nome della versione di fedora che permetteva di creare un lanciatore all’interno della finestra Mostra Applicazioni in questo modo:
# gnome-desktop-item-edit --create-new /usr/share/applications/NOME_APPLICAZIONE.desktop

Oggi ho provato a ripetere il comando in fedora-32:
[petrus@localhost ~]$ sudo gnome-desktop-item-edit --create-new /usr/share/applications/gambas3.desktop
[sudo] password di petrus:
sudo: gnome-desktop-item-edit: comando non trovato

ma è cambiato tutto e sono ridiventato ignorante. :sob:

Ciao @punico prova a installare : gnome-panel . :slightly_smiling_face:

Ciao. Personalmente non so nulla di gnome-desktop-item-edit.

Ma per creare un lanciatore, o modificarne uno, prima di tutto io consiglierei di non andare a toccare quelli di sistema, e soprattutto se c’è un unico utente che usa il computer, andrei a creare i lanciatori sotto .local/share/applications

Quindi
cp /usr/share/applications/gambas3.desktop ~/.local/share/applications/
per poi usare un editor con cui modificare il lanciatore.
Se esiste già un lanciatore con lo stesso nome sotto /usr/share/applications, quello sotto la home avrà la precedenza.

L’ho installato. Non è quello che intendevo, ma potrebbe andare, perchè mi permetterebbe avere sempre visibili i lanciatori più frequenti in un pannello del desktop.

Si, è una buona idea quella di tenere separati i lanciatori di sistema da quelli personali. Questi ultimi potrebbero essere rese visibili nel Gnome-panel che mi ha consigliato edmondo. Infatti il mio problema è quello di non poterli rendere visibili sullo schermo.

L’installazione di gnome-panel non ha funzionato, perchè non compare automaticamente sullo schermo, perciò devo avviarlo da terminale. A quel punto però lo vedo soltanto in basso allo schermo ma, cliccandoci sopra non succede niente. Non posso chiuderlo, nemmeno dal terminale shell che, nel frattempo, è rimasto impegnato dal precedente comando. Se voglio liberare il terminale, posso soltanto riavviare il sistema o spegnerlo.

Ora mi sfogo: non capisco perchè ad ogni nuovo rilascio di fedora subentrino sempre novità limitative rispetto alla precedente. Tanto per fare un esempio, non riesco a trovare la procedura per preparare un’applicazione d’avvio.
:angry:

Relativamente alla configurazione di fedora, ho trovato ieri questo. Devo procedere proprio come vi viene consigliato?

Ma se non sei propenso a questo, forse Fedora non è la distribuzione che fa per te.
Lo dico candidamente. Non per polemiche o infiammare gli animi. Io non sono un fanatico, di niente. Addirittura mi stupisce chi usa Linux e poi si arrabbia perché le cose non sono come su Windows: nessuno ci costringe a usare Fedora a usare Linux. Così come coloro che usano Fedora e sentono la mancanza di una versione LTS.
Fedora è bella perché le cose cambiano (e poi, per come la vedo io, nemmeno troppo da una release all’altra).

In questo caso dipende anche un po’ da GNOME, Fedora non ci mette troppo del suo (come invece fa Ubuntu, per dire), segue quello che fanno upstream.

@punico prova alla schermata di login a cliccare su l’ingranaggio , è vedere se propone una voce tipo gnome-classic ho una cosa simile , perchè gnome-panel dovrebbe apparire con gnome-classic , però quella funzione in tutta sincerità mi ricordavo che era fornita da quel pacchetto , però non sò fino a che versione di fedora la avevo usata , ala massimo metti i lanciatori che usi dipiù sulla dash , vai sul programma è aggiungi ai preferiti , compare sulla dash a sinistra. :slightly_smiling_face:

Per creare una applicazione d’avvio si dovrebbe poter fare con gnome-tweak come da immagine sotto


Per avere un pannello con le applicazioni sempre visibile si può installare l’estensione dash to dock
dash to dock

Si, lo so ed ho già provato, ma cliccando col tasto destro del mouse sull’icona dell’eseguibile che vorrei aggiungere alla dash, non vedo alcuna riga di selezione per creare un collegamento dash:

.
Non sono riuscito a trovare nemmeno il modo per creare un collegamento direttamente sullo schermo. Come fare allora?

Io non m’arrabbio perchè non trovo le cose come su Windows, anche perchè quello l’ho bannato nel 2008 e non ne voglio sapere più niente.
Mi arrabbio perchè sono costrettto sempre a chiedere come fare, da eterno principiante.

Se ho capito giusto tu hai una applicazione scaricata in locale?
Credo che l’unico sia creare un file .desktop usando gedit, e metterlo nella cartella nascosta .local/share/applications nella tua home.
la sintassi del file dovrebbe essere tipo questa:
[Desktop Entry]
Name= nome programma
Comment= commento (tipo cosa fa il programma)
Exec= comando di esecuzione
Terminal=false (se non deve partire il terminale per eseguire il programma)
Icon= percorso dell’icona
Type=Application
Categories= categoria programma
MimeType= tipi files associati al programma

poi validare il file creato con il comando desktop-file-validate nomedellanciatore.desktop

Onestamente il comando che hai segnalato tu per creare in automatico il file. desktop, però in questo modo sono riuscito a creare vari lanciatori che compaiono tra le applicazioni e posso trascinare sulla barra delle applicazioni

1 Mi Piace

@punico in quel modo non ho mai provato avevo capito male io ,pensavo a delle applicazioni già esistenti , per fare quello , ai tempi si usava alacarte per crearli , pero con il passare del tempo è hai progressi di gnome , non sò manco più se alacarte funziona , è forse ha ragione @jack_71 io per creare un l’anciatore di un programma java , facevo così copiavo un l’anciatore qualsiasi è lo modificavo con il percorso , il nome e via dicendo , come ha scritto anche @jack_71 :slightly_smiling_face:

Mi sono scordato di segnalare di rendere il file eseguibile con
chmod +x
Segnalo questa pagina interessante (purtroppo in inglese ma è abbastanza chiara)
putting your application in the desktop menus

Per quanto riguarda i collegamenti sulla scrivania, nelle recenti versioni di gnome sono stati impediti (credo che la parte di codice relativa sia stata tolta nella riscrittura di nautilus se non sbaglio, spiegato qui nautilus-desktop-plans); è possibile ripristinare la funzionalità mediante una estensione come questa
desktop-icons
oppure questa
desktop-icons-ng-ding
oppure ho trovato anche questa guida
re-enable-desktop-icons-in-gnome-shell
Personalmente non le ho trovate perchè sono abituato a usare le applicazioni a tutto schermo mettendone una per spazio di lavoro (che sono infiniti) però leggendo in rete molti hanno richiesto una soluzione a questo “problema” e l’utilizzo delle estensioni è una di quelle più usate

anch’io ho fatto così nel recente passato, in alternativa alla procedura indicata nel mio post d’apertura. Ora però, così facendo, non funziona più.
Per ora ho risolto così:
Alt+F2 -> si apre la finestra Eseguire il comando -> digito il comando relativo all’eseguibile da lanciare
dati/dativari/contabfam/contabFam.gambas
Dando INVIO l’eseguibile parte benissimo.
Ho provato inoltre a ripetere il comando già dato in un precedente avvio di fedora così:
Alt+F2 -> si apre la finestra Eseguire il comando -> freccia su -> compare l’ultimo comando dato in uno dei precedenti avvii di fedora; posso scorrere ancora indietro alla ricerca di altri comandi simili (sono tutti presenti e disponibili per la selezione). Selezionando quello che mi interessa al momento e premendo il tasto INVIO e l’eseguibile parte senza problemi.
Mi posso allora accontentare, infatti, tutto sommato, raggiungo ugualmente lo scopo.

Puoi farci vedere il contenuto del lanciatore?

Uno è un foglio elettronico di LibreOffice. Eccolo:
Exec=/media/dirdati/dativari/Documenti_calc/AgendAppuntamenti.ods
Icon=/media/dirdati/dativari/Documenti_vari/agenda.png
Name=appuntamenti
Comment=memorandum degli impegni giornalieri

E no. Non va bene. È come se tu volessi eseguire un documento. Come tu volessi eseguire un PDF per dire.
In realtà quando fai doppio click su un file ods, succede che il sistema lancia libreoffice, il quale apre il documento. O se fai doppio click su un PDF viene invocato il programma definito come programma di default per i PDF. Se vai da linea di comando e lanci direttamente un PDF, ti darà errore. Non è un eseguibile. Il documento non è un programma esso stesso.

Quindi quello che devi fare è mettere l’eseguibile di libreoffice nella direttiva Exec, e il file che vuoi aprire come parametro.
Tipo
Exec=/usr/bin/libreoffice /media/dirdati/dativari/Documenti_calc/AgendAppuntamenti.ods

Perfetto. Ho fatto come mi hai suggertito, ma non funziona lo stesso.
Ho fatto la modifica nel file /usr/share/applications/appuntamenti.desktop, che riporto qui sotto:
Exec=/usr/bin/libreoffice /media/dirdati/dativari/Documenti_calc/AgendAppuntamenti.ods
Icon=/media/dirdati/dativari/Documenti_vari/agenda.png
Name=appuntamenti
Comment=memorandum degli impegni giornalieri
ma:

  • intanto non compare l’icona corrispondente fa le applicazioni da selezionare per l’avvio
  • poi quando comincio a digitare il nome del file, nemmeno compare per selezionarlo.
    Perciò l’ho copiato in /home/petrus/.local/share/applications. A questo punto, tornando alla schermata di prima, digitando il nome del file, posso selezionarlo, ma l’avvio non avviene, si apre una finestra di gedit per permetterne la modifica.
    Pertanto, dopo gli ultimi tentativi il mio problema si è sdoppiato in due sottoproblemi:
  1. Come faccio a fare comparire l’icona del file.desktop fra le altre pertinenti a /usr/share/applications?
  2. Come faccio ad avviare un’applicazione attraverso un file.desktop contenuto incluso in /home/utente/.local/share/applications?

Fratello. Ricominciamo dall’incomincio.

I file .desktop possono andare dentro /usr/share/applications o dentro /home/utente/.local/share/applications. Nel primo caso l’icona apparirà per tutti gli utenti, nel secondo solo per l’utente specifico.
I file .desktop dentro la home hanno la priorità nel caso ce ne fossero di “uguali” dentro /usr/share/applications. (L’ordine di precedenza lo si può vedere dalla variabile d’ambiente $XDG_DATA_DIRS).
I file .desktop dentro la home offrono il vantaggio di venire salvati nel caso tu faccia un backup della home, o nel caso di una reinstallazione del sistema dove la partizione home viene preservata.

Questi file devono avere una sintassi ben definita, per esempio devono contenere un header, la riga [Desktop Entry].
Evidentemente il tuo file non ha questa riga. Infatti quando metti il nome nelle barra delle applicazioni, come vedrai non compare fra le applicazioni, ma come risultato di una ricerca. Il file è un file di testo, senza la sintassi di cui sopra, viene interpretato non come file che descrive un’applicazione, perciò viene aperto con gedit alla stregua di un normale file di testo.

Quindi.
Apri/crea il file /home/utente/.local/share/applications/appuntamenti.desktop (o come lo hai chiamato).
E aggiungi la riga [Desktop Entry].

Questo qui sotto a me funziona.

[Desktop Entry]
Name=Appuntamenti
Exec=/usr/bin/libreoffice /home/utente/Documents/nomedeldocumento.ods
Terminal=false
Type=Application
Comment=memorandum degli impegni giornalieri
Icon=/home/utente/.local/share/icons/icona.png

Inoltre scegli un unico posto dove metterlo: nella home o dentro /usr/share/applications.

1 Mi Piace

Ho provato anch’io con un mio file e l’esempio suggerito da @alciregi funziona

Si, funziona.
Grazie per la chiara spiegazione. Finalmente ho capito.
:slightly_smiling_face:

1 Mi Piace