This is an upate post to Syncing Android using SyncML with Funambol Client.

After using the Funambol Client and Memotoo for some time now, I switched to a better solution, mainly my own install of ownCloud and the following three Android apps:

Sadly, the apps are not open source right now, but the author promises to make them open when they reach version 1.0. I would hope for an earlier release to get other devs to participate.

Known Issues

Repeated events are not synchronized properly with ownCloud due to a bug in the DAV backend of ownCloud. But it is planned to merge a new version of that backend soon into the ownCloud git repository.

 

I was using xmodmap ~/.Xmodmap in my .Xsession to remap caps lock to the super key utilizing the following configuration in .Xmodmap:

! disable caps lock and map to super
clear Lock
remove lock = Caps_Lock
add mod4 = Caps_Lock

After some updates in Debian testing, this configuration did not work anymore.
I found some information on http://lists.debian.org/debian-x/2011/04/msg00291.html.

After reading /usr/share/X11/xkb/rules/base.lst, a working way seems to be using setxkbmap with the option caps:super:

setxkbmap -option caps:super

At the moment I am too lazy to read the documentation on XKB, so I am using xmodmap for the remaining keymappings. The right way should involve some configuration files documented on http://madduck.net/docs/extending-xkb/ and http://www.charvolant.org/~doug/xkb/

An introduction to the evolution of X.org can be found on http://wiki.debian.org/XStrikeForce/InputHotplugGuide

 

To get gitweb working with lighttpd on Debian 6 Squeeze, create a file in /etc/lighttpd/conf-available named 99-gitweb.conf with the following content:

server.modules += (
  "mod_cgi",
  "mod_setenv",
)
 
# configuration for gitweb, ignore this url in 10-simple-vhost.conf
$HTTP["url"] =~ "^/gitweb/" {
  server.document-root = "/usr/share/"
  server.indexfiles = ("index.cgi")
 
  cgi.assign = ( ".cgi" => "/usr/bin/perl" )
 
  setenv.add-environment = (
    "GITWEB_CONFIG" => "/etc/gitweb.conf",
  )
}

This maps /usr/share/gitweb/ (this holds all relevant files for gitweb on Debian) to http://example.com/gitweb/.

Now enable the new configuration file with

lighttpd-enable-mod gitweb

and reload lighttpd with

/etc/init.d/lighttpd force-reload
 

Some PDF files are restricted in such a way that some PDF viewers do not allow to print, edit or extract parts of the PDF content. PDF viewers like Okular or Evince used on Linux are ignoring these restrictions, but Windows viewers like the Adobe Reader are obeying these limitations. In my case I wanted to remove these restrictions fast using a command line tool.
A handy tool named QPDF comes to rescue to save the world from evil DRM restrictions.

  • Install QPDF:
    sudo aptitude install qpdf
  • Remove restrictions:
    qpdf --decrypt input.pdf output.pdf
  • To do this with many PDFs use the following one-liner:
    for file in *.pdf; do qpdf --decrypt $file ${file/.pdf/_rescued.pdf}; done

You can check the DRM restrictions of the input and output PDFs using the free demo version of GuaPDF, which is also available as a linux command line tool, but restricted to PDFs with a small file size.

Another option is to use http://freemypdf.com to remove these restrictions using a web site just for this purpose. The downside is the slow uploading of every PDF and possible privacy implications when uploading a PDF to such a website.

 

Update: Please read “Syncing Android with ownCloud” for my current setup.

I have tried to find alternatives to synchronizing with Google. The Sync-Standard should be open, standardized and usable with free software. These requirements exclude the use of MS Exchange ActiveSync because it is a proprietary protocol.

The solution is SyncML with the Funambol client for Android. I am using the newest Debug-Release.

Currently Memotoo is used as the server, but i am planning to write a simple python based server for private single users.

Possible Problems and Solutions

  • The first Calendar sync just stops/get canceled after a couple of minutes.
    Go to Settings -> Account & sync and disable automatic sync and background data. This should help your sync to complete. Afterward you can re-enable auto sync/bg data. (Source: https://android-client.forge.funambol.org)
  • I am getting “Generic error” message without content!
    Your server software is not compatible with this client. Use the Debug-Release with the “eGroupware-fix”.
  • I want to sync Tasks with Android!
    Install “Astrid” from the Android Market and restart your phone. Now the button “Tasks” is available in the Funambol Sync application and syncing tasks can be done with Astrid as the frontend.
    Update: It is important to use the Debug-Release, where the Description says: “… with tasks, notes …”