From Fedora Project Wiki
Line 85: Line 85:


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/YourFeatureName]]   
* See [[Talk:Features/BetterHostname]]   




[[Category:FeaturePageIncomplete]]
[[Category:FeatureReadyForWrangler]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Revision as of 20:03, 15 November 2009

Better Hostnames

Summary

Maintain a user-friendly name for your computer in addition to the regular hostname, and use it in the user interface.

Owner

Current status

  • Targeted release: Fedora 13
  • Last updated: 2009-11-13
  • Percentage of completion: 33%

The xdg-hostname service has been written, and we have a dialog that allows editing the computer name. Next steps:

  • Package xdg-hostname
  • Add the dialog to nautilus
  • Add a read-only api for computer name(s) to GLib
  • Use this throughout the stack: NetworkManager, vino, gnome-user-share, avahi, bluez/gnome-bluetooth
  • Use PolicyKit to control editing privileges in xdg-hostname
  • Make the installer set friendly hostnames
  • Make the necessary configuration changes to have changes in xdg-hostname appear in /etc/hostname and NSS

Detailed Description

Computers need names in many different contexts. There's the traditional hostname that works for routing network traffic, but there is also the need to show computers by name in the user interface in many places: on the login screen ('Welcome to ...'), in the nautilus 'Computer' window, when browsing network shares, when sending somebody connection details for sharing your desktop, etc. In addition, it is often useful to have an icon that goes along with the name (we already support this in some fashion with /etc/favicon).

To make matters more complicated, the hostname that is used for routing network traffic may be 'transient', because it can depend on the network you are on at the time, and might change at unpredictable times.

Currently, we don't do a very good job of this. The installer/firstboot offer to set a hostname, but the default is 'localhost.localdomain'. We don't offer any way to change the computer name from the desktop.

David has written the xdg-hostname service to solve this problem. It is a small, activated service on the system bus that maintains the various names for the computer, and offers a dbus API to change it.

The client-side API that is currently included in the xdg-hostname repository will be replaced by a read-only API in GIO. The (few) clients that need to change the names will use the dbus API directly.


Benefit to Fedora

Working with multiple computers in a networked environment is a lot more user-friendly if these computers appear with consistent, readable names and icons everywhere.

Scope

  • xdg-hostname needs to be packaged
  • GIO api needs to be written and committed upstream
  • The hostname edit dialog needs to be added to nautilus
  • Various components need to be patched to use the GIO api for friendly hostnames: NetworkManager, vino, gnome-user-share, bluez/gnome-bluetooth, avahi
  • Anaconda and/or firstboot should write out an initial configuration for xdg-hostname

How To Test

  1. During installation, verify that the hostname screen has sensible defaults for the display hostname and the regular hostname.
  2. After installation, verify that nautilus' computer icon has a name that reflects the display hostname set during installation.
  3. Enable file sharing in gnome-user-share and verify on another system that the service is advertised with the display hostname and icon.
  4. Enable remote desktop sharing in vino and verify on another system that the service is advertised with the display hostname and icon.
  5. Enable DAAP music sharing in rhythmbox and verify on another system that the service is advertised with the display hostname and icon.
  6. Rename the nautilus computer icon. You should get a hostname editing dialog that lets you set a display hostname, icon and regular hostname for your computer.
  7. Verify that the ability to make changes in this dialog is controlled by a PolicyKit policy.
  8. In the hostname editing dialog, change the display hostname and icon. Verify that this change is reflected in services that advertised via DNS-SD such as file sharing, remote desktop sharing and DAAP music sharing.
  9. Verify that changes to the display hostname and icon are reflected on the login screen
  10. Verify that changes to the regular hostname are reflected in /etc/hostname

User Experience

During the installation, the user will be asked for a 'friendly' name in addition to the traditional hostname. Ideally, both fields will have sensible defaults.

On the desktop, the nautilus 'Computer' icon will have a name that uses the 'friendly' computer name. Renaming that icon brings up the hostname editing dialog.

Services that are advertised over the network, such as file sharing via gnome-user-share, remote desktop via vino, music sharing via DAAP, etc., will appear with the 'friendly' computer name and icon.

Dependencies

  • anaconda/firstboot changes would be nice to have, but are not central to this feature


Contingency Plan

The core parts of this feature are getting xdg-hostname packaged and adding the hostname editing dialog to nautilus. Beyond these, the rest of the feature is more incremental in nature.

The contingency plan for the core parts of the feature is to just not install xdg-hostname. Then everything should fall back to using the traditional hostname, as before.

Documentation


Release Notes

Starting with F13, Fedora system maintain a 'display hostname' in addition to the regular hostname. The display hostname will be used when advertising services over DNS-SD and when presenting hostnames in the user interface.

Comments and Discussion