Building XFCE from Git

I recently tried to build an XFCE package using the git source (because I wanted to apply a patch).  Something I couldn’t find except in an ancient mailing list archive, was that you frequently need to pass either autogen or configure “–enable-maintainer-mode”, I passed it to both just to be safe.  Have fun building xfce.

Pogoplug & Autofs

Autofs is able to mount drives over sshfs on the fly. This allows you to seamlessly use a drive that you’re accessing over a local network or even over an ocean.

Pogoplug is a new dropbox-like cloud storage solution. Interestingly, and unlike dropbox, they do not work by mirroring data on your local disks. This means that the storage space offered is truly additive. Much like sshfs.

So I was of course curious if I could have autofs mount pogoplug seamlessly on access. Now I’m not sure how stable the connection is, so perhaps it would be better advised to do this once at login and not worry about it. But, anyways, a pseudo working solution (it seems to hang the first time it’s accessed, but a ctrl+c will return to the terminal and it will be mounted). It would be a huge help if someone could help me figure out that last niggle.

I attempted to keep user credentials separate from the script, and currently this banks on them being stored in ~/.ssh/pogouser & ~/.ssh/pogopass.

My auto.master:
/mnt/pogoplug /etc/auto.pogoplugfs --timeout=300,--ghost,nodev,nosuid

my auto.pogoplugfs:
username -fstype=fuse,nonempty,rw :/usr/local/bin/pogoplug_wrapper

And finally pogoplug_wrapper, you need to put pogoplugfs in your path. I put it in /usr/local/bin. This does some minimal logging to ~/.cache/pogoplugfs.log. You can comment out any of those lines if you’re not interested.

mkdir -p $1
mountuser=`basename $1`
mountuserhome=$(getent passwd $mountuser | cut -d: -f6)
cd $mountuserhome/.cache
echo "$mountuser:$mountuserhome" >> pogoplugfs.log
uid=`id -u $mountuser`
gid=`id -g $mountuser`
echo "" >> $mountuserhome/.cache/pogoplugfs.log
date >> $mountuserhome/.cache/pogoplugfs.log
chown $uid:$gid $1
chmod 755 $1
pogouser=`head -n 1 $mountuserhome/.ssh/pogouser`
pogopass=`head -n 1 $mountuserhome/.ssh/pogopass`
mountcommand="pogoplugfs --mountpoint $1 --user $pogouser --password $pogopass --fuseopts $3"
echo "$mountcommand" >> $mountuserhome/.cache/pogoplugfs.log
sudo -u $mountuser $mountcommand &
sleep 3 # give the command time to finish
exit 0

Ubuntu1 as a Dropbox Alternative

Dropbox was certainly the first to make it big in the cloud sharing space.  But for many users their service imposes some limitations:

  • only 2gb of space
  • shared files count against all users with whom they are shared
  • can be temperamental with phones

Ubuntu1 at least fares better in these categories…

  • 5gb of space (5.5 if you sign up using a referral link…)
  • shared files count against the quota of only the owner
  • works well with my phone (which is by far the most important phone… right?)

So, sign up, give it a try, let me know how it goes… Ubuntu1.  The real killer feature would be if you could share to users of the other application, but I think that’s a pipe dream for the near future.

Installing Sun Java on ubuntu 12.04 x64

It’s a little annoying that ubuntu does not provide a sun java (I don’t think iced-tea works all that well at the moment).  I found that this guide worked pretty well.  Of course you don’t need to install in /opt/java/64.

Go here and grab the linux x64 file (not the rpm).  And save it somewhere on your machine.

Then make the directory where java will end up living, and change into it: sudo mkdir -p /opt/java/64 && cd /opt/java/64

Move the file you’ve just downloaded to this directory (you’ll need sudo-powers again): mv ~/Downloads/jre-6u31-linux-x64.bin /opt/java/64

And make the file executable: sudo chmod +x jre-6u31-linux-x64.bin

And run it (you might have to agree to the license): sudo ./jre-6u31-linux-x64.bin

Set this java to the default:
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/64/jre1.6.0_31/bin/java" 1
sudo update-alternatives --set java /opt/java/64/jre1.6.0_31/bin/java

And setup for the browser:
mkdir -pv ~/.mozilla/plugins
sudo apt-get remove icedtea6-plugin
rm -v ~/.mozilla/plugins/
ln -s /opt/java/64/jre1.6.0_31/lib/amd64/ ~/.mozilla/plugins/

Slightly modified from:

Posted in Tech. Tags: , , . 12 Comments »

Building shotwell from source

git clone git://
git clone git://

cd gexiv2
sudo make install
cd ../shotwell
export VALAC=valac-0.16
# lots of text scrolls
sudo make install

Alphabetize XFCE desktop icons

A little script that alphabetizes desktop icons in xfce, folders before files, and hides files with a ~ at the end or a . at the beginning (hides hidden files). You can grab it here.

apt-fast with preview, autocompletion and installer script

There were a few things that were preventing me from adopting use of Matt Parnell’s apt-fast wrapper for apt-get.
1) no preview of action – i.e. when I install a package, it downloads all the files before it tells me what it would be doing, if it’s going to install packages I don’t want I don’t want to waste the time downloading the packages.
2) no autocompletion – was the library libexifjpeg62-0-dev or libexifjpeg62.0-dev, now you don’t have to know
3) there was no easy method of installing (not that that was much of an impediment), it was really the first two.

Anyways, I’ve made some modifications and now it supports all 3, that is preview of action before download, autocompletion of both action names and package names, and an installer script. Everything tested on some variant of *buntu. You can find the mods here.