Skip navigation.
KDE Developer's Journals

Global Settings

jriddell's picture

I got a new laptop recently, a Thinkpad R61, works decently well (no suspend, sound settings are strange but otherwise all good). However now I have three computers (new laptop, desktop and laptop-held-together-with-duct-tape) it leads to the issue of how to move over settings and keep them the same on all three. Wouldn't it be nice to be able to tell KDE to keep its settings on a remote server and download them when you move to a new desktop. Today I wrote a quick mockup application to investigate the idea. It keeps Konqueror's bookmarks in bzr and uploads them to Launchpad, then from another computer you can grab them again. Of course there's a hundred issues to solve this properly, it shouldn't be a separate app but integrated with the KDE config framework, it needs to know when to sync and what to sync (no passwords unless its to somewhere very secure), apps need to know when to refresh their settings and some settings, like Amarok podcasts, are stored in hard-to-sync binary databases. So just an idea for now, code is in Launchpad, let me know if you want to pick it up.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
thegreatgonzo's picture

Kamion

What about Kamion which can be found at http://kamion2.sourceforge.net/??

psychotron's picture

Complicating issues

YES!! Very good post! I've also been thinking about this problem, since I got me a laptop a few years ago. However I couldn't find a viable solution until now... You can use "stupid" sync solutions like unison when you have more or less identical setups, but it gets a little more complicated when you want to sync different machines with different usage scenarios. Then blindly syncing .kde is no option.

The main issue is, that typically applications keep a lot of different data in the same config file, without making any distinction. There can be for instance:

- configuration data regarding the look of certain aspects of the application (Colors, Fonts etc.)
- confiuration data related to the current display (like Window size and position, Kicker panel size/position and Applet positions)
- configuration data about how the application works (like in KMail message threading, display HTML, external editor, and so on...)
- configuration data regarding network connection (e.g. in KMail automatic message download vs. manual, delete messages on server)
- or even actual user data like accounts or filters in KMail.

The problem is now, that not all settings make sense on different machines... For instance my home machine has a 20" widescreen display, the laptop a smaller one. The home machine a dark color scheme, the laptop a bright one, as it has to be readable in not ideal light conditions. On the home machine I like focus follows mouse, but this is hard with the laptops touchpad. So I don't want anything display or look related to be synced. My KMail on the laptop is configured to only manually fetch mail and leave them on the server. However I want to sync user data like mail account or filters (it was really quite a hassle to manually transfer all the filters!), or generally config data about how applications work, e.g. on both machines I want message threading and no HTML display in KMail.

Now, how to achive that? Can certain groups of settings be identified? If so, then applications could mark them respectively, maybe even as a forced kconfig parameter. Then the user could select which groups to sync ... And what about different KDE versions (maybe limited to the same major release)? Might require transformation of settings ... I remember KMails settings being incompatible with lower versions...

Well, and on top of that actually comes all user data outside configfiles, like Bookmarks, Notes, Mails, IM histories ...

godji's picture

KOrganizer syncing?

Is there anything (in KDE3 or KDE4) that allows similar syncing of KOrganizer's calendar data?

dalen's picture

Unison

I use unison for syncing preferences. In case of a conflict it lets you chose which version to use, no support for merging files. But it could of course use a qt gui, only gtk and console so far.

mth's picture

Syncing bookmarks, passwords etc

For bookmarks, I saw some of my colleagues sync them with their Google account using Firefox. I don't know what kind of protocol it uses for that though.

For passwords, as far as I know the wallet system stores all passwords in an encrypted file. So as long as all traffic to the server contains already encrypted data, an attacker would not be able to get hold of your passwords even if the server is compromised.

The hard part about syncing would be conflict resolution, I think. Doing that well might require support from the application, since only the application knows how to present the data in a way that makes sense to the user (letting the user merge XML trees is not a good idea).

Is it possible to reuse some of the work the PIM team has done on syncing with mobile devices? They sync content rather than configuration data, but I don't know if that difference is really relevant to the algorithms involved.

apol's picture

Cool

Nice feature!

It would be nice if it was possible to do the same with the akregator's opml file Smiling.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.