Using Evolution under KDE – GNOME Keyring issues

Lets face it – Kontact is a nice application but its not really a contender if you want integration with your corporate address book and calendar in your PIM application(1) and Evolution is the only solution for the feature set one would expect from a corporate friendly PIM solution.

Evolution works great when running under GNOME, but if you hate GNOME 3 as much as I do(2), then you are likely to try to run Evolution under a recent KDE 4. And then problems start mounting – there’s the file dialogs which look completely different and don’t inter-operate with KDE’s virtual file system layer (KIO), but the most annoying problem is saving the passwords for your email, address book and calendar services.

Evolution relies on GNOME’s keyring service to store passwords for remote services, and that service is not running when you start KDE. Without the keyring, Evolution will keep asking you for passwords to all your email services when you start up, and for all your address book services when you try to compose an email. Which wouldn’t have been that bad if not for the fact that before popping up the password dialog, Evolution spends minutes (!!) trying to contact the GNOME keyring service. Only after being frozen for a couple of minutes you get asked for the first password, and if you have more then one service then please wait two more minutes while Evolution tries fruitlessly to contact GNOME keyring again!

The solution is simple – have GNOME keyring launch automatically when you log in to KDE, just like it does for GNOME. There are several ways to do this – for example using KDE’s “startup applications” system or writing custom profile scripts (I’ve tried both), but the more elegant solution I found in fedorahosted.org where someone committed a simple script that generates GNOME keyring startup and shutdown scripts for KDE. I’m guessing this is used in the KDE live CD spins for Fedora.

Anyway, this script can easily adapted to generate GNOME keyring integration scripts for your local KDE installation. Just start Konsole, and paste this into the command line:


cat > $HOME/.kde/env/start-custom.sh <<EOF
#!/bin/sh
eval \`gnome-keyring-daemon\`
export GNOME_KEYRING_PID
export GNOME_KEYRING_SOCKET
EOF
chmod 755 $HOME/.kde/env/start-custom.sh
cat > $HOME/.kde/shutdown/stop-custom.sh <<EOF
#/bin/sh
if [-n "\$GNOME_KEYRING_PID"]; then
kill \$GNOME_KEYRING_PID
fi
EOF
chmod 755 $HOME/.kde/shutdown/stop-custom.sh

Enhanced by Zemanta

  1. also – contrary to popular belief in hacker circles, rich text editing is useful – and Kontact really sucks at that []
  2. if you are a GNOME user and weren’t exposed to GNOME 3 yet, then don’t worry – soon coming to a distro near your, and you’re likely not going to like it []

8 Responses to “Using Evolution under KDE – GNOME Keyring issues”

  1. truc:

    Hello,
    thanks for the tip.
    I have a bash error: (in french!)
    “Erreur de syntaxe près du symbole inattendu « newline »”
    at the very first command line
    ” cat > $HOME/.kde/env/start-custom.sh < "
    any idea where it might come from?!
    thanks

    • alwayslurking:

      bash interprets the # as a comment marker, so it and everything after it is ignored. I think the suggested paste should look like this:

      cat > $HOME/.kde/env/start-custom.sh < $HOME/.kde/shutdown/stop-custom.sh << EOF
      #!/bin/sh
      if [-n "$GNOME_KEYRING_PID"]; then
      kill $GNOME_KEYRING_PID
      fi
      EOF
      chmod 755 $HOME/.kde/shutdown/stop-custom.sh

      Which works for me, creating two sane shell scripts in the appropriate locations.

  2. Gentledevil:

    Hopefully this will be resolved by the freedesktop work on unifying keyrings APIs. But what do you find problematic with Kontact ? You can get your corporate address book just fine through LDAP. I didn’t needed calendaring but I suppose it works well, Akonadi seems to support both remote iCal and CalDAV.

    • Oded:

      2 main problems I have with Kontact: (a) I find it impossible to get it to do calendaring and addressbook sharing with my Zimbra server, and (b) its HTML editing is horrible and it doesn’t inter-op well with other HTML capable tools. Evolution’s HTML editing is not great either but it does the job well enough.

Leave a Reply