UsefulDisksManagerSpec

Summary

This specification is for a usable and functional disks manager applet located at System->Administration->Disks

Rationale

The current Disks applet lacks a significant amount of functionality one would expect. There is currently no way to check a disk for errors by running fsck short of jumping into the terminal and reading a bunch of man pages.

There is also no way to easily configure the various parts of fstab using the tool, such as mount options, the mount point, and access defaults. Strangely, the disks setup program on the Install CD is more functional. Worryingly, there is still no way to setup an NTFS drive for browsing by the user.

Use Cases

  • Joe User goes to the store and buys a new hard disk. He installs it and, predictably, goes to the Disks applet to configure it. Other than formatting it and setting a (temporary) mount point, however, he has no means of configuring it like a disk that he did at install time. To use his disk, he now has to remount it in this way every time he logs in.
  • Joe Power User was mounting his secondary disks from an earlier install or from another computer, but he's not sure of their status. Perhaps when he booted previously it cryptically told him there were serious errors, so he got a new disk to install Ubuntu before he grabs data from his old disk. Now that he has a working system, however, he has no way of checking those secondary disks for errors without consulting google and a few man pages.
  • Wally Windows brings his NTFS-formatted hard drive from his old Windows computer and plugs it into his Ubuntu machine. He goes to System->Administration->Disks, enters his password, and uses the tool to create a mount point for the drive in a new folder in his home directory. Unable to view the drive using Nautilus because it is mysteriously prohibited from being open, he instead tries the "browse" button in the disks management utility, which opens up the drive in a nautilus window with sudo. Now, however, he cannot drag and drop files from the drive such as his music into his other disks, nor can he view his movies there since Totem requires write permission. If he inadvertantly uses this window to browse the rest of his disk, he now can seriously damage his system, as this Nautilus window has root permission.

  • Lindy Languages wants to use her FAT32 or NTFS mounted partition, but it has files on it that are named in a different language, such as French or Chinese. To get these characters to display properly, she has to manually add the mount options iocharset=utf8,codepage=850 to her fstab file, after much searching on the internet (and likely trial and error.)

Scope

This specification covers feature specifications for the Disks manager applet.

Design

Frontend for fsck

On the partitions tab of the disks manager applet there should be a button to check for errors. In the short term, this could simply launch a terminal running fsck, however an ideal replacement would be a graphical interface. The interface should also make clear that the disk needs to be unmounted to be properly checked.

Configuring fstab easily

Mount options need to be configurable somewhere with a button and a list of checkboxes in the applet. Which mount options are impossible (such as write support for NTFS) should also be made clear to the user, such as by greying them out and providing an explanatory dialog in the interface. Reasonable defaults, such as user read/writable, must also be suggested.

Proper care needs to be given to ensure that mounted volumes also enjoy proper support for different language character sets. Options such as iocharset=utf8,codepage=850 should be enabled more easily, if not by default.

Furthermore, a dangerous change to fstab should prohibited. Ideally, this would be done by simulating a boot sequence. This isn't foolproof, but we could certainly check that root is mountable, read-writable, and there are no spelling mistakes which screw up booting. The order of LVM and RAID initialisation is sensitive, and should be checked. Will the root volume be available for booting after a new PV is added on a USB disk? This is perhaps a deeper problem, but we can catch major errors at this level.

Functional browse button

The following bug should also be fixed: http://bugzilla.ubuntu.com/show_bug.cgi?id=17049

A nautilus window opened by the disks manager should never have root permissions. The browse button should be disabled if the active user does not have permission to browse the drive. However, it must also be possible for a drive created with the applet to be configured to be browsable by the user.

Virtual and network drives

There must also be awareness of virtual drives mounted via NFS and SMB. While the disks manager might not be the most intuitive place to configure them or set them up (and we do need one), at the very least it shouldn't break any mounted smbfs or nfs filesystem. Listing them as mounted filesystems (with many of the options greyed out) probably won't hurt.

Documentation

Each feature of the applet, including the new ones, will require complete documentation and contextual help. Documentation and contextual help should also give a brief overview of the types of filesystems Ubuntu supports (particularly the status of Windows file systems), as well as link to the documentation on partitioning in general.

Implementation

Outstanding Issues

This system tool currently has no documentation at all!

BoF agenda and discussion


CategorySpec

UsefulDisksManagerSpec (last edited 2008-08-06 16:17:04 by localhost)