Springmail - libsecret e keyring

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.
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3797
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Springmail - libsecret e keyring

Messaggio da joe »

Sto cercando di installare questo client di posta, l'ho provato su un pc windows connesso da remoto con teamviewer, mi è sembrato che valga la pena provarlo un attimo meglio sul mio PC con slackware. L'ho installato via sbopkg sulla 14.2, non sembravano esserci richieste di dipendenze, ma all'avvio salta fuori una finestra di dialogo con un errore:

Codice: Seleziona tutto

Mailspring could not store your password securely. Make sure you have `libsecret` installed and a keyring is present.  For more information, visit http://support.getmailspring.com/hc/en-us/articles/115001875571
Alla pagina suggerita dicono:
I'm not on a guest account, but I'm running on Linux

If you are getting this error on Linux, and aren't on a guest account, it's likely that you don't have the proper keyring installed. Install gnome-keyring and/or libsecret from your package manager and try running Mailspring again.
Provando ad avviarlo da terminale:

Codice: Seleziona tutto

Mailspring could not store your password securely. Make sure you have `libsecret` installed and a keyring is present.  For more information, visit http://support.getmailspring.com/hc/en-us/articles/115001875571

Codice: Seleziona tutto

$ mailspring
Fontconfig warning: "/etc/fonts/fonts.conf", line 102: unknown element "blank"
Fontconfig warning: "/etc/fonts/conf.avail/66-wqy-zenhei-sharp-no13px.conf", line 11: Having multiple values in <test> isn't supported and may not work as expected
Fontconfig warning: "/etc/fonts/conf.avail/66-wqy-zenhei-sharp.conf", line 10: Having multiple values in <test> isn't supported and may not work as expected
Running database migrations
App load time: 263ms

{"error":null}
Manual update check (updates.getmailspring.com/check/linux/x64/1.7.8-13635bcf/anonymous/stable) returned 200
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
{ [Error: Trasporto "disabled" sconosciuto o non supportato per l'indirizzo "disabled:"]
  message:
   'Trasporto "disabled" sconosciuto o non supportato per l\'indirizzo "disabled:"' } { pluginIds: [] }
Sul mio sistema non sto usando KDE e anzi ho cercato in passato di disabilitare qualche demone collegato a quel desktop, non vorrei che mancasse ora qualcosa di necessario. Ad ogni modo sto usando dwm come window manager.
Ad ogni modo ho sul sistema sia libsecret (versione della 14.2) che gnome-keyring:

Codice: Seleziona tutto

[ Status           ] [ Repository               ] [ Package                                  ]
   installed               slackware64                  libsecret-0.18.5-x86_64-1
   installed               multilib                     gnome-keyring-compat32-3.16.0-x86_64-2compat32
   installed               slackware64                  gnome-keyring-3.16.0-x86_64-2
   installed               slackware64                  libgnome-keyring-3.12.0-x86_64-1
Problema però: gnome-keyring non si avvia automaticamente all'avvio del sistema.
Ho provato avviandolo a mano da utente semplice:

Codice: Seleziona tutto

$ gnome-keyring-daemon -s
GNOME_KEYRING_CONTROL=/home/utente/.cache/keyring-NMTEC1
SSH_AUTH_SOCK=/home/utente/.cache/keyring-NMTEC1/ssh
GPG_AGENT_INFO=/home/utente/.cache/keyring-NMTEC1/gpg:0:1
Però rilanciando mailspring salta fuori lo stesso errore di prima. Sembra che avviare gnome-keyring-daemon non sia sufficiente.
Qualche idea?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3026
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Springmail - libsecret e keyring

Messaggio da ponce »

mi limito a consigliare una prova rapida premettendo che gli script di SBo sono garantiti funzionanti solo su installazioni complete di Slackware...

se crei un altro utente (con adduser, mettendolo nei gruppi suggeriti per un uso desktop - freccia in su quando suggerito) usando come desktop xfce, ti da lo stesso errore?

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

Re: Springmail - libsecret e keyring

Messaggio da joe »

Ho fatto una cosa diversa:

Codice: Seleziona tutto

cp .xinitrc xinitrc.backup
xwmconfig
Ho quindi scelto XFce e riavviato X... sono in init3.
Lanciato Springmail da terminale (perché non l'ho visto tra le applicazioni del menu di xfce) è partito senza ritornare l'errore riscontrato col window manager abituale "dwm".
Quindi sì si tratta di capire cosa si debba aggiungere quando si usa dwm per far sì che springmail trovi tutto l'occorrente per avviarsi senza rogne...

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3026
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Springmail - libsecret e keyring

Messaggio da ponce »

prova ad aggiungere al tuo script di avvio di dwm

Codice: Seleziona tutto

/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &

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

Re: Springmail - libsecret e keyring

Messaggio da joe »

Guarda un po'... Metto qua sotto il mio .xinitrc.

Codice: Seleziona tutto

#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

# Start some program

# aumenta luminosità monitor allo stato "day"
source ~/.bashrc &
display-control startup &

# avvia barra stato e terminale con sessione screen già aperta
slstatus &
st -e screen -U &

# avvia gestore autenticazione necessario per keyring (Mailspring)
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &

# Start the window manager:
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
  exec ck-launch-session /usr/bin/dwm
else
  exec /usr/bin/dwm
fi
Però se lancio mailspring, non funziona. Stesso errore di prima.
Poi controllando salta fuori che in realtà "polikit-gnome-authentication-agent-1", non c'è sul mio sistema, almeno non al percorso che hai consigliato.
È invece qui:

Codice: Seleziona tutto

# grep polkit-gnome-authentication-agent /var/log/packages/*
/var/log/packages/polkit-gnome-0.105-x86_64-1:etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop
/var/log/packages/polkit-gnome-0.105-x86_64-1:usr/libexec/polkit-gnome-authentication-agent-1
Tanto per provare l'ho lanciato a mano da utente semplice:

Codice: Seleziona tutto

$ /usr/libexec/polkit-gnome-authentication-agent-1

(polkit-gnome-authentication-agent-1:7136): polkit-gnome-1-WARNING **: Unable to determine the session we are in: GDBus.Error:org.freedesktop.ConsoleKit.Manager.Error.General: Unable to lookup session information for process '7136'
Bo, magari è perché non è pensato per essere lanciato così, a mano...
Provo ad inserirlo col percorso corretto nell'xinitrc. E riavvio X.

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

Re: Springmail - libsecret e keyring

Messaggio da joe »

Dopo aver aggiunto la riga e riavviato X, non ottengo alcun miglioramento.

Codice: Seleziona tutto

# Start some program

# aumenta luminosità monitor allo stato "day"
source ~/.bashrc &
display-control startup &

# avvia barra stato e terminale con sessione screen già aperta
slstatus &
st -e screen -U &

# avvia gestore autenticazione necessario per keyring (Mailspring)
/usr/libexec/polkit-gnome-authentication-agent-1 &

# Start the window manager:
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
  exec ck-launch-session /usr/bin/dwm
else
  exec /usr/bin/dwm
fi
Il programma polkit-gnome ecc sta effettivamente girando:

Codice: Seleziona tutto

$ pgrep -a gnome
9395 polkit-gnome-au

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3026
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Springmail - libsecret e keyring

Messaggio da ponce »

potresti provare a lanciarlo in una sessione di dbus: cambia le ultime righe cosi'

Codice: Seleziona tutto

# 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
o, in alternativa, potresti provare ad aggiungere sotto alla riga con cui fai partire l'authentication agent anche quest'altra riga

Codice: Seleziona tutto

export $(gnome-keyring-daemon --start)

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

Re: Springmail - libsecret e keyring

Messaggio da joe »

Niente da fare...
ho provato prima solo con l'export, poi ho aggiunto anche dbus-alunch e commentato il lancio liscio di dwm...
Ma avviato il WM se lancio mailspring, stesso errore di prima e non si avvia.

Codice: Seleziona tutto

# avvia gestore autenticazione necessario per keyring (Mailspring)
/usr/libexec/polkit-gnome-authentication-agent-1 &
export $(gnome-keyring-daemon --start)

# Start the window manager:
if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
  exec ck-launch-session /usr/bin/dwm
else
#  exec /usr/bin/dwm
  exec dbus-launch --exit-with-session /usr/bin/dwm
fi

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3026
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Springmail - libsecret e keyring

Messaggio da ponce »

mi sembra che tu abbia dimenticato di correggere una riga (sono due in cui andrebbe aggiunto dbus-launch).

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

Re: Springmail - libsecret e keyring

Messaggio da joe »

Codice: Seleziona tutto

# avvia gestore autenticazione necessario per keyring (Mailspring)
/usr/libexec/polkit-gnome-authentication-agent-1 &
export $(gnome-keyring-daemon --start)

# 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
Così siamo alle solite. Anzi no... È partito!
Anzi no!
Riecco la finestrella col solito monito riguardo libsecret e keyring...
Però sta volta qualcosa è cambiato:
infatti in prima battuta appare la schermata di benvenuto "Welcome to Mailspring" e col suo bottone "Get Started", che però non ho ancora premuto.
Da Xfce si otteneva lo stesso benvenuto ma l'errore relativo al keyring non compariva.
Per cui ci siamo quasi ma no del tutto.
Inutile dire che io sto brancolando nel buio, non ho idea di cosa facciano e come si manovrino polkit e dbus-launch ecc ecc...
Ad ogni modo grazie per le risposte Ponce!

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

Re: Springmail - libsecret e keyring

Messaggio da joe »

Allora, il comportamento di sta roba è sempre più curioso.

Se lo lancio dal dmenu di dwm (Alt+p poi digito mailsp e quindi do invio) la schermata di benvenuto parte e non vengono restituiti errori.
Per cui siamo a cavallo.

Però, se lo avvio da terminale. Ottengo errore.
Quindi qualcosa che non va continua ad esserci.

Cercando di capire perché accade, ho riscontrato che se apro un nuovo terminale (in dwm faccio Alt+shift+Invio e si apre ST), e da lì lancio "mailspring", il tutto si avvia senza problemi.

Tirando le somme, pensavo che il discrimine fosse "screen", il quale come si vede dal mio xinitrc viene avviato col serve X prima del WM.

Però non è così:
- lancio un nuovo terminale
- avvio con "screen -U" una nuova sessione screen
- difgito "mailspring"
- e nessun errore il client di posta si avvia

Quindi il problema lo riscontro solamente nella prima schermata di "screen", proprio quella avviata automaticamente col server grafico.
Questo è l'xinitrc finale.

Codice: Seleziona tutto

# Start some program

# avvia gestore autenticazione necessario per keyring (Mailspring)
/usr/libexec/polkit-gnome-authentication-agent-1 &
#export $(gnome-keyring-daemon --start)

# legge configurazione bash
source ~/.bashrc &

# avvia barra stato e terminale con sessione screen già aperta
slstatus &
st -e screen -U &

# aumenta luminosità monitor allo stato "day"
display-control startup &

# 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

PS.
Ho eliminato la riga con l'export gnome keyring perché prima ho visto che killando quel demone, il client si avvia lo stesso, almeno da dmenu e terminali nuovi aperti a mano.

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Springmail - libsecret e keyring

Messaggio da ilmich »

ho usato per un bel po anche io dwm... ma i terminali st lanciano shell di login oppure no?! dovresti rendertene conto perché le shell di login caricano più variabili di ambiente rispetto a quelle classiche

se non erro devi editare il sorgente di dwm per associare allo shortcut il comando st corretto
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

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

Re: Springmail - libsecret e keyring

Messaggio da joe »

Codice: Seleziona tutto

# Start some program

# avvia gestore autenticazione necessario per keyring (Mailspring)
/usr/libexec/polkit-gnome-authentication-agent-1 &

# legge configurazione bash
source ~/.bashrc &

# avvia barra stato e terminale con sessione screen già aperta
slstatus &
exec dbus-launch --exit-with-session st -e screen -U &

# aumenta luminosità monitor allo stato "day"
display-control startup &

# 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
Ho provato ad applicare l'espediente di dbus-launch anche al terminale che viene lanciato per primo...

Codice: Seleziona tutto

exec dbus-launch --exit-with-session st -e screen -U &
Non ho idea di quanto sia corretta questa trovata.
Però "caspita!" funziona!
Cosa accade:
- ri-avvio X
- mi trovo davanti al terminale "st" all'interno del quale è avviata auto-magicamente la "sessione screen". Però sta volta quel terminale è avviato da dbus-launch. Che in qualche modo gli garantisce di non avere rogne con applicazioni come mailspring che fanno storie se no trovano funzionalità "evolute" come keyring ecc ecc... (pietà per la spiegazione alla carlona).
- a sto punto lancio il client digitando nel terminale.
- compare qualche errore o meglio warning
- ma alla fine compare anche la schermatina di benvenuto, senza che saltino fuori altre finestrelle di dialogo a riportare errori relativi al keyring o altro.

Direi che ci siamo.
Se sapete spiegarmi sinteticamente perché funziona, quale sortilegio fa dbus-launch, o perché dal terminale lanciato automaticamente, come visto prima, l'applicazione non funzionava...
Insomma se avete commenti dite pure.
Grazie ancora a ponce per avermi dato qualche indirizzo indispensabile. DBus-Launch segnato!

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

Re: Springmail - libsecret e keyring

Messaggio da joe »

@mich

Non ne ho idea.
Credo che il terminale ST lanci la stessa shell che lancerebbe un bravo XTerm qualunque... Ma non so.

Da una breve ricerca posso "ripassare" la questione forse qui:
https://unix.stackexchange.com/question ... hell/46856

Il problema nel mio caso è che non lo vedi facilmente perché quando anche lanciassi un "echo $0", lo lancerei all'interno della sessione screen.
Quindi devo rimodificare un attimo il xinitrc. Togliere screen e lanciare unicamente ST liscio. A quel punto avviato X mi troverò aperto non screen ma un terminale ST che avrà lanciato al suo interno la shell. Allora lì sì che posso vedere se è di login o no... Dico bene?

Per quanto riguarda lo shortcut, sì. Se vuoi personalizzare qualcosa del genere devi creare una patch ( anche no, puoi modificare il config.h o quel che era...) e ricompilarlo. Se non ricordo male ci sono anche delle "community patches" che bypassano questa necessità e consentono di configurare dwm in modo meno rigido senza dover ricompilare, ma vado a memoria.
Comunque "st" di default la avvi con "alt+shift+invio". Anzi guarda, un pezzo del config.h

Codice: Seleziona tutto

/* commands */
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
static const char *termcmd[]  = { "st", NULL };
static const char *browsercmd[]  = { "firefox", NULL };
static const char *playercmd[]  = { "/usr/bin/mpv", NULL };
static const char *privatebrowsercmd[] = { "firefox", "-private-window", NULL };
static const char *filemanagercmd[]  = { "qtfm", NULL };

static Key keys[] = {
        /* modifier                     key        function        argument */
        { MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
        { MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
Per capirci:

Codice: Seleziona tutto

static const char *termcmd[]  = { "st", NULL };

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Springmail - libsecret e keyring

Messaggio da ilmich »

ok io avevo modificato il comando di lancio nel sorgente da st a st -l mi pare (controlla)

questo perché mi ero accorto che la roba che mettevo come environment in fase di login (io di solito accedo via terminale eppoi do lo startx) non me la ritrovavo poi nei terminali (io impostavo i proxy http)

potrebbe non avere niente a che fare ma se il keyring sfrutta variabili di ambiente per funzionare (e nn mi stupirei) il comportamento difforme potrebbe essere spiegato perché dwm e compagnia bella girano all'interno di una shell di login (processi figli della bash)

mentre st lancia una bash a se stante se usato nudo e crudo e con meno variabili d'ambiente potrebbe dare noie se lanci le app da li
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Rispondi