Tuesday, March 18, 2008

The Difficulty in Creating the Easy Home Network

My home has a lot of computers, if you consider seven for a two-room apartment a lot. Getting everything to work together isn't as easy as it should be, and that's what I'm going to discuss in this post.


Obviously, getting an easy solution to network /home with a single sign-on for services is desired, but the kind of thing you don't even see in small businesses. Why? It's just too hard to set up. My attempts at LDAP have been hit-and-miss over the years. Sometimes, everything works, but most times, either I can't successfully set up the OpenLDAP server or the clients don't get configured correctly. It has been made easier in the last couple of years by things like , but I've even failed with that, on occasion. Let's not even get started talking about adding Kerberos to the mix.

There are a couple of bright spots on the horizon, though. The Fedora Directory Server looks good, but I'm not into compiling major software for my computer and trying to keep up-to-date with patches. eBox is another promising project, including an LDAP setup by default along with its other services.

Yeah, and there's Samba-ng acting as an AD server. I'll get into Samba in the next session.

Still, I sit with seperate /etc/passwd files on each of my computers. Oh for the days when I just ran thin clients and everything worked without any setup at all!

Since Ubuntu Home Server wants to make my life easy, I'm asking them to have a pre-configured LDAP-Kerberos setup for me, administered via web. Include a single package for clients to install to reconfigure.

File Sharing


Why doesn't there seem to be a beter choice than Samba? NFS needs to be mounted. FTP is ugly. I'm generally left with Samba so that I can move my shares around and still have my gal figure out where they went. There should be a better way. Right now, I use Samba to share documents. WebDAV would probably be a better choice for that. I'll look into it.

Since a lot of the stuff I share comes from the server doing double duty as a BT server, I have permission problems. I solve those by forcing read/writes as the www-data user. That's an ugly way around the problem, but it works.

The desktops with Hardy Alpha still can't easily add a Samba share by right-clicking. Sure, everything looks like it works, but it doesn't, and I still need to go into the smb.conf file and edit everything manually just like I did eight years ago.

Audio Files

I serve audio files using -- gasp -- Samba and DAAP. I added mt-daapd (now Firefly Media Server) to my setup a couple of years ago, and it works transparently with Rhythmbox. There are no hiccoughs. No errors. Nothing. OK, well ... once in a blue moon the daemon exits without notification. :P Except for that, it is the perfect method. The files on the server get shared and can be dragged and dropped into a personal music collection or onto a protable music player. Beautiful and easy.

This is my new standard for file sharing, which bring us to ...

Video Files

Last weekend, I decided that sharing my video should be as easy as my audio is. Now that I have the BT server, the gal's Naruto collection, and my Miro setup, sharing videos has become more important than it was last year.

And we're still stuck using ... you guessed it ... Samba.

Well, in the Wikipedia entry for Firefly, it states that the server can share video. It can. I got that undocumented feature activated by searching for an hour through their forums. It turns out that mp3_directory can take multiple arguments and that they can include video. I wouldn't have guessed that from the variable name.

The only problem is that Firefly shares them all in one batch. It doesn't separate audio from video, which is OK for iTunes, I guess, but I don't use it. Rhythmbox now has an extra 2000 entries which are useless unless you want to listen to the soundtrack of the movie.

I could have dealt with that, since I use genres and artists to select my music anyway, but there is no video player which handles DAAP. VLC says it does, and it has a "Bonjour" service discovery item in the playlist, but it doesn't detect anything, even though RB sitting behind it has the full listing. Nothing. No players. I was WAAAY disappointed.

"Well," said I, "there has to be another way!" There is, of course. uPnP is a security nightmare of a protocol which shares video well. I'll admit that I knew nothing about before last night except the name, that it was a Microsoft deal, and the whole router reprogramming scandal it caused. There are quite a few uPnP servers in the respositories, including MediaTomb, GMediaServer, and uShare. I tried them all out for sharing my Miro content, and they appeared to share well, but I ran into a problem with clients again. VLC promised again, but disappointed ... again.

Finally, I busted out a copy of Geexbox and installed it behind Xubuntu on a laptop. It booted, recognized the share, and played the content with no problem. Hurray! The TV-out on the laptop doesn't work, though. I found no other workable options.

So, Mr. Ubuntu Home Server man, this is what I want from you on the file-sharing front:

  • A nice document sharing system, set to share /home/Documents and user homes. I don't care what it is, but it would preferably use Avahi for auto-discovery. Samba? Fine, just make sure it actually works without digging through the text file to figure out what's broken. WebDAV would probably be good, as long as it's tied into the directory server.
  • Firefly Media Server installed by default and set to share /home/Music. There needs to be a method to write to the directory, as well, since we'll have to fill that up. Name the server "DAAP Music Server" or something informative.
  • Since uPnP sucks so badly, let's have a second instance of Firefly sharing /home/Videos (notice how I'm sort of following the XDG specification, here?) so that music and videos don't get all muddled together.

Beautiful, but now I need some way to deal with these services on the desktop.

  • RB will do for music.
  • We should really have a Nautilus plugin for the document sharing system and for DAAP. If users don't install/activate the plugin, then nothing will happen. With the plugins, though, these services automatically appear in the sidebar. DAAP offers an HTTP address for files, which can be clicked and played.
  • Totem needs to be able to play these files. It should already play the files using "Open Location," so there needn't be any modifications, but let's test it just to be sure.
  • It would be really nice if there were an additional plugin alongside the local search and YouTube (WTF?) plugins to detect DAAP shares. Originally, I thought this would duplicate the functionality of Rhythmbox's DAAP, but then I realized that Totem already does that for music in a small way, anyway. When you open a music file in Nautilus, Totem plays the file so we can state that Totem is for playing single files or browsing, while RB is for music management.

Printer Sharing

CUPS is great, but the web administration interface sucks. I hate using it, kind of the way I hate Webmin's interface. (That's another great backend program with a terrible frontend, by the way).

What do I need from Ubuntu Home Server? Not much. Just make sure sharing is on.


I used to think I wanted a jabber server. I don't. Empathy and Pidgin both have Avahi services to automatically discover the folks on your network. They work really well, too.


  • Throw in a Jabber server authenticating from the LDAP, just in case I change my mind.


UHS has this as a bullet on their wiki. Get real. Do you know how many times I've installed groupware on my servers? More than you'd think. Do you know how many times my household has used it? Never. That's right. Never. I was installing phpgroupware back before they were 1.0 (oh, wait ...). They are putting together UHS, not USBS. Groupware for a small business is important. It's not for home users. Drop it.


While I'm at it, let me tell tham to make UHS integrate well with Ubuntu -- you know -- like MS did with its products and Apple did with its? Make everything work well together in a completely Ubuntu environment first, then start worrying about the mixed ones. Make all that stuff magically happen when you run an all-Ubuntu household, and people will love you.

And I want a pony. A pink one!

Go ahead. Fire away.


Anonymous said...

I just read your blog and i agree with your general comments.

Just on UPnP, I ended up using djmount because there seem to be no good uPnP clients for linux. Sadly you need to install it yourself as ubuntu does not have a package. here is a reasonable HowTo for the process:



This is kind of an old article.

Yeah. I used djmount after this, too. It's actually what Geexbox uses, and it's not that reliable. Sometimes it'll see stuff and sometimes it won't.

I gave up on Ubuntu and UHS eventually. Hardy drove me to tears. I decided to use this article as the basis for my ideas on Debian2Debian. I wanted a setup that just worked out of the box with Debian clients and servers. Check it out:

Post a Comment

Other I' Been to Ubuntu Stories