AboutUbuntu

Revision 9 as of 2005-11-02 18:08:08

Clear message

Summary

To make Ubuntu more polished and easier to support, it will have an About box that displays the Ubuntu version and basic information about the system.

Rationale

Professional operating systems have About boxes that display the operating system version, copyright info, and a few important details about the computer the system is running on. These About boxes do not have Back buttons, tables of contents, or scrollbars. Ubuntu should be just as polished.

Use cases

  • Stephanie wants to know which version of Ubuntu she is running.
  • Jeff, a marketing hack and propagandist, wants to make sure users can find more information about Ubuntu, such as the website or online help.
  • Claude wants to install some software that requires a particular kernel version. Or maybe he doesn't. We just hit him instead. Or run him over with a (stable! really!) gnu.
  • Jamie the sysadmin wants an easy way for his users to check some basic specifics of their system, so he can diagnose problems quicker. (Ubuntu version, CPU/mem, last (dist-)upgrade etc.?)

Scope

Design

Simple! Simple! Simple!

  • Choosing the "About Ubuntu" menu item opens the About window, visually centered on the screen. It behaves properly with respect to startup notification and session saving. The window is closable using either Ctrl+W or the close button in the title bar.
  • The About window includes:
    • Ubuntu logo and version number (most prominent)
    • a button linking to [http://ubuntu.com/ ubuntu.com]

    • computer model, if available
    • CPU speed
    • amount of RAM on the system
    • Linux kernel icon and version number (linking to kernel.org)
    • Gnome icon and version number (linking to gnome.org).
  • Any of the version info can be dragged and dropped as plain text into another program.

Implementation

Code

AboutUbuntu is implemented as a small pygtk program.

dmidecode cannot supply the information about the computer, because it requires administrator access. Therefore:

  • The computer model is read from lshal | grep procfs.cpuinfo.model_name, which isn't always present.

  • The CPU speed is read from cpufreq if it exists, or from /proc/cpuinfo otherwise. (If cpufreq doesn't exist, the CPU probably isn't slowed down, so /proc/cpuinfo will be accurate.)

  • The amount of RAM is read from free.

Data preservation and migration

  • The current "About Ubuntu" page is replaced by the front page of ubuntu.com, which is linked to by the About box.

Outstanding issues

  • code to close window on Ctrl+W isn't working
  • '\n \l' needs stripping from version details
  • '"Breezy Badger"' needs stripping from version details
  • lshal | grep procfs.cpuinfo.model_name isn't behaving as expected

  • "More Details..." needs to open hal-device-manager
  • drag and drop isn't implemented
  • not launch-friendly
  • not session-manager-friendly
  • Is /proc/meminfo a better place to get the total memory?