Flatpak e dmenu - avvio lento applicazioni

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Flatpak e dmenu - avvio lento applicazioni

Messaggio da joe »

Su slackware 14.2 ho in uso due applicazioni installate attraverso il pachidermico "flatpak":
- Gimp
- Scribus.

Come ambiente grafico utilizzo "dwm" (https://dwm.suckless.org), il quale presenta una utility chiamata "dmenu" che in pratica consente di richiamare gli eseguibili per lanciarli in modo abbastanza semplice:
- tastoWin + p (o Alt+p se si ha l'impostazione di default)
- digitare il nome dell'applicazione/script che sia nel PATH
- e invio per eseguire il programma

Con flatpak avevo pensato di realizzare un wrapper del genere. Ad esempio il comando da eseguire per avviare Scribus sarebbe:

Codice: Seleziona tutto

flatpak --user run net.scribus.Scribus
Piuttosto scomodo...
Ne ho fatto uno script che esegue quel comando, da terminale funziona e scribus si avvia quasi istantaneamente, poi va be' il mio PC non è una scheggia di suo quindi una certa "latenza" si vede ma è dovuta all'avvio di Scribus indipendentemente da flatpak.

Se richiamo quello stesso script scribus.sh attraverso dmenu, quindi senza aprire un terminale ecc... la cosa dovrebbe essere più comoda, ma c'è un comportamento intollerabile. Ovvero scribus parte dopo circa 10 secondi o più.

Ho provato a lanciare il comando flatpak visto sopra direttamente da dmenu, senza script bash in mezzo quindi. Ma purtroppo rilevo lo stesso abnorme "delay".

Quindi in sintesi, lanciare l'avvio di un'app con flatpak attraverso dmenu comporta il problema che l'app si avvia dopo 10 secondi buoni.
Lo stesso comando lanciato da terminale porta all'apertura della stessa app istantaneamente.

Che problema potrebbe avere dmenu con flatpak?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Flatpak e dmenu - avvio lento applicazioni

Messaggio da joe »

Aggiorno un attimo la situazione.
Ho fatto qualche prova lanciando flatpak da terminale in modo verboso e dirigendo lo stderr su un file di log.

Codice: Seleziona tutto

flatpak -v run net.scribus.Scribus 2>flatpak-terminal.log
Poi ho copiato lo stesso comando in dmenu (Mod+p seguito da ctrl+shift+y per incollare il comando), ho rediretto però lo stderr su un file diverso questa volta.

Codice: Seleziona tutto

flatpak -v run net.scribus.Scribus 2>flatpak-dmenu.log
Alla fine ho 2 logs. Il primo relativo all'avvio quasi istantaneo dell'applicazione scribus da terminale, il secondo log relativo al lancio da dmenu.

In sintesi è saltata fuori una riga di errore in più, presente solo nel log dell'avvio da dmenu, che potrebbe dare un'indicazione di dove stia il problema della lentezza esagerata di avvio:

Codice: Seleziona tutto

F: Can't find a11y bus: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.a11y.Bus': timed out
Cercando in rete si trovano diversi suggerimenti che però per il momento no mi hanno aiutato a risolvere il problema né a capire bene quale sia precisamente.
Trovo eventuali relazioni con "dbus", ma nel mio caso dbus c'è e la sessione dwm viene avviata con dbus-launch:

Codice: Seleziona tutto

xinitrc
--------
# Start the window manager:
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
  exec ck-launch-session dbus-launch --exit-with-session /usr/bin/dwm
else
  exec dbus-launch --exit-with-session /usr/bin/dwm
fi
Inoltre trovo una soluzione per raspberry in cui risolvono installado il pacchetto "at-spi2-core".
Sul mio sistema c'è, tra l'altro risulta installato e sovrascritto dalla versione multilib compat32 spero non si a quello il problema.

Codice: Seleziona tutto

# slackpkg search spi


NOTICE: pkglist is older than 24h; you are encouraged to re-run 'slackpkg update'

Looking for spi in package list. Please wait... DONE

The list below shows all packages with name matching "spi".

[ Status           ] [ Repository               ] [ Package                                  ]
   installed               multilib                     at-spi2-atk-compat32-2.18.1-x86_64-1compat32
   installed               multilib                     at-spi2-core-compat32-2.18.3-x86_64-1compat32
   installed               slackware64                  at-spi2-atk-2.18.1-x86_64-1
   installed               slackware64                  at-spi2-core-2.18.3-x86_64-1

You can search specific files using "slackpkg file-search file".
Se vi venisse in mente qualcosa... grazie in anticipo!

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Flatpak e dmenu - avvio lento applicazioni

Messaggio da joe »

Riprendo un attimo questo topic perché ho testato meglio la situazione e rilevo che la lentezza di avvio di applicazioni tramite flatpak non è limitata al solo dmenu, ma anche all'apertura di files dal filemanager:
ho provato ad esempio ad aprire un immagine sia da Dolphin che da Thunar.
Click destro, "open with" GIMP.

Quel Gimp è collegato ad un file .desktop apposito che di fatto esegue il comando "flatpak run org.gim.GIMP". In pratica si tratta dell'unica installazione di Gimp che ho e che appunto fa parte di flatpak.

OK, il problema è che l'avvio di Gimp inizia dopo circa 20 secondi (non 10 come avevo scritto nei primi post senza cronometrare per bene) e si conclude circa 5 secondi dopo. In pratica si ha la finestra di Gimp non prima di 25s di attesa.
C'è qualcosa che non va evidentemente.

La cosa singolare è che lanciando il comando dal terminale (flatpak run org.gimp.GIMP) si ha la stessa finestra di Gimp aperta regolarmente in circa 5 secondi.

In soldoni il problema riguarda solo l'avvio da applicazioni legate all'interfaccia grafica del sistema, quindi sia dmenu che vari file manager.
Ho anche trovato un link che spiega come la cosa potrebbe essere legata a fontconfig che flatpak gestirebbe in modo sconveniente ricreando in memoria ogni volta il set di fonts o qualcosa del genere ho letto al volo... ad ogni modo la soluzione sembrerebbe fare l'upgrade di fontconfig, che per la Slackware-14.2 che ho ancora in uso ha poco senso adesso probabilmente passando a slack-15 non si ha il problema, ma a quel punto non mi servirebbe neanche più flatpak perché sia scribus che gimp sarebbero compilabili in modo nativo sul sistema, cosa che personalmente trovo più che preferibile.

Il link all'articolo sarebbe questo:
https://blogs.gnome.org/alexl/2018/01/1 ... tup-times/

Devo dire che non sono sicurissimo che sia lo stesso problema perché lì parla di lentezza al primo avvio, nel mio caso invece il problema è riproducibile enne volte anche dopo aver chiuso GIMP: se lo riapro richiamandolo da file manager impiega di nuovo 25 secondi. Ho anche provato ad aprire prima un'immagine con Gimp e lasciandola aperta ho provato ad aprire un documento .sla con Scribus, ma nonostante di fatto flatpak fosse già avviato per Gimp, anche Scribus ha impiegato sui 25 secondi circa per aprirsi.
Quindi boo.

Ho creato una pezza, tanto per convivere con questo problema per spero non più di un mese, quando dovrei aver fatto l'upgrade alla 15.0. Uno script che controlla ogni due secondi se c'è un file chiamato flatpak.run. Se lo trova lancia "flatpak run $(cat flatpak.run)". Poi ho fatto due script uno per Gimp e l'altro per Scribus che non fanno altro che scrivere sul file flatpak.run il nome del flatpak ID corrispondente all'applicazione specifica (tipo echo "org.gimp.GIMP" > flatpak.run).
In questo modo è come se lanciassi il comando da terminale, perché di fatto il primo script è una sorta di demone che gira lanciato appunto da terminale, anche se poi se ne va in background ecc...

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Flatpak e dmenu - avvio lento applicazioni

Messaggio da conraid »

Perdona la curiosità, ma perché usare flatpak per quei due software?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3789
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Flatpak e dmenu - avvio lento applicazioni

Messaggio da joe »

Perché mi è stato impossibile installarne la versione più recente sulla 14.2.
Con Scribus ero riuscito a mettere la 1.5.1 ma avevo dovuto installare poppler più recente di quello di sistema, e ora non ricordo più i dettagli ma avevo dovuto metterlo come alternativa in opt in modo che solo Scribus vi si appoggiasse e non venisse coinvolto tutto il sistema, il ché altrimenti avrebbe portato a dover ricostruire poi un sacco di roba (forse anche pacchetti ufficiali) che dipende in qualche modo da poppler.

Codice: Seleziona tutto

$ find /var/log/packages/ -name "popp*"
/var/log/packages/poppler_new-0.68.0-x86_64-1
/var/log/packages/poppler-qt5-0.45.0-x86_64-2_SBo
/var/log/packages/poppler-data-0.4.7-noarch-1
/var/log/packages/poppler-0.45.0-x86_64-1
Vedi? Avevo messo la 0.68 mentre quella di sistema era la 0.45 e Scribus con questa non funzionava.
Le versioni successive non ero più riuscito a farle compilare e avevo rinunciato, poi ho visto che flatpak poteva essere un'alternativa. In effetti ora uso Scribus 1.5.8 senza troppi problemi a parte come descritto il "lag" di 25 secondi all'avvio.

Per Gimp idem. Sulla 14.2 l'attuale versione 2.10.30 l'avrei vista col binocolo.

Se mi fossero servite più applicazioni in versione aggiornata non avrei sfruttato flatpak ma probabilmente sarei passato a slackware current o sarebbe stata la volta buona per testare arch.

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Flatpak e dmenu - avvio lento applicazioni

Messaggio da conraid »

Ah, pardon.
Ora puoi aggiornare alla 15 volendo.
Io uso current e a volte ho ugualmente quei problemi.

Avatar utente
wesbluemarine
Linux 0.x
Linux 0.x
Messaggi: 96
Iscritto il: mer 12 set 2007, 8:57
Località: Lucca

Re: Flatpak e dmenu - avvio lento applicazioni

Messaggio da wesbluemarine »

Per aggiungere il supporto flatpak a dmenu e simili (bemenu per wayland dwl) basta aggiungere in ~/.bashrc o ~/bash_profile:

Codice: Seleziona tutto

if [ -d "$HOME/.local/share/flatpak/exports/bin" ]; then
     PATH="$HOME/.local/share/flatpak/exports/bin:$PATH"
fi
Appariranno fra la lista dei vari eseguibili identificati tipo "org.blender.Blender".

Rispondi