Speaking About Accessibility

Being an advocate for accessibility in all areas, and since I am well versed in how difficult it can to get around on a computer when disabled, I will be presenting a talk on it in Los Angeles this February. Here is the information on where and when:


Posted in Ramblings | Leave a comment

How To Install Orca & Dasher in Xfce


Making Gnome Orca, eSpeak, and Dasher work in CrunchBang Linux with Xfce desktop environment was not easy. When all is said and done, they are all working for me. You may not have the same luck, though. To make them all work is not something the inexperienced should attempt. II would recommend installing Vinux instead. Vinux works out of the box, on most computers. http://vinuxproject.org/ here .


Now, down to how I did this. I have many years experience working with linux, and can use the command line when I need it to troubleshoot and fix my broken system. All file editing has to be done as root, because root owns all the files. If you forget to save a file, the edits you make disappear. My editor of choice is medit, which has fewer dependencies than gedit and is almost as easy for me to use. First, I installed espeak, because orca needs it to be able to speak. That was easy,

sudo apt-get install espeak, espeak-data, libespeak, libgnome-speech7, libportaudio2, libportaudio0, at-spi2-core, xsel, gespeaker, libatk-wrapper-java

There are a few things in there that espeak itself does not need, but I need them later for accessibility to work.

I rebooted, and tried it:
espeak "This is a test"
I got a couple of errors:

ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started

A quick google search tells you those errors are common, and can be avoided when pulse audio is installed by pushing the output through pulse audio.
espeak "Hello, I am Espeak, the voice synthesizer" --stdout | paplay

To make it all work without using paplay, since I planned on using Orca, it took a bit more. First, edit the modules to insure the audio card is there:
sudo medit /etc/modprobe.d/alsa-base.conf
Then add at the bottom of the file:

options snd-hda-intel model=acer

The model is determined for your own computer, of course. Try


before you dig too far. I also edited /etc/default/pulseaudio
sudo medit /etc/default/pulseaudio
to read:


Reboot the computer, and try espeak. It should now be working.

NOTE: still getting jack errors, no jack or festival installed at this point, but espeak works as does other sounds.

Xfce upgrade

I now had espeak working. The next step is a bit daunting, even for me. I needed Xfce 4.10, and CrunchBang comes with Xfce 4.8. To get to 4.10, you have to use Debian Testing, otherwise known as jessie.

Before changing repositories, remove (keeps GNOME from installing completely):
sudo apt-get purge gir1.2-gnome-bluetooth-1.0
sudo apt-get purge gnome-bluetooth


At this point, you must disable waldorf and other repositories. You do that by editing /etc/apt/sources.list as root and commenting (place “#” in front of) all the lines. It is okay to not comment the lines for security and wheezy.

Enable the repositories you wish to use, which is testing, by editing the repositories:
sudo medit /etc/apt/sources.list
Then add the following:

## Debian Testing
deb http://ftp.debian.org/debian testing main contrib non-free
deb http://ftp.debian.org/debian jessie main contrib non-free
deb-src http://ftp.debian.org/debian testing main contrib non-free

I put a “#” in front of all the other repositories, except Debian wheezy, Debian stable, and Security. That disabled all PPA’s, Waldorf repositories, and third party repositories I was using.

Next, change the default release:
sudo medit /etc/apt/apt.conf.d/00DefaultRelease
Change or add:

APT::Default-Release "jessie";

Add to or create /etc/apt/apt.conf:
sudo medit /etc/apt/apt.conf
Change or add:

## to not install all recommended packages
APT::Install-Recommends "0";
APT::Install-Suggests "0";

Change the priority to allow jessie to be the first repository from which things will be installed, wheezy second, and waldorf gets to stay if there is no other version available.
sudo medit /apt/preferences
Changed to:

Package: *
Pin: release a=waldorf
Pin-Priority: 100

Package: *
Pin: release a=wheezy
Pin-Priority: 500

Package: *
Pin: release a=jessie
Pin-Priority: 1001

The upgrade

At this point, the preparation should have been done and I was ready to try the upgrade. I ran the following commands:
sudo apt-get update
sudo apt-get dist-upgrade --no-install-recommends

As this ran, I saw an error in the terminal, and had to open a second terminal to fix it. The error was

(gtk-update-icon-cache:11335): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file ‘/usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
This likely means that your installation is broken.
Try running the command
gdk-pixbuf-query-loaders > /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.

To fix it, since it kept repeating, I first typed
sudo -i
since I needed to be root to make it run the needed fix. Then I typed the following:
gdk-pixbuf-query-loaders > /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
I think that worked, because I never saw the error again.

I also had an error that linux-headers were not installed, so when the upgrade completed, I installed them:
sudo apt-get install linux-headers-3.2.0-4-686pae

Next, I ran
sudo apt-get autoclean
sudo apt-get autoremove

To make sure root would work properly, I also ran
sudo lxappearance
which lets you set the theme, fonts, etc for root

I then rebooted, which brought me into openbox instead of Xfce. Since I started in Xfce, I really wanted to run that desktop. I logged out and switched to a TTY, using Ctrl+Alt+F2
sudo update-alternatives --config x-session-manager
and rebooted again. Xfce was now working.

Unfortunately, openjdk has disabled accessibility by default, so one has to re-enable it by hand, by uncommenting,
sudo medit etc/java-6-openjdk/accessibility.properties
the following line:


Now I rebooted again, and everything appeared to work.


I still needed to install Gnome-Orca, though. That part is easy,
sudo apt-get install gnome-orca
To make orca actually read the entire screen, it takes some more work. I needed to install alsa packages, including the -dev packages and libraries. Since we ran –no-install-recommends, we have to install all the items our applications need on our own.

sudo apt-get install alsa-base alsa-oss alsa-tools alsa-utils alsamixergui alsaplayer-alsa alsaplayer-common alsaplayer-gtk libalsaplayer-dev libalsaplayer0 libao4 libao-common libasound2 libasound2-data libasound2-dev libasound2-plugins

sudo apt-get install libopenal-data libopenal1 libsdl1.2debian libsdl2-2.0-0 libsox-fmt-alsa libsox2 sox gir1.2-clutter-gst-2.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gstreamer1.0-alsa gstreamer1.0-clutter gstreamer1.0-ffluendo-mp3

sudo apt-get install gstreamer1.0-libav gstreamer1.0-nice gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-pulseaudio gstreamer1.0-tools gstreamer1.0-x libclutter-gst-2.0-0

sudo apt-get install libgstbuzztard0 libgstreamer-plugins-bad1.0-0 libstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgstreamer1.0-dev libnice10

I don’t know if all of that is needed, but it works here. I would rather install one or two items too many and have it working. I have noticed that apt-get does keep trying to get me to run autoremove now, but it wants to take away things I am using, so I won’t do it.

All done?

There may be other dependencies not yet satisfied, so if things don’t work, check what each application needs. Look at gnome-orca, and espeak, and check that everything they need is installed. If you use Synaptic Package Manager, it is easy to check. Right-click the package, left-click “Properties”, left-click “Dependencies”. If all those listed as “Depends >=” are not installed, applications do not work right.

At this point, I have dasher in direct mode working correctly. I also have espeak working, and can feed an entire text file to it and hear it. I also have Orca working.

Yes, this will take a few hours, or perhaps a couple of days to get working. However, it allows me to run Xfce and accessibility as I need them to run. Would I do it again? Of course, but I am pretty persistent. I know what I want, and I know I will eventually make it work.

Posted in accessibility, Multiple Sclerosis, Ramblings | Comments closed


I Might Be Right, I Might Be Wrong

Let us talk about time and date formats. It is a subject that comes up every so often, and I have been told I am wrong about the way I write time and date. I think I use the format that makes the most sense to me, but that is just the way I think. There are many other ways I have dates and times written, but I am writing specifically about the United States today.

I spent 20 years in the US Air Force. That is 20 years of writing time in 24-hour format. In the United States, common usage for time is to use a 12-hour format, with AM and PM. However, even many of the clocks I used for 20 years had 24-hour format. 24-hour format is designed to be easy to learn and use. It means you simply add 12 to any time after 12:59 pm. There is never a mistake as to whether someone means morning or night, since time starts at 0:01 every day and ends at 23:59 every night. Since I find this method more accurate for myself than writing am and pm, I use 24-hour time format on all my devices that allow it. I never have to squint to see an am or a pm, it is not needed. I find this format very easy to read and understand.

I also write my dates weird, for the United States. In the military, we always wrote dates as 12/02/08, which is year, month, day. Doing that for 20 years leads to confusion when trying to follow both civilian dates written as 02/08/12 and military dates. See, when looking at the two dates, it is not intuitive to determine what is meant in either one. Of course, for civilians, there is no confusion. They know if they are citizens of the United States, the format is always month, day, year. Unfortunately, it is not so easy when they are not US citizens. I tend to use the one I spent 20 years learning to use, with a four digit year. It is just easier for me to stick with a single format, so while still in the military, I learned to use the military format all the time.

I sometimes resort to spelling out the month instead of using a couple of numbers for it. It also makes it easier to know for certain what the date is in the future. If I see the date as numbers only, it can be difficult to determine what it should be. If I see the date with the month spelled out, it doesn’t matter where the four digit year is, it is obvious what the date should be. Of course, the month written out only works for those that read english.

I have records going back to 1953. Yes, that is a very long time. When I read old papers and records, I look at the dates. When they are written in numbers only, they can be difficult to determine. Dates before the year 2000 were normally written as two digit year, because we all knew it was the 1900’s in front. It did not matter if it was 1901 or 1999, you only needed the last two digits. All that changed in the future, when we realized that 01, or even ’01 could mean 2001. Oops. Now we are 14 years into that future, and the years are almost always written in 4 digits instead of two.

As for myself, I will continue to keep my devices set to a 24 hour clock. I will also continue to upset the majority in the United States, by writing my dates as yyyy-mm-dd. For myself, there is no confusion left. For others, sometimes it might be confusing, and sometimes it will be obvious. However, I have to look at those numbers daily. I will use what is easiest for me, now.

Posted in Ramblings | Comments closed