Translation(s): Deutsch - English - Español - Français - Italiano - Português (Brasil)
This article explains the Orca screen reader for graphical desktop environments such as GNOME, MATE and others. See also the official GNOME Orca documentation.
Contents
Setup
Debian installer
If you have enabled accessibility during the Debian installation and also installed a desktop system, accessibility is enabled by default and Orca was installed for you automatically. This only works for GNOME, Mate, Cinnamon and Unity at the moment, but can be activated manually. See the section on autostarting Orca.
Installation on an existing system
If you installed Debian without accessibility features, you should do the following steps:
In a terminal, type sudo apt install orca, to install orca.
- If you are using one of GNOME, Mate, Cinnamon or Unity, the next steps should not be required for you.
In a graphical session, open a terminal or press Alt+F2 and type orca -s to start the setup. If you are unable to do so, it is best to enable the autostart of Orca and run the setup with Orca support with the command orca -r -s.
- In the following dialogs, you can select the options you like, including Orca modifier, etc. After this procedure, Orca should start automatically.
Autostart of Orca
GNOME
Orca can be configured to start automatically in the Gnome user session by hand by running these lines as a normal user:
eval $(dbus-launch); export DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true
MATE
Orca can be enabled to start automatically in the MATE user session by hand by running these lines as normal user:
eval $(dbus-launch); export DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true GSETTINGS_BACKEND=dconf gsettings set org.mate.interface accessibility true GSETTINGS_BACKEND=dconf gsettings set org.mate.applications-at-visual startup true
XFCE
The accessibility support for XFCE has to be enabled manually. This can be achieved either by clicking the "Enable assistive technologies" checkbox in the XFCE accessibility settings, or by running this command in an X session:
xfconf-query -c xfce4-session -n -t bool -p /general/StartAssistiveTechnologies -s true
Alternatively you can put the following into $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml:
<?xml version="1.0" encoding="UTF-8"?>
<channel name="xfce4-session" version="1.0">
<property name="general" type="empty">
<property name="StartAssistiveTechnologies" type="bool" value="true"/>
</property>
</channel>The file might already exist. If you haven't configured XFCE yet, you can replace the content of this file with the above excerpt. Please note that this will drop your XFCE session configuration. If you don't want to lose your existing XFCE session parameters, just add another "general" property, it will look like this:
<channel name="xfce4-session" version="1.0">
<property name="splash" type="empty">
...
</property>
<property name="general" type="empty">
<property name="FailsafeSessionName" type="empty"/>
<property name="StartAssistiveTechnologies" type="bool" value="true"/>
</property>
<property name="sessions" type="empty">
<property name="Failsafe"
...
</property>
</channel>For now, orca will not autostart. The simple workaround is to just drop the "?OnlyShowIn" line in /etc/xdg/autostart/orca-autostart.desktop , or to add XFCE to it.
LXDE and LXQT
For now, orca does not start automatically. The simple workaround is to just drop the "?OnlyShowIn" line in /etc/xdg/autostart/orca-autostart.desktop. Alternatively, LXDE or LXQT can be added at the end of this line.
Magnification
Orca does not offer magnification itself, however a variety of solutions exist, which are documented here.
Voices
This section has been tested on a Debian trixie.
The default Orca settings has a not very natural voice. This section guides how to install other voices (using either "mbrola" or "festival" speech synthesizers).
1. Check settings. Using orca --setup or orca -s open the "Voice" tab.
- Find the "Speech synthesizer" option (there might be only "Default synthesizer" and "espeak-ng"): The next steps should allow you to add additional voices.
2. Enable the contrib and non-free components.
- Some of the voices that can be used by Orca require packages from the "contrib" or "non-free" components. Enable them adding "contrib non-free" in the APT repositories via one of the following methods (depending on your current system configuration):
if your system uses one-line apt configuration: edit /etc/apt/sources.list: in the line such as:
deb http://deb.debian.org/debian/ trixie main non-free-firmware
Add contrib non-free:
deb http://deb.debian.org/debian/ trixie main non-free-firmware contrib non-free
if your system uses deb822 apt configuration: edit /etc/apt/sources.list.d/debian.sources and you will find:
Types: deb deb-src URIs: https://deb.debian.org/debian Suites: trixie trixie-updates Components: main non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
In the Components line add contrib non-free.
- refresh the list of packages:
apt update
Voices using mbrola speech synthesizer
Before following the next steps, make sure that you have enabled contrib and non-free components as described above.
1. Install the mbrola voices (it installs the required packages). To find mbrola voices:
apt search --names-only mbrola-
For English voices: mbrola-en1 (British male), mbrola-us1 (American female), mbrola-us2 (American male) and mbrola-us3 (American male)
2. Select the mbrola synthesizer and voice in Orca.
- After installing the synthesiser or voices run:
systemctl --user reload speech-dispatcher
So that the speech-dispatcher service detects mbrola and the voices; and Orca to list them.Then run orca -s, click on the "Voice tab" and, in "Speech synthesizer", select "espeak-ng-mbrola". Choose the "Language" that your voice is for, and then choose the "Person" for this voice. Then "Apply" to start using the new settings. If you install new voices, run again:
systemctl --user reload speech-dispatcher
Voices using festival speech synthesizer
Before following the next steps, make sure that you have enabled contrib and non-free components as described above.
1. Install the "speech-dispatcher-festival" package, for example via:
apt install festival speech-dispatcher-festival
2. It is also recommended to install extra festival voices. For example, to install a British English male voice:
sudo apt install festvox-rablpc16k
To list the available Festival voices:sudo apt search --names-only festvox-
3. For festival version < 1:2.5.0-13 (trixie or earlier): (not needed for festival version >= 1:2.5.0-13, included in forky): To test festival in orca: start the festival server, reload speech dispatcher and set it up in Orca.
- In one terminal:
festival --server
Security warning: festival --server accepts connections from any local user. Connected clients can evaluate arbitrary Festival Lisp expressions, including (system ...), allowing execution of arbitrary shell commands with the privileges of the user running the server.
4. Make speech-dispatcher to find the festival voices:
killall -HUP speech-dispatcher
Then, run:orca -s
And in the "Voice" tab choose "festival" in "Speech synthesizer"; then the chosen "Language" and "Voice".
5. For festival version < 1:2.5.0-13 (trixie or earlier) (not needed for festival version => 1:2.5.0-13 included in Debian forkie): If you want to use festival in orca without having to run festival --server everytime: you can run automatically via a systemctl user service. To do that, stop the previous festival server (via Control+C in the terminal) and follow the next steps to automatically start festival server when you login:
- Create the systemd user configuration directory (if it does not already exist):
mkdir -p ~/.config/systemd/user
Create the service file:mkdir -p ~/.config/systemd/user cat << EOF > festival.service [Unit] Description=Festival Speech Synthesis Server Before=speech-dispatcher.service After=sound.target [Service] ExecStart=/usr/bin/festival --server Restart=on-failure RestartSec=1 DynamicUser=yes [Install] WantedBy=default.target EOF
Reload the user systemd configuration and enable the service for future logins:systemctl --user daemon-reload systemctl --user enable festival.service
Finally, reload Speech Dispatcher so it can connect to the Festival server:killall -HUP speech-dispatcher
Browsing
Orca works on multiple browsers with a varying degree of support.
Gecko-based browsers: These include firefox-esr and have the best support and are hence recommended.
WebKit-based browsers: They work to a certain degree, but cannot be considered production-ready with Orca yet. You need to press F7 in those browsers to activate caret browsing.
Text-mode browsers: These run in a terminal and offer basic browsing capabilities, but lack support for Javascript and other modern web technologies. Examples include w3m and elinks.
Orca does not interact with them nicely, it is better to run BRLTTY for screen reading. For this a new instance is started as a normal user process which does the screen reading and connects to an already existing BRLTTY instance: "brltty -b ba -x a2 -X type=terminal -s no -N -r" .
It also makes sense to disable braille and optionally speech in Orca for the current application. Press OrcaKey + control + space for the application-specific dialog.
You can configure BRLTTY to emit speech, see the documentation.
Other speech synthesizers
Orca does not itself interact with the speech synthesizer, but uses a backend service called speech-dispatcher to access various speech synthesizers. If you want to add or configure a synthesizer, please see the Speech-Dispatcher section of the general accessibility page.
Orca plugins
The package orca-sops provides a plugin system together with a selection of default plugins. It also contains a guide to help getting started with plugin development.
Newer versions of Orca
It is possible on Debian stable to use a newer version of orca, either via Backports or via unstable.
Via backports
Usually there are more recent versions of Orca backported for stable, but this is not always the case. The steps to install Orca from backports are the following:
1. Open /etc/apt/sources.list with administrator privileges and make sure that the following line is present (or add, if missing):
deb https://deb.debian.org/debian/ bullseye-backports main contrib non-free
This is for Debian 11 bullseye. Replace bullseye with the code name of the Debian version that you are using.
2. sudo apt update && sudo apt install orca/bullseye-backports
- Again, if you are not running Debian bullseye, change the code name in the command.
Via Unstable
If you don't want to compile Orca from source but still try a newer version (at your own risk), you can try using the version from unstable (or if available, from experimental). For this, you have to configure apt-pinning. Add a Debian unstable / experimental-source of Debian, update your package lists and run
sudo aptitude -t unstable install orca
WARNING: unstable and experimental don't have their names without reason!
See Also
The Orca page with lots of tutorials (see "Documentation" section)
accessibility - The Debian wiki page (about accessibility) with some hints also related to Orca and BRLTTY
