From c65db7a0e62f3aac0e333143707b7f51603c0b67 Mon Sep 17 00:00:00 2001 From: Klaatu von Schlacker Date: Wed, 27 Jun 2012 16:26:07 -0400 Subject: fixed a bad xref in ch15 added an appendix covering emacspeak for blind users; i made it an appendix since it requires two applications that dont ship with slack. --- appendix_emacspeak.xml | 246 +++++++++++++++++++++++++++++++++++++++++++++++++ chapter_15.xml | 2 +- 2 files changed, 247 insertions(+), 1 deletion(-) create mode 100644 appendix_emacspeak.xml diff --git a/appendix_emacspeak.xml b/appendix_emacspeak.xml new file mode 100644 index 0000000..776c5af --- /dev/null +++ b/appendix_emacspeak.xml @@ -0,0 +1,246 @@ + + Emacspeak for Blind Users + + + Slackware Linux includes two methods of creating a blind-accessible + distribution: the Speakup.s kernel and + emacspeak. + + + + The Speakup.s kernel is configured to work with hardware + speech-synthesizers which connect to a non-sighted user's computer + and "speaks" whatever is sent to standard out. + + + + Not all non-sighted users have access to hardware + speech-synthesizers and even those that do might find it cumbersome + to carry one along with their laptop every time they go out. To + account for this, Emacspeak was + developed, by a non-sighted programmer, to create audio output from normal + interactions in Emacs. Since + Emacs is so extensible and has modes for + shell access, office work, email, web browsing, file management, and + so much more, it can act as the primary UI for the rest of the OS. + + +
+ Prerequisites + + + Before you install Emacspeak, you should + (obviously) first have installed + Emacs. If you excluded this from your + initial install, then add it with + slackpkg or + pkgtool (it can be found in application + set "e"). + + + + You should also have at least one user (not including root) on the + system, and this user should be a member of the audio group. + +
+ +
+Installing Emacspeak + + + Emacspeak can be installed over the + network with slackpkg. See for more information. + + + + darkstar:~# slackpkg install emacspeak + + + + You can also install it from the install media using + pkgtool or + installpkg. Emacspeak + can be found in the /extra directory on the + disc. + + + + Once Emacspeak has been installed, it + needs to be configured, but you can test that it has been installed + by simply typing emacspeak at a shell + prompt. Emacs will start and return some + errors in the minibuffer; this is expected, since we have yet to + configure the backend for sound. + + + + To exit emacs, type + control-x control-c. + + + +
+Configuring Emacspeak + + + In order for emacspeak to produce sound, + your system requires speech synthesizer software. As of this + writing, flite is the most actively + maintained and most reliable free speech synthesizer for + Linux. While it does not ship with Slackware, it can be obtained + as an RPM package from LINK HERE + + + + + Use rpm2tgz to convert the RPM package to + a Slackware Package, and install using + installpkg as discussed in . + + + + You can test flite once it has been + installed with the command flite -t + foo. You should hear + flite speak "foo". If you do not, + then either flite has not been installed + correctly, or your computer's sound is not working or is + muted. Check alsamixer to adjust the + levels of your speakers, use lsmod to + find out if your computer speakers are being recognized at all, and + which flite to ensure that + flite actually got installed. + + + + With flite and + emacspeak confirmed, your system now has + both the user interface and the speech synthesizer to vocalize input + and output. The final component necessary is a speech server to + bridge these two separate parts. The speech server that has been + developed for flite is + eflite, and is available directly from + its homepage at eflite.sourceforge.net. + + + + To build eflite from source code: + + + + darkstar:~$ tar -xf eflite*gz && cd eflite* + darkstar:~$ make + darkstar:~$ make test + + + + The test should play a voice confirming that eflite is working + properly. If you hear nothing, do not install + eflite until you diagnose and repair the + problem. + + + + Assuming all goes well, install eflite: + + + + darkstar:~$ su -c 'make install' + + + + An environment variable needs to be established so that + emacspeak knows what speech server to + use: + + + + darkstar:~$ echo + "DTK_PROGRAM=/usr/local/bin/eflite" >> ~/.bash_profile + darkstar:~$ echo "export DTK_PROGRAM" + >> ~/.bash_profile + darkstar~:$ source ~/.bash_profile + + + + Launch emacspeak and you will find that + every interaction is narrated. + +
+ +
+Usability Hacks + + + Strictly speaking, the emacspeak system + is now fully configured. However, there are two useful modifications + that should be made to help usability. As it is now, when the system + boots, it runs through the usual init sequence and stops silently at + a login prompt waiting for the user to enter their + information. Obviously a silent prompt is meaningless to a + non-sighted user. + + + + To create an audible login prompt, modify a startup script such that + some command is initiated at the end of the boot sequence. The final + script to be executed during the normal init sequence is + /etc/rc.d/rc.local, so modify it as root: + + + + darkstar:~# echo 'exec + /usr/bin/flite -t "please log in."' >> + /etc/rc.d/rc.local + + + + Now the non-sighted user will know when it is time to log in to + the computer, but immediately after logging in the same problem + exists: the user is given a silent shell prompt without any + confirmation that their login was successful or that the computer + awaits their next command. + + + + Probably the most sensible way to deal with this problem is to have + emacspeak automatically launch after a + successful login; this provides audio cues that the login was + successful as well as eliminating the redundancy of manually + launching emacspeak every time the user + logs into the system. + + + + darkstar:~$ echo 'exec + /usr/bin/emacspeak' >> ~/.bash_profile + + + + Reboot and test the new configuration; not only should the user be + audibly prompted to login, but immediately after login + emacspeak should launch. In fact, any new + shell that the user creates will launch an instance of + emacspeak. + +
+ +
+ + + Combined with the inherent power of GNU emacs + and the addition of all of its extensions such as the + w3m web browser, + eshell console, + wl email client, + org-mode organizer, + dired file manager, + emms multimedia player, a non-sighted user + has a robust, stable, and powerful Slackware Linux system. + + +
\ No newline at end of file diff --git a/chapter_15.xml b/chapter_15.xml index 0e80bbc..ada4bf8 100644 --- a/chapter_15.xml +++ b/chapter_15.xml @@ -243,7 +243,7 @@ Slackware knows to apply all these options to the wlan0 wifi instead of the (probably non-existant) eth4 wired NIC. Many of the other options are the same. IP address information is added in exactly the same way we discussed for wired network cards in ; however, we have a lot of new variables that need +linkend="ch_network"/>; however, we have a lot of new variables that need some explanation. -- cgit v1.2.3