
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. https://vinuxproject.org/ here .
eSpeak
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
model=auto
before you dig too far. I also edited /etc/default/pulseaudio
sudo medit /etc/default/pulseaudio
to read:
PULSEAUDIO_SYSTEM_START=1
DISALLOW_MODULE_LOADING=1
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
Repositories
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 https://ftp.debian.org/debian testing main contrib non-free
deb https://ftp.debian.org/debian jessie main contrib non-free
deb-src https://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:
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
Now I rebooted again, and everything appeared to work.
Gnome-Orca
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.