[Ubuntu Wiki] Update of "SpokenBoot" by LukeYelavich

Ubuntu Wiki noreply at ubuntu.com
Sun Jun 11 13:00:12 BST 2006


Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Ubuntu Wiki" for change notification.

The following page has been changed by LukeYelavich:
https://wiki.ubuntu.com/SpokenBoot

The comment on the change is:
Initial draft

New page:
##(see the SpecSpec for an explanation)

 * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/spoken-boot
 * '''Created''': 2006-06-11 by LukeYelavich
 * '''Contributors''':
 * '''Packages affected''': speech-dispatcher, speechd-up, lsb-base

== Summary ==

Implement a mechanism to allow users to choose to receive spoken feedback on boot messages, at different levels of verbocity.

== Rationale ==

Currently there are only a select few blind computer users who are able to receive spoken feedback about OS boot messages. These users have to be using Linux, with a hardware speech synthesizer, and the speakup screen reader compiled into the kernel. All blind Linux users should be able to benefit from such spoken feedback, whether they are using software or hardware based speech synthesis.

== Use cases ==

 * Jane thinks that her computer is taking an unusually long time to boot up. She wants to be able to find out what her computer is doing while it boots the operating system.
 * Joel has recently installed a new server package, and is having trouble configuring it. He wants to know whether the server daemon, or any other boot process fails to load correctly when he restarts his system.

== Scope ==

This specification will discuss the implementation of spoken feedback for the Ubuntu boot process.

== Design ==

The vast majority of init scripts in Ubuntu use the /lib/lsb-base/init-functions file for displaying necessary text about their relevant tasks. To get spoken output of this text, it is simply a matter of adding hooks to the functions that display this text, and the result. Speech-dispatcher provides a command-line utility, spd-say, for speaking text. Whether text is spoken will depend on what is set in the configuration file. The configuration file will also contain an option to start the speakup screen reader if a filesystem fsck badly fails, so the user can enter commands and receive spoken output if they wish.

== Implementation ==

Functions for handling speech output will be added to /lib/lsb/init-functions. Function calls will then be placed in other important functions such as log_begin_msg and log_end_msg. The amount of information that is spoken will depend on the setting stored in a config file called by the speech functions. Three possible options will be available, none, fail, and all. By default, none wil be set. Fail will only speak any information related to a process that fails to function for any reason, i.e call log_end_msg with a nonzero value. All will cause all information to be spoken.

The speech functions will check whether the configuration is either set to fail or all. If so, a check for the running of speech-dispatcher will be made. If successful, the requested text will be spoken.

The /etc/init.d/checkfs.sh script will also be modified to provide checks for a configuration option to enable a screen reader if the fsck fails. These modifications could easily make use of init-functions, to keep all spoken feedback code in the same place.

If the screen reader option is set to yes, a check for speech-dispatcher running will be performed. If not, it will be loaded. The speakup screen reader will also be loaded. Once the user exits from the shell set up after the failed fsck, the screen reader may be unloaded, and spoken feedback will be set to something other than its original setting, depending on more options in the configuration file.

=== Code ===

=== Data preservation and migration ===

== Outstanding issues ==

 * The SpeakupInclusion and EarlySpeechDispatcher specs have to be implemented before this spec can be useful.
 * speechd-up needs to be promoted to main for screen reader functionality.
 * Any packages that do not use init-functions in their init scripts will have to be changed.

== BoF agenda and discussion ==

----
CategorySpec


More information about the Ubuntu-accessibility mailing list