{{Header}} {{Title|title= Orca Screen Reader }} {{#seo: |description=Using the Orca Screen Reader in {{project_name_long}} Virtual Machines |image=Orcascreenreader131233.png }} [[File:Orcascreenreader131233.png|thumb]] {{intro| Using the Orca Screen Reader in {{project_name_short}} Virtual Machines }} = Introduction = [https://github.com/GNOME/orca Orca] is:
...a free, open source, flexible, and extensible screen reader that provides access to the graphical desktop via user-customizable combinations of speech and/or braille. Orca works with applications and toolkits that support the assistive technology service provider interface (AT-SPI), which is the primary assistive technology infrastructure for the Solaris and Linux operating environments.This documentation has been written by a sighted developer without the input of a blind person for testing purposes. Therefore some written advice might be incorrect, such as instructions concerning the use of
sudo
vs dsudo
. dsudo
allows commands to be run as root without entering a password, so long as the default password has not been changed.
= Installation =
{{Install Package|package=
orca
}}
= Orca Configuration =
== Prerequisites ==
Orca (or any other) screenreader must already be functional on the host operating system. This is unrelated to {{project_name_short}} and outside the scope of this documentation. The user should be familiar and comfortable with the host screenreader.
It is also recommended to learn VirtualBox basics outside of any reference to {{project_name_short}}; that is, using VirtualBox with any other operating system. Otherwise, any blind users simultaneously utilizing VirtualBox and {{project_name_short}} for the first time might face serious challenges.
These instructions have not tested whether the VirtualBox host user interface is itself accessible; this functionality is out of scope.
== Bridges Functionality ==
Orca was only recently integrated into {{project_name_short}}, therefore support for using Orca in combination with Tor [[Bridges]] is not perfect yet -- please post a feature request if that is desirable. Bridge users should refer to the footnote for a workaround. First disable the host internet connection and follow these steps:
Setup bridges
→ Reconnect host internet connection
→ Make sure host internet connection is functional
→ Restart Tor or reboot {{project_name_short}} if not connected yet
.
== Initial Setup ==
{{Box|text=
'''1.''' Agree to {{project_name_short}} legal terms.
{{mbox
| image = [[File:Ambox_warning_pn.svg.png|40px]]
| text = '''Acknowledge that you have read, understood and agreed to our [[Terms of Service|Terms of Service]] and [[License Agreement|License Agreement]].'''
}}
'''2.''' Start {{project_name_short}} using the VirtualBox host user interface normally.
Depending on system performance it can take up to three minutes or more until {{project_name_short}} starts, although on fast machines it boots much quicker. On a reasonable fast developer machine, booting either {{project_name_gateway_long}} or {{project_name_workstation_long}} took approximately 30 seconds.
One issue is that there is no audio feedback when the boot process finishes. This is an optimization problem because {{project_name_short}} was originally designed with privacy in mind. Most {{project_name_short}} users would not want to reveal they are using the platform or otherwise signal they are using an operating system via an audio notification which might be noisy depending on host audio settings.
'''3.''' Wait for the boot process to finish.
'''4.''' Start the Xfce application finder.
Press the following keys in combination.
Alt
+ F2
'''5.''' Use the easo
utility.
easo
is spelled e
, a
, s
, o
. This is an easy to type abbreviation for easyorca.
It could not be named easyorca for technical reasons; avoiding the letter y inside easo
circumvents issues relating to English versus German keyboard layouts. See: [https://gitlab.gnome.org/GNOME/orca/-/issues/189 orca --replace should not kill script which is starting it].
Make sure you read, understood and agreed to [https://github.com/{{Project_name_short_lowercase}}/{{Project_name_short_lowercase}}-base-files/blob/master/usr/share/{{Project_name_short_lowercase}}/KICKSECURE_BINARY_LICENSE_AGREEMENT {{project_name_short}} binary license agreement] and [https://raw.githubusercontent.com/{{Project_name_short_lowercase}}/{{Project_name_short_lowercase}}-base-files/master/usr/share/{{Project_name_short_lowercase}}/KICKSECURE_DISCLAIMER {{project_name_short}} disclaimer] before continuing.
Running the easo
utility
* https://github.com/{{project_name_short}}/setup-dist/blob/master/usr/bin/easo
* https://github.com/{{project_name_short}}/setup-dist/blob/master/usr/sbin/easyorca-root
has several effects.
{{Box|text=
# Sets volume inside the virtual machine to 50%.
By running command amixer set Master 50%
. 50%
was arbitrarily chosen and is hopefully not too quiet / noisy. It can be regulated using the host operating system or physical speaker volume control.
# Starts the Orca screen reader.
# Legally accepts [https://github.com/{{Project_name_short_lowercase}}/{{Project_name_short_lowercase}}-base-files/blob/master/usr/share/{{Project_name_short_lowercase}}/KICKSECURE_BINARY_LICENSE_AGREEMENT {{project_name_short}} binary license agreement].
# Legally accepts [https://raw.githubusercontent.com/{{Project_name_short_lowercase}}/{{Project_name_short_lowercase}}-base-files/master/usr/share/{{Project_name_short_lowercase}}/KICKSECURE_DISCLAIMER {{project_name_short}} disclaimer].
# Disables autostart of setup-wizard-dist
GUI.
# Enables Orca autostart.
https://github.com/{{project_name_short}}/usability-misc/blob/master/usr/sbin/orca-enable-autostart
# Enables the orca-kill-at-shutdown.service
systemd service.
https://github.com/{{project_name_short}}/usability-misc/blob/master/usr/lib/systemd/system/orca-kill-at-shutdown.service
# Starts Tor connections which results in Tor connecting to the Tor public network.
Using setup-dist
(-noninteractive
) 1
.
https://github.com/{{project_name_short}}/setup-dist/blob/master/usr/sbin/setup-dist-noninteractive
}}
Type on the keyboard.
{{CodeSelect|code=
easo
}}
And press the Enter
key.
'''6.''' Wait 10 seconds.
This allows Orca startup and the initial Orca setup to finish.
'''7.''' Wait for notification.
There should be an audio notification from Orca stating "screenreader on" -- the initial setup of Orca is complete.
At this time there is no need to re-run the easo
utility after next boot. Orca will automatically start after next reboot, followed by an audio notification: "screenreader on".
'''8.''' ''Optional'': run systemcheck.
Running systemcheck
is recommended, see: [[systemcheck]].
}}
= Functionality =
The Orca screen reader is tested as functional in the following applications (non-exhaustive list):
* Xfce start menu
* xfce4-terminal
* Xfce application finder
* Most common browsers like Firefox, TorBrowser..etc
There are several limitations at present:
* setup-wizard-dist
(GUI) does not work. Use setup-dist
CLI on the command line instead.
Run sudo setup-dist
in a terminal.
* [[Anon Connection Wizard]] does not work. This is normally not an issue for public Tor network users, but those requiring bridges could configure these on the command line as documented on the [[Bridges]] page.
* systemcheck
GUI (previously called systemcheck
) does not work. Use systemcheck
CLI on the command line instead. Run systemcheck
in a terminal. See also: [[systemcheck]].
* Repository Dist Wizard (GUI) does not work. If needed, use repository-dist
(CLI) instead as documented [[Project-APT-Repository#Command_Line_Interface|here]].
= Advanced =
== Autostart Orca ==
{{mbox
| type = notice
| image = [[File:Ambox_notice.png|40px|alt=Info]]
| text = This chapter is usually not required because these steps are already automated by easo
.
}}
{{Box|text=
'''1.''' Start Xfce application finder.
Press these keys in combination.
Alt
+ F2
'''2.''' Launch a terminal.
Type.
{{CodeSelect|code=
xfce4-terminal
}}
And press Enter
.
'''3.''' Enable Orca autostart.
Type.
{{CodeSelect|code=
dsudo orca-enable-autostart
}}
And press Enter
. This command uses dsudo
instead of sudo
because commands can be run as root without entering a password, so long as the default password has not been changed. For blind users this is likely far simpler than using sudo
and typing the password, especially during the initial setup. See: [[Root#dsudo_-_default_password_sudo|dsudo]] for further information. [https://github.com/{{project_name_short}}/usability-misc/blob/master/usr/sbin/orca-enable-autostartorca-enable-autostart
]
'''4.''' Done.
After reboot, Orca should now automatically start. Once the boot process finishes and Orca has started there will be an audio notification.
}}
== Complete setup-dist ==
{{mbox
| type = notice
| image = [[File:Ambox_notice.png|40px|alt=Info]]
| text = This chapter is usually not required because these steps are already automated by easo
.
}}
setup-dist-noninteractive
is a tool to non-interactively use setup-dist
. Menu option 1
enables Tor which results in accessing the public Tor network unless the user previously manually configured [[Bridges]].
If required, run this command on both {{project_name_gateway_short}} and {{project_name_workstation_short}} only.
{{CodeSelect|code=
dsudo setup-dist-noninteractive 1
}}
== Packages ==
The following package dependencies are installed:
* libatk-adaptor libgail-common
- required for Xfce settings menu screen reader support
* non-qubes-audio
- required for adding audio support to {{project_name_gateway_short}}
* gstreamer1.0-plugins-good
- [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=931687 missing dependency in Debian buster]
* xbrlapi
- Recommends:
by orca
* python3-gst-1.0
- Recommends:
by orca
* speech-dispatcher-espeak-ng
- required for spd-say test
* sound-icons
- this package might be optional
== Issues ==
As at April 2021 the following issues are unresolved:
* [https://gitlab.gnome.org/GNOME/orca/-/issues/188 run orca as systemd user service / shutdown takes a long time with orca enabled]. https://gitlab.gnome.org/GNOME/orca/-/issues/188#note_1027211 Worked around using orca-kill-at-shutdown.service
systemd service.
* [https://gitlab.gnome.org/GNOME/orca/-/issues/191 --debug (or new option) write to console (stdout (and/or stderr))]
The following issues have been resolved:
* issues on {{project_name_short}} host: [https://gitlab.gnome.org/GNOME/orca/-/issues/176 orca not starting - TIMEOUT: something has hung. Aborting.]
* [https://gitlab.gnome.org/GNOME/orca/-/issues/189 orca --replace should not kill script which is starting it]
* [https://gitlab.gnome.org/GNOME/orca/-/issues/190 ctrl + c does not terminate orca - AttributeError: module 'signal' has no attribute 'strsignal']
= Footnotes =
{{reflist|close=1}}
{{Footer}}
[[Category:Documentation]]