Finally seem to have gotten the GNOME IM tool “Empathy” partially working. What a pain in the jacksie that was.
Why Empathy? I’ve been happily using Pidgin for ages, but only really use it for my Google account, and it doesn’t sit that well with GNOME Shell.
I had noticed that the GNOME Shell user menu wasn’t sticking me as “available”, even though I’d given it my Google account details. Turns out that it uses the Telepathy API & libraries to do IM, and that is mostly configured by the Empathy tool, which I didn’t even have installed.
Running it for the first time, it asked if I wanted to import my Pidgin account details. I let it, but I think that was a mistake. I thereafter found that my one active account (Google Talk) always came back with an “authentication error” (tosh). I discovered that it could do Facebook chat as well, but lo & behold, “authentication error” again when I’d added that as an account.
Several weeks of on/off debugging attempts, & I was none the wiser, till I thought to try my wife’s account. She didn’t have it import Pidgin, but it had already got a “Local Users” (still not entirely sure what that is) and a Google entry that is “handled by GNOME Online Accounts” and couldn’t be fiddled with. Indeed, setting her to “available”in Empathy asked for her Google password, and off it ran. Connected! Mind you, Facebook fails for her too.
So how to get mine to do that? Apps now stuff settings bloody everywhere, no more ~/.configfiles to grep any more 🙁
Much digging later, I found that, despite earlier failed attempts, the Empathy accounts are held in ~/.mission-control/accounts/accounts.cfg. But you can’t edit this … not unless you kill your local /usr/libexec/mission-control-5 process first.
You need to set GNOME Shell to flag you as unavailable. This sets most of the telepathy daemons to auto-shutdown, so just have a quick look and make sure you have no empathy, telepathy or mission-control processes running. Then you can edit the accounts.cfg. (you cannot do this through the empathy-accounts GUI)
Now, this was a little trial and error: to get telepathy using your “goa” settings (ah-ha, just got that: “gnome online accounts”!) you need to get the details for that. Look in ~/.config/goa-1.0/accounts.conf, and you should see something like:
[Account account_XXXXXXXXXXX] Provider=google Identity=YOU@gmail.com ... etc.
It’s that XXXX number you need.
Now create/replace (or add to if you have something already working) the aforementioned accounts.cfg file with:
# Telepathy accounts [gabble/jabber/goa_google_account_XXXXXXXXX] HasBeenOnline=true Nickname=Your Name Here NormalizedName=YOU@gmail.com
… replacing the XXXX bit with the number you first thought of. Save it off, double check no rogue processes started up in the meantime (especially mission-control, as that will ignore & overwrite manual edits to the config file). I had also cleared out Empathy with:
/bin/rm -fr ~/.config/Empathy dconf reset -f /org/gnome/empathy/
… just in case. Now start empathy, check your account is listed (but immutable) in the accounts editor, set yourself to be online and give it your password (you have to click the tick when it says it needs a password).
And jobby jobbed. Get a mate to start a chat with you, and figure out the UI.
Except, of course, it still doesn’t work if you manually add a Google Talk account, nor if you try to add Facebook. Answers on a postcard …