Pagina 1 di 1
Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: venerdì 18 dicembre 2020, 18:26
da Andrea/M
Ciao a Tutti,
Ho installato due differenti versioni della stessa applicazione, QGIS, via flatpak (durante l'installazione mi chiede di scegliere e io le installate entrambe in successione). Tuttavia dal menu applicazioni o dalla dock posso avviarne sempre e solo una (la stessa) versione mentre invece da terminale le riesco ad avviare entrambe, mediante il comando:
per la versione stable, oppure per la versione lts, con il comando:
Sono andato a cercare il file.desktop dell'applicazione che viene lanciata in /var/lib/flatpak/exports/share/applications e questo è il suo contenuto:
Codice: Seleziona tutto
[Desktop Entry]
Type=Application
Name=QGIS Desktop
Name[ar]=QGIS سطح المكتب
Name[bg]=QGIS Десктоп
Name[de]=QGIS-Desktop
Name[fi]=QGIS työasema
Name[hu]=QGIS asztali alkalmazás
Name[id]=Desktop QGIS
Name[ja]=QGISデスクトップ
Name[ko]=QGIS 데스크탑
Name[lt]=QGIS Darbastalis
Name[nb]=QGIS skrivebordsprogrammet
Name[pt_PT]=QGIS - PC
Name[tr]=QGIS Masasütü
Name[uk]=Настільний додаток QGIS
Name[zh-Hans]=QGIS 桌面版
Name[zh-Hant]=QGIS 桌面
GenericName=Geographic Information System
GenericName[ca]=Sistema d'Informació Geogràfica
GenericName[cs]=Geografický informační systém
GenericName[da]=Geografisk Informations System
GenericName[de]=Geographisches Informationssystem
GenericName[es]=Sistema de Información Geográfica
GenericName[eu]=Geografia-informazioko sistema
GenericName[fi]=GIS-paikkatietojärjestelmä
GenericName[fr]=Système d'Information Géographique
GenericName[gl]=Sistema de Información Xeográfica
GenericName[hu]=Térinformatikai rendszer
GenericName[it]=Sistema di Informazione Geografica
GenericName[ja]=地理情報システム
GenericName[ko]=지리 정보 시스템
GenericName[nb]=Geografisk informasjonssystem
GenericName[nl]=Geografisch informatiesysteem
GenericName[pl]=System Informacji Geograficznej
GenericName[pt_BR]=Sistema de Informação Geográfica
GenericName[pt_PT]=Sistema de Informação Geográfica
GenericName[ro]=Sistemul de Informații Geografice
GenericName[ru]=Географическая информационная система
GenericName[sv]=Geografiskt Informationssystem
GenericName[uk]=Географічна інформаційна система
GenericName[zh-Hans]=地理信息系统
Icon=org.qgis.qgis
Exec=/usr/bin/flatpak run --branch=lts --arch=x86_64 --command=qgis --file-forwarding org.qgis.qgis @@ %F @@
Terminal=false
StartupNotify=false
Categories=Qt;Education;Science;Geography;
MimeType=application/x-qgis-project;application/x-qgis-layer-settings;application/x-qgis-layer-definition;application/x-qgis-composer-template;image/tiff;image/jpeg;image/jp2;application/x-raster-aig;application/x-raster-ecw;application/x-raster-mrsid;application/x-mapinfo-mif;application/x-esri-shape;
Keywords=map;globe;postgis;wms;wfs;ogc;osgeo;
StartupWMClass=QGIS3
X-Flatpak=org.qgis.qgis
Come potrei creare un launcher analogo (e dove dovrei collocarlo) per la versione "stable" dell'applicazione?
Grazie in anticipo per i Vostri suggerimenti
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: sabato 19 dicembre 2020, 7:50
da Roberto Pontecorvi
Crea un file con estensione .sh, nella tua home e ci aggiungi i comandi per far partire il programma. In questo modo dai il comando:
al suo interno inserisci le seguenti righe
lo salvi, gli dai i permessi di esecuzione. Naturalmente anche per il secondo programma fai le stesse cose, naturalmente cambiando il nome del file .sh e il comando al suo interno. Provi a farlo partire cliccandoci sopra con il mouse. Se tutto funziona possiamo creare un icona per l'esecuzione.
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: domenica 20 dicembre 2020, 10:16
da Andrea/M
Roberto Pontecorvi ha scritto: ↑sabato 19 dicembre 2020, 7:50
Crea un file con estensione .sh, nella tua home e ci aggiungi i comandi per far partire il programma. In questo modo dai il comando:
al suo interno inserisci le seguenti righe
lo salvi, gli dai i permessi di esecuzione. Naturalmente anche per il secondo programma fai le stesse cose, naturalmente cambiando il nome del file .sh e il comando al suo interno. Provi a farlo partire cliccandoci sopra con il mouse. Se tutto funziona possiamo creare un icona per l'esecuzione.
Grazie del suggerimento,
oltre a questo ho provato anche a creare una voce del menu applicazioni mediante un editor del menu sempre utilizzando lo stesso comando: l'applicazione si avvia regolarmente ma nonostante abbia inserito il percorso per utilizzare una icona differente per distinguere le due versioni, viene richiamata invece la medesima icona che è presente nelle cartelle delle applicazioni installate via flatpak.
Qualche idea in proposito?
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: domenica 20 dicembre 2020, 19:34
da Roberto Pontecorvi
sempre utilizzando lo stesso comando
ti puoi spiegare meglio, di quale comando stai parlando? Quello da inserire nel file .sh o applicazione che gestisce le voci del menu?
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: domenica 20 dicembre 2020, 20:16
da Andrea/M
Roberto Pontecorvi ha scritto: ↑domenica 20 dicembre 2020, 19:34
sempre utilizzando lo stesso comando
ti puoi spiegare meglio, di quale comando stai parlando? Quello da inserire nel file .sh o applicazione che gestisce le voci del menu?
Ho inserito lo stesso comando usato da terminale, e che tu proponi da inserire nello script .sh, per lanciare l'applicazione, nella creazione della voce di menu mediante l'editor del menu (riga exec=flatpak run --branch=stable org.qgis.qgis del file .desktop che viene creato in /home/user/.locai/share/applications)
Spero di aver scritto correttamente
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: domenica 20 dicembre 2020, 20:39
da Roberto Pontecorvi
Penso che tu usi "gnome" e purtroppo non usandolo io non so darti indicazioni in merito. Ma ci dovrebbe essere una utility che fa aggiungere i nomi, con relativa icone, al menu. Da li non devi inserire il comando di esecuzione ma devi inserire il file .sh, con relativo percorso. In modo che è il file .sh ad interessarsi all'avvio del programma. Spero di aver capito bene il tuo problema.
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: domenica 20 dicembre 2020, 21:51
da woddy68
ho provato anche a creare una voce del menu applicazioni mediante un editor del menu sempre utilizzando lo stesso comando: l'applicazione si avvia regolarmente ma nonostante abbia inserito il percorso per utilizzare una icona differente per distinguere le due versioni, viene richiamata invece la medesima icona che è presente nelle cartelle delle applicazioni installate via flatpak.
Questo è lo stesso problema che ho avuto io, avevo sbagliato installando una verisione flatpak di Chromium che non mi interessava, quindi ho scaricato quella corretta, ma l'ultima versione installata continua a usare l'icona dell'altro, benché lo abbia rimosso.
Quindi se fisso sul pannello l'icona di Chromium mi aprirà il browser ma mi visualizzerà un'altra icona.
Ho provato anche a fare quello che hai fatto tu, creando un nuovo lanciatore, ma non ha risolto.
Dovrei studiare un po come funzionano...
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: lunedì 21 dicembre 2020, 8:22
da Roberto Pontecorvi
viene richiamata invece la medesima icona che è presente nelle cartelle delle applicazioni installate via flatpak.
Per cui mi stai dicendo che i programmi installati via flatpak. hanno le icone prestabilite? Ma se tu fai partire i programmi con i file .sh non puoi abbinarli ad altre icone?
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: lunedì 21 dicembre 2020, 10:12
da Andrea/M
Roberto Pontecorvi ha scritto: ↑domenica 20 dicembre 2020, 20:39
Penso che tu usi "gnome" e purtroppo non usandolo io non so darti indicazioni in merito. Ma ci dovrebbe essere una utility che fa aggiungere i nomi, con relativa icone, al menu. Da li non devi inserire il comando di esecuzione ma devi inserire il file .sh, con relativo percorso. In modo che è il file .sh ad interessarsi all'avvio del programma. Spero di aver capito bene il tuo problema.
Roberto Pontecorvi ha scritto: ↑lunedì 21 dicembre 2020, 8:22
viene richiamata invece la medesima icona che è presente nelle cartelle delle applicazioni installate via flatpak.
Per cui mi stai dicendo che i programmi installati via flatpak. hanno le icone prestabilite? Ma se tu fai partire i programmi con i file .sh non puoi abbinarli ad altre icone?
Uso KDE, l'utility per la gestione del menu applicazioni è kmenuedit. Pensi quindi che dovrei creare una nuova voce di menu per lo script .sh (con relativa icona) che a sua volta lancia l'applicazione voluta?
Ma l'icona dello script .sh una volta eseguito non scomparirebbe dalla dock (nel mio caso Latte dock) per esempio, mentre invece comparirebbe l'icona propria della applicazione come lanciandolo da terminale (che però è uguale nelle due versioni)?
Comunque forse nel modo che suggerisci avrei un menu applicazioni con due icone distinte per l'avvio e poi invece avrei sia nella taskbar che nella dock l'icona originale.
Credo che il problema sorga comunque durante l'installazione perchè si crea un file .desktop con lo stesso nome (org.qgis.qgis.desktop) durante l'installazione delle due versioni e così l'ultima sovrascrive la precedente. Inoltre mi sembra di aver visto che le installazioni di entrambe le versioni portano con se una cartella con icone identiche nei due casi.
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: lunedì 21 dicembre 2020, 10:25
da DoctorStrange
Il problema potrebbe essere molto piu semplice. Nel launcher che hai pubblicato nel tuo primo desktop, il launcher stesso fa riferimento ad un puntamento allo userbin di sistema. Di solito però gli installer di queste applicazioni non completano correttamente i puntamenti.
Prova a postare qui sul forum l'output di questo comando:
Vediamo in questo modo se il comando flatpak ha un puntamento corretto nel sistema.
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: lunedì 21 dicembre 2020, 11:38
da Roberto Pontecorvi
Ora vedi quello che ti suggerisce @ DoctorStrange - se la cosa diventa complicata ti posso suggerire visto che:
nstallazioni di entrambe le versioni portano con se una cartella con icone identiche nei due casi.
se questa cartella è all'interno della cartella del programma puoi cambiare le icone con quelle che vuoi mantenendo i nomi di quelle vecchie, fai attenzione all'estensione. Lo so che è una idea sballata ma può funzionare.
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: lunedì 21 dicembre 2020, 16:05
da Andrea/M
DoctorStrange ha scritto: ↑lunedì 21 dicembre 2020, 10:25
Il problema potrebbe essere molto piu semplice. Nel launcher che hai pubblicato nel tuo primo desktop, il launcher stesso fa riferimento ad un puntamento allo userbin di sistema. Di solito però gli installer di queste applicazioni non completano correttamente i puntamenti.
Prova a postare qui sul forum l'output di questo comando:
Vediamo in questo modo se il comando flatpak ha un puntamento corretto nel sistema.
Codice: Seleziona tutto
andrea@andrea-z390designare:~$ update-alternatives --display flatpak
update-alternatives: errore: nessuna alternativa per flatpak
Comunque altre applicazioni installate (Darktable, Raw Therapee) via flatpak funzionano correttamente. Ho tuttavia un problema di icone anche con GIMP però
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: lunedì 21 dicembre 2020, 16:38
da DoctorStrange
Come sospettavo, non hai alcun puntamento per flatpak nel tuo usrbin di base. Non ho capito quali siano le tue ultime decisioni sui tuoi lanciatori ma, così com'è, quel lanciatore non potrà mai funzionare.
Io farei cosi: prima di tutto usa i due comandi:
Codice: Seleziona tutto
sudo update-alternatives --install "/usr/bin/flatpak" "flatpak" "/path/di/destinazione/eseguibile/flatpak" 1 && sudo update-alternatives --set flatpak /path/di/destinazione/eseguibile/flatpak
In questo modo avrai un puntamento, nello userbin di sistema al tuo flatpak. Logicamente, dove io ho scritto "/path/di/destinazione/eseguibile/flatpak" tu dovrai scrivereil path assoluto di dove si trova il tuo eseguibile flatpak, probabilmente saprai già dove si trova, altrimenti, prova a dare:
Per scoprire dove si trova.
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: lunedì 21 dicembre 2020, 16:47
da Andrea/M
Roberto Pontecorvi ha scritto: ↑lunedì 21 dicembre 2020, 11:38
Ora vedi quello che ti suggerisce @ DoctorStrange - se la cosa diventa complicata ti posso suggerire visto che:
nstallazioni di entrambe le versioni portano con se una cartella con icone identiche nei due casi.
se questa cartella è all'interno della cartella del programma puoi cambiare le icone con quelle che vuoi mantenendo i nomi di quelle vecchie, fai attenzione all'estensione. Lo so che è una idea sballata ma può funzionare.
Non mi sembra irragionevole come idea però c'e' un problema: da quello che ho visto rovistando un po' tra le cartelle ho visto che nell'istallazione si crea una cartella "exports" per ciascuna versione di questa applicazione al cui interno vi la cartella "share" che contiene le cartelle "applications" e "icons". Nella cartella "applications" c'e' il file .desktop mentre in quella "icons" le icone.
Però poi c'e' una cartella "exports" a livello superiore /var/lib/flatpak che riguarda tutte le applicazioni installate via flatpak e che analogamente contiene una cartella "applications" con i file. desktop di tutte le applicazioni e una cartella "icons" con le icone di tutte le applicazioni: non vorrei che andasse a prendere l'icona da quella cartella.
Farò qualche tentativo.
Potrei però pensare di modificare il percorso dell'icona nel file.desktop della versione che mi interessa distinguere:
Codice: Seleziona tutto
[Desktop Entry]
Type=Application
Name=QGIS Desktop
Name[ar]=QGIS سطح المكتب
Name[bg]=QGIS Десктоп
Name[de]=QGIS-Desktop
Name[fi]=QGIS-työasema
Name[hu]=QGIS asztali alkalmazás
Name[ja]=QGISデスクトップ
Name[ko]=QGIS 데스크탑
Name[lt]=QGIS Darbastalis
Name[nb]=QGIS skrivebordsprogrammet
Name[pt_PT]=QGIS - PC
Name[uk]=Настільний додаток QGIS
Name[zh-Hans]=QGIS 桌面版
Name[zh-Hant]=QGIS 桌面
GenericName=Geographic Information System
GenericName[ca]=Sistema d'Informació Geogràfica
GenericName[cs]=Geografický informační systém
GenericName[da]=Geografisk Informations System
GenericName[de]=Geographisches Informationssystem
GenericName[es]=Sistema de Información Geográfica
GenericName[eu]=Geografia-informazioko sistema
GenericName[fi]=GIS-paikkatietojärjestelmä
GenericName[fr]=Système d'Information Géographique
GenericName[gl]=Sistema de Información Xeográfica
GenericName[hu]=Térinformatikai rendszer
GenericName[it]=Sistema di Informazione Geografica
GenericName[ja]=地理情報システム
GenericName[ko]=지리 정보 시스템
GenericName[nb]=Geografisk informasjonssystem
GenericName[nl]=Geografisch informatiesysteem
GenericName[pl]=System Informacji Geograficznej
GenericName[pt_BR]=Sistema de Informação Geográfica
GenericName[pt_PT]=Sistema de Informação Geográfica
GenericName[ro]=Sistemul de Informații Geografice
GenericName[ru]=Географическая информационная система
GenericName[sv]=Geografiskt Informationssystem
GenericName[uk]=Географічна інформаційна система
GenericName[zh-Hans]=地理信息系统
Icon=org.qgis.qgis
Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=qgis --file-forwarding org.qgis.qgis @@ %F @@
Terminal=false
StartupNotify=false
Categories=Qt;Education;Science;Geography;
MimeType=application/x-qgis-project;application/x-qgis-project-container;application/x-qgis-layer-settings;application/x-qgis-layer-definition;application/x-qgis-composer-template;image/tiff;image/jpeg;image/jp2;application/x-raster-aig;application/x-raster-ecw;application/x-raster-mrsid;application/x-mapinfo-mif;application/x-esri-shape;
Keywords=map;globe;postgis;wms;wfs;ogc;osgeo;
StartupWMClass=QGIS3
X-Flatpak=org.qgis.qgis
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: lunedì 21 dicembre 2020, 17:43
da Andrea/M
DoctorStrange ha scritto: ↑lunedì 21 dicembre 2020, 16:38
Come sospettavo, non hai alcun puntamento per flatpak nel tuo usrbin di base. Non ho capito quali siano le tue ultime decisioni sui tuoi lanciatori ma, così com'è, quel lanciatore non potrà mai funzionare.
Ma il programma sia avvia sia da terminale (senza bisogno di specificare percorsi) sia dalla voce originale del menu applicazioni creata durante l'installazione (per la versione "lts") sia per la versione "stable" con la voce di menu creta con kmenuedit. Il problema, se si vuole chiamare così, è che non mi prende l'icona utilizzata per distinguere le due versioni nella voce di menu aggiunta.
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: martedì 22 dicembre 2020, 8:31
da Roberto Pontecorvi
Fai un controllo in quelle cartelle se c'è icona che il programma ti propone in fase di installazione.
@DoctorStrange - il problema, secondo me, è solo di cambiare l'icona che viene proposta in fase di installazione, che nei due programmi per forza di cose sono uguali. Io avevo lo stesso problema con il programma -> Scribus - versione stable - e quella in sviluppo. Ma con "mozo" ho modificato a mio piacimento. Non conosco KDE ma ci dovrebbe essere un utility che permette il cambio delle icone.
Edit: ho trovato questo molto interessante ->
http://tallinux.altervista.org/blog/cam ... licazione/
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: martedì 22 dicembre 2020, 20:38
da Andrea/M
Roberto Pontecorvi ha scritto: ↑martedì 22 dicembre 2020, 8:31
Fai un controllo in quelle cartelle se c'è icona che il programma ti propone in fase di installazione.
@DoctorStrange - il problema, secondo me, è solo di cambiare l'icona che viene proposta in fase di installazione, che nei due programmi per forza di cose sono uguali. Io avevo lo stesso problema con il programma -> Scribus - versione stable - e quella in sviluppo. Ma con "mozo" ho modificato a mio piacimento. Non conosco KDE ma ci dovrebbe essere un utility che permette il cambio delle icone.
Edit: ho trovato questo molto interessante ->
http://tallinux.altervista.org/blog/cam ... licazione/
Per non escludere nulla ho provato a cambiare il percorso dell'icona nel file .desktop all'interno della cartella dell'applicazione di cui vorrei cambiare l'icona e qualche effetto lo ottenuto: adesso nel menu applicazioni l'icona è cambiata di conseguenza. Tuttavia rimane inveriata nella taskbar e nella dock.
Non so come interpretare questo risultato.
Dovendo provare a sostituire le icone nella cartella della app ho visto che nella cartella sono presenti n cartelle con le icone di varie dimensioni da 8x8 a 512x512 più una cartella "scalable" come faccio a ottenere tutte le dimensioni di icone partendo qualla che ho (le ho in formato .png e .svg di dimensioni 32,64,128 pixel)?
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: martedì 22 dicembre 2020, 20:53
da Roberto Pontecorvi
da terminale dai il comando:
e vediamo.
Edit: altra soluzione, non conosco KDE, è vedere dove i menu in questione vanno a prendere (percorso) le icone e modificarlo come hai fatto per il .desktop.
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: mercoledì 23 dicembre 2020, 17:23
da Andrea/M
Roberto Pontecorvi ha scritto: ↑martedì 22 dicembre 2020, 20:53
da terminale dai il comando:
e vediamo.
Edit: altra soluzione, non conosco KDE, è vedere dove i menu in questione vanno a prendere (percorso) le icone e modificarlo come hai fatto per il .desktop.
Ho dato il comando che indicavi e questa è la risposta:
Codice: Seleziona tutto
update-initramfs: Generating /boot/initrd.img-5.4.0-58-generic
I: The initramfs will attempt to resume from /dev/sda4
I: (UUID=3b683991-9241-4355-bc3f-10f0cbf8990a)
I: Set the RESUME variable to override this.
Non so però cosa voglia dire e cosa fare. Perchè ha coinvolto una partizione diversa da quella su cui è installato (ho un sistema multiboot con diverse partizioni)?
Purtroppo non so dove i menu vadano a prendersi le icone. Proverò a cercare sul web in proposito
Re: Creare un launcher per 2 differenti versioni di una applicazione installata via flatpak
Inviato: mercoledì 23 dicembre 2020, 18:29
da Roberto Pontecorvi
Quel comando interviene solo sulla partizione in uso. La distribuzione che usi ha questo kernel -> img-5.4.0-58-generic, è quello della 20.4? Hai la home separata? La risposta del comando è corretta, a parte quei dubbi. Ma KDE avrà qualche utility che gestisce le icone?
Controlla se ti può essere utile ->
https://userbase.kde.org/Configure_your ... l_pannello poi ->
https://forum.kde.org/viewtopic.php?f=143&t=88650