I recently got a raspberry pi 4 and wanted to access its gui because I wanted to use the pi like a note taking device. I wanted a spreadsheet, a browser with quick key navigation and a familiar interface. Yes, I could have used emacs with emacspeak which is something I am exploring but I am familiar with the Linux gui and it is an easier interface to use when coming from Microsoft Windows. As of this writing, I have been unable to get the default lxde desktop to work with Orca. I hear “screen reader on” and nothing else happens. I suspect that there is no accessibility infrastructure in the lxde desktop that is bundled with the raspberry pi but cannot be sure of this because I have not tried looking at the events that fire when I navigate screen elements.
Things are different when I use the mate desktop. Orca comes up talking and I can easily navigate screen elements.
Here are the steps I took to get this working. You must have the following prerequisites in place.
- The pi should be connected to the internet. Use a wired connection else you can also use a wireless connection though that will need you to create a text file on the sd card
- A physical keyboard must be connected to the pi. You will need this keyboard to issue commands on the pi.
- An external USB sound card to avoid the crackling with the 3.5mm jack.
- A pair of headphones or speakers to hear speech output once you have launched Orca
I started with raspbian lite because I wanted a clean gui system to start with. Once I had flashed it to a sd card, placed a blank file called “ssh” without the quotes in the boot partition to enable the ssh server of the pi upon boot up, and had booted my pi, I was ready to begin the actual work of installation.
The first thing I had to do was to switch to an external sound card. This is because when I tried using the raspberry pi 4’s native 3.5mm jack for sound output, I got too much crackling. The speech was unintelligible.
How can I use an external USB sound-card and set it as default?
Once you have implemented the steps in the above post, you are ready to move to installing the mate desktop.
The following post told me how to install the mate desktop. I have however not moved it to an external drive. Everything is on a sd card which seems to work just fine in my limited testing.
Install Mate Desktop on the Raspberry Pi using an External Hard Drive
I am going to paraphrase the above post.
You will need to run the following commands on the pi. Use ssh from your machine to do so.
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
Install the mate desktop
sudo apt install mate-desktop --no-install-recommends -y
sudo apt install mate-desktop-environment-core -y
sudo apt install mate-themes -y
sudo apt install mate-session-manager -y
sudo apt install xinit -y
sudo apt install mate-terminal -y
sudo apt install mate-applets -y
sudo apt install software-properties-gtk -y
sudo apt install xserver-xorg -y
sudo apt install lightdm -y
Add a text editor
sudo apt install gedit
Install the network manager as well if you want to configure network settings from the gui.
sudo apt-get install nm-applet -y
It is time to install the orca screen reader
The version of orca that comes with the package manager on Raspbian buster is very old. In addition, the program is updated almost every alternate day especially when bugs are found and enhancements are implemented.. Therefore, we will do an installation from source.
Enable any commented out sources
You need to install orca’s dependencies first. However, on my installation of raspbian buster, I had to remove the “#” from a sources line in the following file. This may change from update to update therefore check this before installing dependencies.
Install the git client by using the following command.
sudo apt-get install git
Install orca build dependencies
sudo apt-get build-dep gnome-orca
Get the orca source code
Ensure you are in your home directory or where ever else you want the source code to be. You do not need to create a separate directory for the source code because the git command will do so.
Run the following command.
git clone https://gitlab.gnome.org/GNOME/orca.git
Build and install orca
Run the below commands. Check the output of each command to ensure that there are no errors.
sudo make install
This completes the installation of Orca.
Getting orca running
The first thing we are going to do is to enable vnc which will allow us to see what is happening on the desktop.
Arrow to the boot interface option and enable vnc. Use the color identification of your screen reader to determine what options are highlighted when enabling the vnc option. The pi may download additional packages if needed.
Once you have enabled vnc, you should also set the pi to boot into the gui directly. This will help because you can then skip typing
start-x at the console.
Reboot the pi by using the following command.
Give a minute to the pi to boot. Use a real vnc client to connect to the pi. Once you are connected, use your screen reader’s ocr feature to determine if the desktop has launched. If it has, then on the physical keyboard that is connected to the pi 4, do the following to launch orca.
- Press alt+f2
- You can use your screen reader’s OCR function to check if you are in the run box
- type orca
- Press the enter key.
Wait for about a minute and you will hear “screen reader on”. At this point, you can begin navigating the mate desktop and setting up Orca the way you want too.
Keep the vnc access active as you experiment with the pi. It could help you read the screen if Orca goes silent. To exit the vnc viewer, use your screen reader’s navigation features like NVDA’s object navigation to activate the “close” button in the control menu. Non-screen reader keystrokes are intersected by the vnc viewer and are passed to the pi but I was unable to get Orca to respond when using any of these keys.