gxine is my Linux media player of choice, partly because it’s nice and light, but mostly because it just works, unlike certain other players which will remain nameless. It has a nice feature that allows only one instance of it to be invoked on any one desktop, so if you play a number of files/streams from external applications, you don’t end up with multiple copies of gxine running.
Unfortunately, for the last few months, this feature has been broken in Debian (and Ubuntu too, so it seems … and now that I look at it, the problem comes from upstream). A bit of a look into the code shows that the reason for this is that at some point, gxine moved its configuration files from $HOME/.gxine/ to $HOME/.config/gxine/ – a bizarre location which just reeks of GNOME or some other overly-pedantic committee – but the server code has been left in the old location, and hence the socket for communication can’t be created.
The following (trivial) patch fixes it:
diff -urN gxine-0.5.903/src/server.c gxine-0.5.903.fixed/src/server.c --- gxine-0.5.903/src/server.c 2008-08-08 20:29:48.000000000 +1000 +++ gxine-0.5.903.fixed/src/server.c 2008-02-12 04:18:45.000000000 +1100 @@ -40,7 +40,7 @@ #define LOG */ -#define SOCKET_FILENAME "%25s/.gxine/socket" +#define SOCKET_FILENAME "%25s/.config/gxine/socket" #define BUF_SIZE 1024 static int gxsocket;