You are not logged in.

#1 2022-05-23 16:25:11

IrvineHimself
Member
From: Scotland
Registered: 2016-08-21
Posts: 275

[Solved] Sync Evolution with Google Services

I generally use my browser to access gmail and google calender. But, due to recently being diagnosed with diabetes, I am being flooded, (at least two or three every week,) with appointments for doctors, consultants, podiatrists, clinics, opticians, dentists, .... and, of course, bureaucrats. As a result, I thought it would be a good idea to have an offline calendar like evolution. Unfortunately, I have run into a few problems...

A minor irritation is the size of the captcha. Since, what with the diabetes and all, I am waiting on new glasses. As a result, I am having to use a magnifying glass to read it.

Problem 1:
In an attempt to solve Problem 2,

  • I successfully set up a gnome-online-account for https://accounts.google.com. (It took two or three attempts.)

  • Still trying to solve Problem 2, I decided to start again, uninstalled evolution, deleted all the associated config files and also deleted the above account

This has resulted in the add new button of gnome-online-accounts ceasing to work

Before accessing gnome-online-accounts

=$ ps aux | grep settings
stupidme     754  0.0  0.0 236728  7548 ?        Sl   05:56   0:00 /usr/lib/pulse/gsettings-helper
stupidme     810  0.0  0.0 306392  6436 tty1     Sl+  05:56   0:00 /usr/lib/gsd-a11y-settings
stupidme     826  0.0  0.4 817024 70288 tty1     Sl+  05:56   0:00 /usr/lib/gsd-xsettings
stupidme    4157  0.0  0.0   6684  2668 pts/0    S+   06:40   0:00 grep --color=auto settings
=$ ps aux | grep goa
stupidme    2161  0.0  0.2 542012 36660 tty1     Sl+  06:02   0:00 /usr/lib/goa-daemon
stupidme    2168  0.0  0.0 311652  9148 tty1     Sl+  06:02   0:00 /usr/lib/goa-identity-service
stupidme    4160  0.0  0.0   6688  2644 pts/0    S+   06:40   0:00 grep --color=auto goa
=$

After accessing gnome-online-accounts

=$ ps aux | grep settings
stupidme     754  0.0  0.0 236728  7548 ?        Sl   05:56   0:00 /usr/lib/pulse/gsettings-helper
stupidme     810  0.0  0.0 306392  6436 tty1     Sl+  05:56   0:00 /usr/lib/gsd-a11y-settings
stupidme     826  0.0  0.4 817024 70288 tty1     Sl+  05:56   0:00 /usr/lib/gsd-xsettings
stupidme    4405  0.0  0.0   6688  2400 pts/0    S+   06:45   0:00 grep --color=auto settings
=$ ps aux | grep goa
stupidme    2161  0.0  0.2 542012 36660 tty1     Sl+  06:02   0:00 /usr/lib/goa-daemon
stupidme    2168  0.0  0.0 311652  9148 tty1     Sl+  06:02   0:00 /usr/lib/goa-identity-service
stupidme    4370  2.7  0.6 104054912 107668 tty1 Sl+  06:45   0:00 /usr/lib/gnome-control-center-goa-helper create-account google wayland:n,b0yP<NQB7VofUIZ!nBd[,mMp~*kG1>
stupidme    4408  0.0  0.0   6688  2604 pts/0    S+   06:45   0:00 grep --color=auto goa
=$

The window gnome-control-center-goa-helper create-account google wayland never appears, causing the application to freeze.


Problem 2:
There have been a number of successive issues with getting evolution to sync with google services. From my browser search history, (not necessarily a complete list nor in correct order):

  • Failed to authenticate: The name org.freedesktop.secrets was not provided by any .service files

  • error calling start service by name for org.freedesktop.secrets

  • Unit dbus-org.freedesktop.home1.service not found

  • failed to obtain access token from googleapis/oauth/v3/token

Currently, the latest issue is: Failed to authenticate: Timeout was reached.

Noteworthy points of possible relevance

  • Seahorse has categories for Keys and Certificates, but none for Logins

  • Seahorse makes no  mention of evolution

  • The folder ~/.local/share/keyrings/ is empty (I didn't delete it)

  • Probably not relevant, but I use KeePassXC


Current install list
I have been solving the listed issues as they arise by following previous solutions, mainly from this site, but also from GitLab, GitHub and Stackexchange. As a result, I now have the following install list, (some of which were already installed.)

  • evolution

  • evolution-bogofilter

  • highlight

  • libsecret

  • gnome-keyring

  • seahorse

Any help or advice would be gratefully received
Irvine

Edit: By the way, I am using the minimalist gnome shell

Last edited by IrvineHimself (2022-05-29 04:36:10)


Et voilà, elle arrive. La pièce, le sous, peut-être qu'il arrive avec vous!

Offline

#2 2022-05-24 03:57:34

IrvineHimself
Member
From: Scotland
Registered: 2016-08-21
Posts: 275

Re: [Solved] Sync Evolution with Google Services

How far I get with the google log-in process using evolution can be a bit erratic. This morning, after deleting ~/.config/evolution and ~/.local/share/evolution, I tried again.

As far as google was concerned: The process was successful, I got the following security alert:

Google Img

GNOME Evolution was granted access to your Google Account
                       ************@googlemail.com

If you did not grant access, you should check this activity and secure your account.

                            Check activity Btn

                    You can also see security activity at
                  https://myaccount.google.com/notifications


On my end, ie evolution: The process failed, here  is screenshot:
K0Wj9NG.png


Et voilà, elle arrive. La pièce, le sous, peut-être qu'il arrive avec vous!

Offline

#3 2022-05-27 04:04:10

IrvineHimself
Member
From: Scotland
Registered: 2016-08-21
Posts: 275

Re: [Solved] Sync Evolution with Google Services

Okay, I have nearly solved the second part of my problem, but could still use a bit of advice to get it over the top.

The problem is, because I use a console based log-on with the following script in my .bash_profile, the gnome-keyring-daemon is not being started properly.

# Only want this to run from logon console
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]] && [[ $XDG_SESSION_TYPE = tty ]]; then
        clear
        echo
        echo -e "${DkYel}Choose DE:${End}"
        echo -e "\t ${DkGrn}G${End} -- ${DkCyn}Gnome${End}"
        echo -e "\t ${DkGrn}S${End} -- ${DkCyn}Sway${End}"
        echo -e "\t ${DkGrn}C${End} -- ${DkCyn}Console${End}"
        read -n1 -s -r  Key
        Key="${Key,,}"      # Lower case
        echo
        case "$Key" in
            "g") echo -e "${Dimd}Okay, Starting Gnome${End}"
                Throbber 
                MOZ_ENABLE_WAYLAND=1 QT_QPA_PLATFORM=wayland XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session;;
            "s") echo -e "${Dimd}Okay, Starting Sway${End}"
                Throbber
                MOZ_ENABLE_WAYLAND=1 QT_QPA_PLATFORM=wayland XDG_SESSION_TYPE=wayland exec sway ;;
            *) echo -e "${Dimd}Okay, launching a plain console${End}"
                echo ;;
        esac
fi

I proved this by temporarily installing gdm and launching it from the console. I was then able to sync evolution with google without problems.  If you are wondering: Throbber just slow writes: ###### - Patience !

From the Wiki, I have modified my /etc/pam.d/login like so:

#%PAM-1.0

auth       required     pam_securetty.so
auth       requisite    pam_nologin.so
auth       include      system-local-login
auth       optional     pam_gnome_keyring.so
account    include      system-local-login
session    include      system-local-login
session    optional     pam_gnome_keyring.so auto_start
password   include      system-local-login

According to the Wiki, because I am running a gnome-shell, it should now work. But, unfortunately, this is not the case.

I have tried, without success adding the following both before and after invoking exec dbus-run-session gnome-session:

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

For the moment, I am at a loss as to how to proceed with either:

  • This, the second part of my problem

  • Or, the first part of my problem, which is evidently unrelated to my inability to sync evolution with google

Any thoughts or advice gratefully received
Irvine


Et voilà, elle arrive. La pièce, le sous, peut-être qu'il arrive avec vous!

Offline

#4 2022-05-27 05:47:23

IrvineHimself
Member
From: Scotland
Registered: 2016-08-21
Posts: 275

Re: [Solved] Sync Evolution with Google Services

I just ran loginctl session-status immediately after trying to sync evolution with google:

1 - stupidme (1000)
	   Since: Fri 2022-05-27 06:33:09 BST; 7min ago
	  Leader: 485 (login)
	    Seat: seat0; vc1
	     TTY: tty1
	 Service: login; type tty; class user
	   State: active
	    Unit: session-1.scope
		  ├─ 485 "login -- stupidme"
		  ├─ 564 -bash
		  ├─ 573 dbus-run-session gnome-session
		  ├─ 598 dbus-daemon --nofork --print-address 4 --session
		  ├─ 599 /usr/lib/gnome-session-binary
		  ├─ 637 /usr/bin/gnome-shell
		  ├─ 654 /usr/lib/gvfsd
		  ├─ 659 /usr/lib/gvfsd-fuse /run/user/1000/gvfs -f
		  ├─ 667 /usr/lib/at-spi-bus-launcher
		  ├─ 672 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 11 --address=unix:path=/run/user/1000/at-spi/bus
		  ├─ 678 /usr/bin/Xwayland :0 -rootless -noreset -accessx -core -auth /run/user/1000/.mutter-Xwaylandauth.ZRM4M1 -listenfd 4 -listenfd 5 -displayfd 6 -initfd 7
		  ├─ 685 /usr/lib/xdg-permission-store
		  ├─ 690 /usr/lib/gnome-shell-calendar-server
		  ├─ 697 /usr/lib/evolution-source-registry
		  ├─ 717 /usr/lib/goa-daemon
		  ├─ 731 /usr/lib/dconf-service
		  ├─ 736 /usr/lib/gvfsd-metadata
		  ├─ 747 /usr/lib/evolution-calendar-factory
		  ├─ 759 /usr/lib/goa-identity-service
		  ├─ 764 /usr/lib/gvfs-udisks2-volume-monitor
		  ├─ 798 /usr/lib/evolution-addressbook-factory
		  ├─ 851 /usr/bin/gjs /usr/share/gnome-shell/org.gnome.Shell.Notifications
		  ├─ 853 /usr/lib/at-spi2-registryd --use-gnome-session
		  ├─ 866 /usr/lib/gsd-usb-protection
		  ├─ 868 /usr/lib/gsd-media-keys
		  ├─ 873 /usr/lib/gsd-rfkill
		  ├─ 876 /usr/lib/gsd-a11y-settings
		  ├─ 878 /usr/lib/gsd-wacom
		  ├─ 882 /usr/lib/gsd-wwan
		  ├─ 884 /usr/lib/gsd-power
		  ├─ 885 /usr/lib/gsd-screensaver-proxy
		  ├─ 887 /usr/lib/gsd-color
		  ├─ 889 /usr/lib/gsd-xsettings
		  ├─ 892 /usr/lib/gsd-print-notifications
		  ├─ 900 /usr/lib/gsd-sharing
		  ├─ 904 /usr/lib/gsd-datetime
		  ├─ 909 /usr/lib/gsd-smartcard
		  ├─ 914 /usr/lib/gsd-housekeeping
		  ├─ 916 /usr/lib/gsd-sound
		  ├─ 918 /usr/lib/gsd-keyboard
		  ├─ 939 /usr/bin/gjs /usr/share/gnome-shell/org.gnome.ScreenSaver
		  ├─ 953 /usr/lib/gsd-printer
		  ├─1023 /usr/lib/evolution-data-server/evolution-alarm-notify
		  ├─1024 /usr/lib/gsd-disk-utility-notify
		  ├─1027 /usr/lib/tracker-miner-fs-3
		  ├─1029 python3 /usr/lib/gnome-tweak-tool-lid-inhibitor
		  ├─1030 /usr/bin/gnome-clocks --gapplication-service
		  ├─1076 /usr/lib/xdg-desktop-portal
		  ├─1086 /usr/lib/xdg-document-portal
		  ├─1092 fusermount3 -o rw,nosuid,nodev,fsname=portal,auto_unmount,subtype=portal -- /run/user/1000/doc
		  ├─1096 /usr/lib/xdg-desktop-portal-gtk
		  ├─1194 /usr/lib/gnome-terminal-server
		  ├─1224 bash
		  ├─1239 /usr/lib/tracker-extract-3
		  ├─1523 /usr/bin/firejail /usr/bin/firefox --new-window
		  ├─1526 /usr/bin/xdg-dbus-proxy --fd=4 --args=5
		  ├─1528 /usr/bin/firejail /usr/bin/firefox --new-window
		  ├─1559 /usr/lib/firefox/firefox --new-window
		  ├─1618 /usr/lib/firefox/firefox -contentproc -parentBuildID 20220520130112 -prefsLen 1 -prefMapSize 270060 -appDir /usr/lib/firefox/browser 31 true socket
		  ├─1643 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 65 -prefMapSize 270060 -jsInitLen 277136 -parentBuildID 20220520130112 -appDir /usr/lib/firefox/browser 31 true tab
		  ├─1731 /usr/lib/firefox/firefox -contentproc -childID 2 -isForBrowser -prefsLen 4587 -prefMapSize 270060 -jsInitLen 277136 -parentBuildID 20220520130112 -appDir /usr/lib/firefox/browser 31 true tab
		  ├─1786 /usr/lib/firefox/firefox -contentproc -childID 3 -isForBrowser -prefsLen 5222 -prefMapSize 270060 -jsInitLen 277136 -parentBuildID 20220520130112 -appDir /usr/lib/firefox/browser 31 true tab
		  ├─1902 /usr/bin/firejail /usr/bin/geany
		  ├─1904 /usr/bin/firejail /usr/bin/geany
		  ├─1907 /usr/bin/geany
		  ├─2019 /bin/bash
		  ├─2024 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 5288 -prefMapSize 270060 -jsInitLen 277136 -parentBuildID 20220520130112 -appDir /usr/lib/firefox/browser 31 true tab
		  ├─2108 /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 5335 -prefMapSize 270060 -jsInitLen 277136 -parentBuildID 20220520130112 -appDir /usr/lib/firefox/browser 31 true tab
		  ├─2144 /usr/lib/firefox/firefox -contentproc -childID 8 -isForBrowser -prefsLen 5335 -prefMapSize 270060 -jsInitLen 277136 -parentBuildID 20220520130112 -appDir /usr/lib/firefox/browser 31 true tab
		  ├─2186 evolution -c current
		  ├─2222 /usr/lib/webkit2gtk-4.0/WebKitNetworkProcess 7 40
		  ├─2223 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 13 36
		  ├─2356 /usr/lib/webkit2gtk-4.0/WebKitNetworkProcess 25 58
		  ├─2357 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 30 61
		  ├─2460 /usr/lib/gvfsd-trash --spawner :1.6 /org/gtk/gvfs/exec_spaw/0
		  ├─2521 /usr/bin/seahorse --gapplication-service
		  ├─2629 keepassxc
		  ├─2877 dbus-daemon --nofork --print-address 4 --session
		  ├─2878 /usr/bin/gnome-keyring-daemon --start --foreground --components=secrets
		  └─2912 loginctl session-status

May 27 06:35:22 mine geany.desktop[1907]: Child process initialized in 143.35 ms
May 27 06:35:22 mine firejail[1907]: gtk_widget_get_scale_factor: assertion 'GTK_IS_WIDGET (widget)' failed
May 27 06:35:31 mine geany.desktop[1907]: Error creating proxy: Could not connect: Connection refused (g-io-error-quark, 39)
May 27 06:35:35 mine geany[1907]: failed to commit changes to dconf: Could not connect: Connection refused
May 27 06:37:29 mine evolution[2186]: Getting screensaver status failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.Shell.ScreenShield was not provided by any .service files
May 27 06:37:30 mine gnome-keyring-daemon[2297]: discover_other_daemon: 1
May 27 06:38:32 mine org.keepassxc.KeePassXC.desktop[2629]: Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
May 27 06:38:32 mine org.keepassxc.KeePassXC.desktop[2629]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
May 27 06:38:32 mine org.keepassxc.KeePassXC.desktop[2629]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
May 27 06:39:55 mine gnome-keyring-daemon[2878]: discover_other_daemon: 1

The gnome-keyring-daemon is being started by pam, this is without the extra bits in my .bash_profile, but it looks like evolution is also trying to start it?


Et voilà, elle arrive. La pièce, le sous, peut-être qu'il arrive avec vous!

Offline

#5 2022-05-29 04:35:25

IrvineHimself
Member
From: Scotland
Registered: 2016-08-21
Posts: 275

Re: [Solved] Sync Evolution with Google Services

Okay, I'm ready to mark this as solved. Having said that, aspects of the solution are less than satisfactory and other aspects leave a few unanswered questions. So, if anybody would like to help clear these up, feel free.

Problem 1: The gnome-control-center-goa-helper not being displayed, causing the gnome-online-accounts app to appear to freeze.

Edit: You need to kill both the goa-daemon and the goa-identity-service, along with any instance of the gnome-control-center-goa-helper first

The solution is to temporarily allow unprivileged user namespaces with:

sudo sysctl -w kernel.unprivileged_userns_clone=1

Because this is a fairly major security issue, after setting up whatever online accounts you require, I strongly urge anyone trying this solution to restore unprivileged user namespaces to a disabled state with:

sudo sysctl -w kernel.unprivileged_userns_clone=0

You can check wether unprivileged user namespaces are enabled/disabled with:

cat /proc/sys/kernel/unprivileged_userns_clone

Anyway, this works!

After restoring unprivileged user namespaces to a disabled state, evolution and bubblemail both detected and synced with all the online accounts I had entered into the gnome-online-accounts app.

The unanswered question: Why?
As far as I am aware, along with Arch, both Debian and Fedora disable unprivileged user namespaces by default. Further, I am absolutely positive that I was initially able to set-up google services using the gnome-online-accounts app with unprivileged user namespaces disabled. It was only after I deleted the account that the problems started, which may, (or may not,) be related to this bug report?


Problem 2: Because I was using a console based log-on, the gnome-keyring-daemon was not being set up correctly.

Okay, I followed the Wiki and, over six days, spent spent a significant amount of time on both this and Problem 1. However, I have more pressing concerns at the moment and have decided to go with the simple solution of using the gdm display manager to manage the gnome-keyring-daemon pam settings.

For a couple of reasons this is a less than satisfactory solution:

  • Intellectually it is a cop out roll

  • I can longer easily switch between different DE's and/or the console

Last edited by IrvineHimself (2022-05-29 04:48:22)


Et voilà, elle arrive. La pièce, le sous, peut-être qu'il arrive avec vous!

Offline

Board footer

Powered by FluxBB