Accessible Login with Orca

To be written. For now, refer to http://www.gnome.org/projects/gdm/docs/2.18/accessibility.html and http://www.gnome.org/projects/gdm/docs/2.20/accessibility.html.

Quick Steps from Brian Cameron

Note from WDW: I've done this successfully several times with Solaris Express. It's quite easy. The only thing is that you need to have gdm login working in order to do this. On Solaris Express, you do this via the following commands:

svcadm disable cde-login
<<<login as root at the console>>>
svcadm enable gdm; exit 0
  1. Run gdmsetup
  2. Go to the Local tab and make sure that the "Plain" choice is selected in the Style combo box. If using an older version of GDM this may be called "Standard Greeter" or "GTK+ Greeter". This causes the greeter choice to be "gdmlogin" which works best with AT programs. In other words, you don't want to use the "Themed Greeter" aka "Graphical Greeter". Most users with a11y needs do not want to use gdmgreeter because it doesn't support AT programs as well. However, some people with disabilities may find gdmgreeter works okay.
  3. If you want to use XDMCP to remote login to the machine with a11y then also make sure that the "Plain/Standard/GTK+" greeter is chosen in the "Remote" tab.
  4. Make sure "Enable accessible login" is checked under the "Accessibility" tab.
  5. You might view the files in /etc/X11/gdm/modules. You can edit these if users want to further configure the gestures that are enabled or to find out what the gestures are.

Then GDM should have a11y turned on. Refer to http://www.gnome.org/projects/gdm/docs/2.20/accessibility.html for more complete information and troubleshooting.

Ubuntu Hardy Accessible Login Instructions

Please read through these instructions completely before attempting them. Thanks to aerospace1028 for these instructions. These instructions are for Ubuntu 8.04 Hardy. To avoid issues caused by line wrap in your browser, it may be better to cut and paste required information into Text Editor before Modifying gdm.conf-custom.

You will need to run the below commands as root, the system's superuser, so before you begin, it might be a plan to enter your terminal, and type the following:

sudo su

type in your password, and watch the prompt change to root@something or other, where something or other is the name of your computer. Now everything you do is in the name of root.

1. Step 1: edit gdm.conf-custom

The first step is to put the appropriate definitions in the gdm custom configuration file. In Ubuntu 8.04 Hardy this is located at /etc/gdm/gdm.conf-custom. Note that the keys must appear in the correct section of the file. A sample of all keys and their default values may be found in gdm.conf, located in the same directory as gdm.conf-custom.

To enable accessible login, we only need to add two keys to the daemon section of the /etc/gdm/gdm.conf-custom file. To select the lines you need, hold shift and press down arrow twice. Then press CTRL+c to copy them to your clipboard. The two lines you need are:

GtkModulesList=gail:atk-bridge:/usr/lib/gtk-2.0/modules/libdwellmouselistener:/usr/lib/gtk-2.0/modules/libkeymouselistener
AddGtkModules=true

When you have coppied the two lines above to your clipboard, open a terminal. Press alt-f1 to open the menu, down to enter the Applications menu. At this point, you should hear "Accessories". Press right arrow, then up arrow until you heare the word "terminal" then press enter. IN a second you should hear Orca announce that you are in a terminal. type the following:

sudo vi /etc/gdm/gdm.conf-custom

When you press enter, Orca will start reading the contents of the /etc/gdm/gdm.conf-custom file. Press escape to silence speech and to make sure you are in VI's command mode. Use down arrow to navigate through the file until you come to the line that reads:

[daemon]

When you find this line, press down arrow one more time to get Below it. Then, press shift i which will put you in insert mode at the very beginning of the line. Press shift-f10 to open a context menu. Use the arrow keys to move down to "paste" and press enter. The two lines you had in your clipboard will now be pasted into the file. Press escape to get out of insert mode and back into command mode.

To double check your work, your /etc/gdm/gdm.conf-custom file should now read as follows from the daemon to the security line.

[daemon]

GtkModulesList=gail:atk-bridge:/usr/lib/gtk-2.0/modules/libdwellmouselistener:/usr/lib/gtk-2.0/modules/libkeymouselistener
AddGtkModules=true

[security]

Don't worry if there are more or fewer blank lines in your file. It's the text that counts. When you are sure that everything is as it should be, you need to save your changes. To do so, type the following:

:wq

when you press enter, VI will exit and you should hear your prompt again. Leave your terminal window open though, there's a few more things to do. You can switch between your terminal and browser window by pressing alt tab.

2. Step 2: update gdm

Now we must tell gdm about the changes we are requesting. To do this, we use the gdmflexiserver command. As before there are two lines, use shift down arrow to select them and CTRL+c to copy them. The lines you need are:

gdmflexiserver --command="UPDATE_CONFIG daemon/AddGtkModules"
gdmflexiserver --command="UPDATE_CONFIG daemon/GtkModulesList"

Now, alt tab back to your terminal window and press shift-f10 and arrow down to paste. Press enter.

3. Step 3: giving the gdm group audio permissions

Now, so orca can speak during login, we need to add gdm to the approved users of sound. In your terminal window, type

vi/etc/group

When you press enter you will once again hear Orca start to read a file. Press escape to make sure you are in command mode. Use the down arrow key to locate the line starting with audio. Listen to the line or navigate through it letter by letter (right arrow) to see if it contains ,gdm. IF it does not contain ,gdm, press shift A to enter append mode at the end of the line. Note in the next line there is a comma at the beginning. It will need to be typed exactly as shown for it to work. Type the following line exactly as shown:

,gdm

Press escape to get back into command mode. Type

:wq

to save your changes and exit VI. By default, when activated through the steps above, pressing and holding The following keys at the login prompt will start Orca:

  1. CTRL+s for one second will launch orca with speech.
  2. CTRL+m for one second will launch orca in magnification mode.
  3. CTRL+g or CTRL+o held for one second will launch orca with both speech and magnification.

4. Step 4: optional customize login functions

Located in the same directory as gdm.conf and gdm.conf-custom is a subdirectory "modules." The files modules/AccessKeyMouseEvents and modules/AccessDwellMouseEvents control the different "gestures" allowed during login. The headers of these files should adequately explain their modification and use. Notes:

  1. If you make a typing error while in VI, you can close the file without saving by pressing escape and typing :q! (notice the bang! after the q)
  2. All other documentation (including the default Ubuntu help) direct the user to look for these files in /etc/X11/gdm/.
  3. One may optionally modify the gdm.conf file directly, but I would recommend making a back-up for recovery and reference of default settings.
  4. the gdm configuration files indicate that "gdm-restart" is another possible method for reloading gdm's settings, but by default under Ubuntu, gdm-restart provides the "command not found" message.

Arch Linux Accessible Login Instructions

As of this writing, Arch Linux is running Gnome 2.28 and significant changes have been made to the environment to gdm.

1. Configuring the gdm User

Because of this, we will need to use the gconftool-2 to alter some gconf parameters under the user, gdm. To accomplish this, log into the root account and take the following steps:

1. Enable gdm to be logged into by typing

chsh -s /bin/bash gdm

2. Log into the gdm account with

su - gdm

3. While in the gdm user account, set the appropriate gconf variables to enable accessibility for gdm by entering the following two commands.

gconftool-2 --set --type bool  /desktop/gnome/interface/accessibility true

gconftool-2 --set --type bool /desktop/gnome/applications/at/screen_reader_enabled true

If you wish to verify that these variables are properly set, just enter the following two commands:

gconftool-2 --get /desktop/gnome/interface/accessibility

gconftool-2 --get /desktop/gnome/applications/at/screen_reader_enabled

This will display the current value; you want both of these variables to be true.

4. Log out of the gdm account with

exit

5. Change the gdm user account back to the way it was before we started by entering the following command.

chsh -s /sbin/nologin gdm

2. Adding gdm User to the audio Group

As with other distributions, it will be necessary to connect the gdm user to the audio group. Simply edit the file, /etc/group with a standard text editer and look for the line beginning with audio; add gdm to the end of this line. This way, gdm will have proper write permissions to the audio group in order to render audio output.

3. Running the Talking gdm Login

If gdm isn't currently running, go ahead and start gdm with the gdm startup script.

/etc/rc.d/gdm start

If already running, then use the restart option instead. Orca should come up and welcome you and then the dialog should talk. You should be able to tab between the buttons and If used previously bu a normal user, that user's name should be spoken. Just hit enter here and you will be prompted for the password. Hit enter again. Orca will then say "Good bye" but don't let that scare you; immediately after that, the gnome session should begin and you will be logged in and Orca will restart with the normal users configuration.

If pressing the tab key doesn't do anything, then press shift-ctrl+tab; this should get you to other controls on each the user and the password screens respectively. These controls include shutdown and restart options.



CategoryAccessibility

Projects/Orca/AccessibleLogin (last edited 2013-11-22 19:22:25 by WilliamJonMcCann)