Ubuntu One Subscribed Folders

As followers of my blog know, the hard drive in my laptop recently failed, forcing me to reinstall both Ubuntu Lucid Lynx (10.04) and Windows 7. Fortunately on the Ubuntu side, I did have Ubuntu One set up with the free 2GB account, which is a cloud-based backup service. However, I found that once I entered my account credentials and expanded the reach of Ubuntu One’s synced folders a bit, only the new folders were syncing: my Documents, Music, and Pictures had the menu option present to sync them on Ubuntu One, but no matter what I did I could not get them to actually sync.

Then, via the Ubuntu One FAQs, I found the key is the command line tools u1sync and u1sdtool. These are both part of the ubuntuone-client-tools package, not installed by default. So,
matt@nyx:~$ sudo apt-get install ubuntuone-client-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
ubuntuone-client-tools
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 29.5kB of archives.
After this operation, 217kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/universe ubuntuone-client-tools 1.2.2-0ubuntu2 [29.5kB]
Fetched 29.5kB in 0s (33.0kB/s)
Selecting previously deselected package ubuntuone-client-tools.
(Reading database ... 147152 files and directories currently installed.)
Unpacking ubuntuone-client-tools (from .../ubuntuone-client-tools_1.2.2-0ubuntu2_all.deb) ...
Processing triggers for man-db ...
Setting up ubuntuone-client-tools (1.2.2-0ubuntu2) ...

Processing triggers for python-central ...

After that, I viewed the list of subscribed folders:
matt@nyx:~$ u1sdtool --list-folders
Folder list:
id=32fb299f-5d55-4de8-b0a4-bf1f6070de1c subscribed= path=/home/matt/Music
id=e52fdc25-3380-4cd4-b93d-12ae03b879aa subscribed= path=/home/matt/scripts
id=99a9a1d5-2676-4abc-bd94-a0fb866c93ab subscribed=True path=/home/matt/Wallpaper
id=1b4f26aa-1d78-41a9-83df-4e3da5c9cfa4 subscribed= path=/home/matt/Pictures
id=18c409bc-133e-46cd-aa0d-1a44801731cd subscribed= path=/home/matt/Documents
id=b899faea-b180-44f1-a81f-0f23d8e0f27f subscribed=True path=/home/matt/Public

You might notice something a bit off, if you look closely. You’ll notice that both /home/matt/Wallpaper and /home/matt/Public (the two folders I added since reinstalling the OS) show “subscribed=True”, while the other four directories just have “subscribed=”. I figure this is the problem, so after a little more research into the u1sdtool command syntax, I did the following as a test:
matt@nyx:~$ u1sdtool --subscribe-folder=32fb299f-5d55-4de8-b0a4-bf1f6070de1c
matt@nyx:~$ u1sdtool --list-folders
Folder list:
id=32fb299f-5d55-4de8-b0a4-bf1f6070de1c subscribed=True path=/home/matt/Music
id=e52fdc25-3380-4cd4-b93d-12ae03b879aa subscribed= path=/home/matt/scripts
id=99a9a1d5-2676-4abc-bd94-a0fb866c93ab subscribed=True path=/home/matt/Wallpaper
id=1b4f26aa-1d78-41a9-83df-4e3da5c9cfa4 subscribed= path=/home/matt/Pictures
id=18c409bc-133e-46cd-aa0d-1a44801731cd subscribed= path=/home/matt/Documents
id=b899faea-b180-44f1-a81f-0f23d8e0f27f subscribed=True path=/home/matt/Public

It looks like it’s working, especially since right after this command was run and I restarted synchronization via the GUI, it started syncing /home/matt/Music as well as /home/matt/Wallpaper and /home/matt/Public. So without hesitation, I ran:
matt@nyx:~$ u1sdtool --subscribe-folder=e52fdc25-3380-4cd4-b93d-12ae03b879aa
matt@nyx:~$ u1sdtool --subscribe-folder=1b4f26aa-1d78-41a9-83df-4e3da5c9cfa4
matt@nyx:~$ u1sdtool --subscribe-folder=18c409bc-133e-46cd-aa0d-1a44801731cd
matt@nyx:~$ u1sdtool --list-folders
Folder list:
id=32fb299f-5d55-4de8-b0a4-bf1f6070de1c subscribed=True path=/home/matt/Music
id=e52fdc25-3380-4cd4-b93d-12ae03b879aa subscribed=True path=/home/matt/scripts
id=99a9a1d5-2676-4abc-bd94-a0fb866c93ab subscribed=True path=/home/matt/Wallpaper
id=1b4f26aa-1d78-41a9-83df-4e3da5c9cfa4 subscribed=True path=/home/matt/Pictures
id=18c409bc-133e-46cd-aa0d-1a44801731cd subscribed=True path=/home/matt/Documents
id=b899faea-b180-44f1-a81f-0f23d8e0f27f subscribed=True path=/home/matt/Public

Now, Ubuntu is trying to market itself as a good OS for so-called “normal users”. This is a great idea, that many corporations and governments around the world have tried with great success. At our Geek Squad precinct, we’ve even been able to show the advantages of Ubuntu to a few people, and they were so convinced of the advantages after they tried our demo that they hired us to install and configure the operating system for them. These types of people would not have known where to start troubleshooting a problem like this, and therefore their experience would have been ruined.

I would hope that future versions of Ubuntu One would be more able to handle situations like this automatically, or provide a GUI that can handle this error condition. Linux in general, and especially Ubuntu, is quickly evolving into an operating system more able to drive an end-user supported environment. Mac OS X has already proven to the world that Linux-based operating systems are able to easily cope with the demands of an end user that isn’t exactly computer-savvy, and I think in the future most devices will be run with a Linux kernel rather than Windows.

And of course, a majority of users will still require support with their computers, as they do now.