Questa pagina descrive la gestione dell'accessibilità di Debian e fornisce suggerimenti di configurazione per gli utenti. Per informazioni generali per i manutentori di pacchetti sull'accessibilità in Debian, vedere la pagina dell'accessibilità per i manutentori. Per i dettagli di sviluppo, vedere accessibility-devel.

Aiutateci ad aiutarvi

Sarebbe molto utile se gli utenti con disabilità fornissero scenari da testare, in modo che gli sviluppatori senza disabilità possano sapere come testare i pacchetti di accessibilità e così facendo possano aiutare il Team per l'accessibilità. Vedere <20131008210138.GA9212@type.youpi.perso.aquilenet.fr> per i dettagli

Accessibilità nell'installatore Debian

L'installatore Debian ha funzioni per accessibilità in braille, con sintesi vocale e con elevato contrasto; sono documentate nel manuale di installazione, così come nella bozza attuale per la prossima versione disponibile (anche su https://salsa.debian.org/installer-team/installation-guide/tree/master/en/boot-installer). Più precisamente, ecco lo stato del supporto vari rilasci:

I dispositivi Braille USB sono rilevati automaticamente, mentre quelli con porta seriale vanno configurati all'avvio.

Il supporto per tutta l'accessibilità è disponibile in tutte le immagini tranne l'immagine netboot mini.iso non-gtk che non ha il supporto per la sintesi vocale. Per esempio si può usare l'immagine CD-1 da https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/ o l'immagine DVD-1 da https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/

La sintesi vocale software è disponibile a partire da Wheezy (Debian 7) e successive: una volta arrivati al menu di avvio (dovrebbe essere emesso un bip per segnalare che vi si è arrivati), premere semplicemente "s" e "Invio". Può anche essere attivato da win32-loader scegliendo l'installazione per esperti, la modalità di installazione grafica e aggiungendo speakup.synth=soft alla riga di comando per il kernel. Notare comunque che il menu di avvio di Windows non è accessibile; è necessario premere la freccia in basso e Invio mentre viene visualizzato all'avvio (per 30 secondi, in modo predefinito).

A partire da Debian Stretch (Debian 9) l'installazione per esperti, la modalità di ripristino e l'installazione automatica sono disponibili anche con il supporto per l'accessibilità. La procedura è leggermente differente per i sistemi UEFI e BIOS: i sistemi BIOS richiedono la pressione del tasto Invio dopo ogni comando, i sistemi UEFI no. Di conseguenza usare le istruzioni sotto nel modo appropriato. Dopo che l'avvio è stato completato i sistemi BIOS produrranno un "bip" sonoro, mentre i sistemi UEFI due. Per accedere a queste funzionalità avanzate, è necessario prima entrare nel sottomenu "Avanzato" dal menu di avvio digitando una "a" (e premere Invio se su sistemi BIOS, mentre non va fatto per i sistemi UEFI). Per abilitare il parlato, premere 's' (e di nuovo Invio se su sistemi BIOS, mentre non va fatto per i sistemi UEFI) abiliterà la gestione del parlato. Sono poi disponibili varie scorciatoie: 'x' per installazione per esperti, 'r' per modalità di ripristino o 'a' per installazione automatizzata. Ancora una volta è necessario premere Invio dopo questi comandi quando si usa un sistema BIOS. Inoltre tutto questo vale per una disposizione di tastiera qwerty.

A partire da Debian Buster (Debian 10), il tasto 'd' può essere usato nel menu di avvio per abilitare il tema a contrasto elevato (scuro).

Alcune schede sonore Intel recenti richiedono firmware non-free perciò può essere necessario utilizzare l'immagine non ufficiale che lo include (da https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current/amd64/).

Se il volume del parlato è troppo basso si può premere BlocMaiusc-2 per renderlo più alto (e BlocMaiusc-1 per abbassarlo). Se si preferisce una maggiore velocità del parlato si può premere BlocMaiusc-6 (o BlocMaiusc-5 per rallentarlo).

Quando l'installazione viene fatta usando il braille o la sintesi vocale, gli stessi parametri per il braille e la sintesi vocale saranno abilitati sul sistema installato. Verrà inoltre abilitato Orca per l'account utente creato al momento dell'installazione.

La sintesi vocale dovrebbe comparire all'interno dell'installatore. Se non lo fa, fornire sufficienti informazioni per scoprire dove sia il problema.

Come prima cosa, che è anche la più importante, è necessario l'URL esatto da cui è stata scaricata l'immagine dell'installatore, altrimenti gli autori non potranno mai essere i grado di trovare il bug che potrebbe esistere solamente nell'immagine che è stata usata (e che deve essere corretta!)

Premere Alt-F2 all'interno dell'installatore per passare ad una console, premere Invio per avviare la shell e digitare

amixer -c 0 scontrols

amixer -c 1 scontrols

cat /proc/asound/cards

echo /sys/class/sound/card*/id

cat /sys/class/sound/card*/id

lsmod

dmesg | grep firmware

cat /var/run/espeakup.card

amixer -c 0 contents

amixer -c 1 contents

(per queste, le sezioni importanti da riportare sono "Master", "Headphone", "Speaker", "PCM")

inviare quindi l'output a debian-accessibility@lists.debian.org in modo da verificare se sia stata rilevata una scheda audio e quali siano i nomi dei livelli dei volumi. Se compare solo un messaggio di errore, o se non si hanno le risorse per poter leggere la console di shell, si provi a far funzionare l'audio con un CD live e inviare l'output degli stessi comandi precedenti a debian-accessibility@lists.debian.org, in modo che sia possibile sapere quale driver manca.

Se la sintesi del parlato non viene attivata al riavvio nel sistema installato sono necessarie informazioni per scoprire dove è il problema o bug.

Inviare a debian-accessibility@lists.debian.org i risultati dello stesso comando più in alto più

cat /etc/default/espeakup

Per prememorizzare alcune opzioni di avvio e quindi evitare di scriverle a tentoni, si può rimasterizzare l'immagine utilizzando lo script di seguito:

https://people.debian.org/~sthibault/remaster-append.sh

La verifica dell'accessibilità nell'installatore Debian è documentata nella pagina dell'accessibilità dell'installatore Debian.

Accessibilità nei LiveCD

Le immagini dei LiveCD con GNOME https://www.debian.org/CD/live/ hanno la gestione per il lettore dello schermo. Al menu di avvio dovrebbe essere emesso un bip sonoro per indicare che è necessario digitare Invio. Poi il desktop si avvia (DA FARE: aggiungere un bip) e si può premere Super-Alt-s (alias windows-alt-s) per avviare Orca.

Braille

Il supporto per i dispositivi braille è gestito da brltty, che viene avviato come demone sullo sfondo e che funziona con la maggior parte dei display, connessi tramite porta seriale, USB o Bluetooth. Sul sito web di brltty (https://brltty.app/) si possono trovare dettagli riguardanti i dispositivi braille gestiti.

Brltty fornisce anche la gestione della lettura dello schermo per la console testuale Linux. La gestione della lettura dello schermo per il desktop Gnome e altri ambienti desktop viene fornita da Orca; non controlla i dispositivi braille direttamente, ma si connette a brltty attraverso BrlAPI per farlo. Se Orca non riesce a produrre output braille, assicurarsi che:

Alcuni dispositivi braille hanno una tastiera braille integrata. Brltty permette la simulazione della pressione di tasti nella console testuale. Per una corretta simulazione in Xorg (in particolare la gestione di disposizioni non qwerty), si dovrebbe installare il pacchetto brltty-x11; questo fornisce xbrlapi, che dovrebbe essere avviato all'avvio della sessione di Xorg, prima di avviare Orca.

È anche possibile usare la tastiera del PC come tastiera braille. In /etc/brltty.conf, decommentare key-table keypad e riavviare brltty. È possibile in seguito commutare al braille premendo Ins+asterisco sul tastierino numerico e tornare all'inserimento normale premedo Ins+barra sul tastierino numerico. L'impostazione predefinita è di usare i tasti asdfjkl, come tasti braille, ma si può modificare /etc/brltty/kbd-braille.kti in modo da usare altri tasti.

È inoltre possibile digitare modelli braille Unicode (non lettere, braille puro, mostrato come tale sullo schermo) grazie al pacchetto console-braille, che comprende layout di tastiera e il programma setbrlkeys per caricarli facilmente.

Brltty ha anche una gestione base della lettura dello shermo grafico, che è limitata a campi di testo (ad esempio il widget principale di edit o il terminale gnome-terminal). Tale gestione è fornita dal pacchetto brltty-x11 e può essere avviata con il comando

brltty -b ba -x a2

all'avvio della sessione Xorg. L'opzione -b ba indica di connettersi via BrlAPI a brltty già in esecuzione che pilota l'effettivo dispositivo braille. L'opzione -x a2 seleziona il driver At-Spi, che effettua la lettura dello schermo grafico.

Sintesi vocale

Debian fornisce molti software per sintesi vocale; si può trovare un elenco nell'attività di sintesi vocale in Debian Blend. I lettori dello schermo possono spesso usare direttamente un qualche sistema di sintesi vocale, oppure usare interfacce generiche, come speech-dispatcher. speech-dispatcher gira come demone. I lettori dello schermo vi si possono connettere per emettere il parlato. speech-dispatcher ha poi svariati moduli per gestire diversi sistemi di sintesi vocale.

Alcuni sono liberi e gratuiti:

Alcuni sono gratis ma non sono liberi:

Altri non sono liberi:

I sistemi di sintesi vocale (specialmente dalla riga di comando) sono noti per avere problemi con pulseaudio. È raccomandato eseguire pulseaudio come root o disabilitare o rimuovere pulseaudio come descritto in it/accessibility#Eseguire_Pulseaudio_come_root o it/accessibility#Disabilitare_Pulseaudio.

Console testuale

Nella console testuale è supportata la sintesi software del parlato. Ci sono tre lettori dello schermo in Debian che possono farne uso: speakup, brltty e fenrir.

BRLTTY

BRLTTY offre un supporto maturo per la lettura dello schermo della console, compreso il parlato. Si può scegliere se usare direttamente espeak o via speech-dispatcher. Possono essere installati, rispettivamente, con i pacchetti brltty-espeak e brltty-speechd.

È necessario attivare il driver del parlato nella configurazione di BRLTTY. Aprire /etc/brltty.conf e modificarlo.

1. Quando si usa brltty-espeak, decommentare o inserire la riga seguente:

speech-driver es

2. Quando si usa brltty-speechd, decommentare o inserire la riga seguente:

speech-driver sd

Successivamente ricaricare BRLTTY usando sudo service brltty restart.

Speakup

Speakup è un lettore dello schermo nel kernel per la console testuale Linux. Vedere la sua Guida utente di Speakup

Il metodo più semplice per utilizzare espeakup è usando il pacchetto espeakup. Esso connette direttamente il sintetizzatore software di espeak con il lettore dello schermo nel kernel. È necessario aggiungere

speakup_soft

a /etc/modules per far sì che venga caricata la parte kernel in modo che espeakup possa funzionare. Si può usare il file di configurazione (/etc/default/espeakup) per impostare sia la voce sia la scheda sonora da usare.

Un altro modo di usare Speakup è l'installazione di speech-dispatcher e speechd-up. speech-dispatcher deve essere avviato in modalità generale per il sistema: /etc/default/speech-dispatcher deve contenere

RUN=yes

Vedere la sezione su speech-dispatcher per ulteriori dettagli.

Sono supportati nella console testuale anche sistemi di sintesi vocale hardware attraverso i driver speakup. Tuttavia, prima di Debian Buster (10) questo richiedeva la disabilitazione del driver della porta seriale 8250 impostando la variabile seguente in /etc/default/grub:

GRUB_CMDLINE_LINUX="8250.nr_uarts=0"

si può quindi, ad esempio, aggiungere quando segue in /etc/modules per fare caricare un modulo speakup:

speakup_dectlk

Speech-Dispatcher

ToDo: needs to be writen. Document:

Inoltre se pulseaudio non è installato, è necessario far sì che speech-dispatcher ripieghi su alsa: in /etc/speech-dispatcher/speechd.conf, decommentare la riga AudioOutputMethod e impostarla in questo modo:

AudioOutputMethod "alsa"

Testare Speech-Dispatcher

Si può verificare se speech-dispatcher funziona eseguendo

spd-say "test test"

O, se si desidera testare un modulo specifico, come espeak:

spd-say -o espeak "test test"

e se questi non producono audio, controllare il file di log in $XDG_RUNTIME_DIR/speech-dispatcher/log, che può essere probabilmente uno tra /run/user/1000/speech-dispatcher/log, ~/.cache/speech-dispatcher/log, /tmp/runtime-$USER/speech-dispatcher/log (dove si dove sostituire $USER con l'effettivo nome utente).

Livello dell'audio

A partire da Stretch (Debian 9) i livelli audio vengono reimpostati ad un valore predefinito durante l'avvio. Se si desidera cambiare tale valore, impostare i livelli audio al valore desiderato (es. usando alsamixer dal pacchetto alsa-utils package) ed eseguire come root

alsactl store

Strumenti per stampa a rilievo

Gli strumenti per stampe a rilievo possono facilmente essere usati in modalità testuale attraverso i driver di CUPS.

A partire da Stretch (Debian 9) sono stati aggiunti driver dedicati al pacchetto cups-filters. Vedere /usr/share/doc/cups-filters/README.gz per i dettagli, ma fondamentalmente si può aggiungere uno strumento per stampa a rilievo proprio come una stampante.

Nella selezione del driver, scegliere il produttore "Generico" e scegliere il modello "Generic Braille embosser" (Stampante Braille generica). Ciò fornisce diverse opzioni per impostare formattazione, numeri di pagina, ecc. Gli strumenti per stampa braille Index hanno un proprio driver elencato nel produttore "Index". Questo fornisce opzioni migliori per la formattazione del testo e la stampa a rilievo di grafica.

Fino a Jessie (Debian 8) è disponibile solo il driver testuale generico:

Nel pannello delle stampanti (a cui si accede attraverso l'icona della stampante nel pannello di controllo o direttamente andando col browser su http://localhost:631/ e cliccando su Amministrazione), aggiungere una stampante, scegliere la connessione (USB, con porta parallela, ecc.), scegliere una descrizione a proprio piacimento e per la selezione del driver scegliere il produttore "Generico" e la voce "Stampante solo testo generica".

Per stampare basta poi eseguire

lp test.txt

Se il proprio strumento per stampe a rilievo non lo fa automaticamente, è necessario riformattare il proprio testo in base alla larghezza della carta usando il comando fmt. Per esempio, per impostare una larghezza di 40 colonne usare:

fmt -40 < test.txt > test2.txt
lpr test2.txt

Accessibilità al boot

Bip sonori udibili

È possibile far sì che GRUB emetta un bip quando è pronto a ricevere input da tastiera: in /etc/default/grub, decommentare o aggiungere la riga seguente:

GRUB_INIT_TUNE="480 440 1"

ed eseguire update-grub

Scorciatoie da tastiera

È possibile assegnare scorciatoie da tastiera a voci del menu di avvio.

Per esempio, per rendere la lettera "a" una scorciatoia per una voce aggiungere --hotkey=a subito dopo la parola menuentry di quella voce:

menuentry --hotkey=a 'Linux' {
   ...
}

Questo, tuttavia, non funziona per le voci di avvio generate automaticamente (da update-grub). Per aggirare il problema si possono creare voci manuali in /etc/grub.d/40_custom e assegnare lì scorciatoie. Se non si è sicuri, si può cercare menuentry in /boot/grub/grub.cfg e copiarlo come modello.

Accessibilità completa

Un'opzione per avere un bootloader completamente accessibile è usare petitboot. Il principio è lasciare che il bootloader (ad esempio Grub) avii normalmente Linux ma facendo sì che vengano avviati petitboot e brltty. Petitboot fornisce l'elenco dei kernel da avviare e permette di appendere parametri. Usa quindi kexec per avviare il kernel scelto con le opzioni desiderate.

Tuttavia questo metodo non supporta Windows, solo Linux.

Per cominciare, installare il pacchetto petitboot, creare un file /boot/petitboot.sh che ad esempio contenga:

   1 #!/bin/sh
   2 /bin/mount none /var -t tmpfs
   3 /bin/mount none /tmp -t tmpfs
   4 /etc/init.d/udev start
   5 /usr/sbin/pb-discover &
   6 /sbin/brltty
   7 /usr/sbin/petitboot-nc -l /tmp/log

Renderlo eseguibile:

chmod +x /boot/petitboot.sh

Quindi creare una voce di boot per petitboot copiando dal file /boot/grub/grub.cfg una voce (che si sa funzionante) alla fine del file /etc/grub.d/40_custom, appendendo init=/boot/petitboot.sh alla riga linux (che specifica il file vmlinux) e chiamandola petitboot. Si può anche scegliere un tasto scorciatoia per la voce. Qualcosa di simile a:

menuentry 'petitboot' --hotkey=p --class debian --class gnu-linux --class gnu --class os {
    ...
    echo 'Loading Linux <version> ...'
    linux /boot/vmlinuz-<version> root=blabla ro init=/boot/petitboot.sh
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd.img-<version>
}

È consigliabile conservare in un posto sicuro una copia di backup che funziona e utilizzare quel percorso al posto di quello fornito dal file di Debian, in caso non dovesse più funzionare in seguito a un aggiornamento.

Infine eseguire update-grub per aggiornare /boot/grub/grub.cfg.

In questo modo, quando all'avvio si ottiene il bip di grub, si ha l'opzione di premere il tasto "Fine" poi "Invio", oppure premere la scorciatoia "p", e in questo modo si avvieranno Linux, brltty e petitboot.

Se dopo un periodo di test ci si sente abbastanza sicuri che tutto funzioni, si può rendere questo comportamento predefinito in grub, impostanto in /etc/default/grub

GRUB_DEFAULT="petitboot"

e eseguendo nuovamente update-grub. Si avrà comunque ancora la possibilità, al bip di grub, di premere "Home" poi "Invio" per avviare senza petitboot.

Ingrandimento per Grub

Grub non include l'ingrandimento, ma la dimensione del tipo di carattere può essere facilmente aumentata generando un file per tipo di carattere:

grub-mkfont -s 60 -o /boot/grubfont.pf2 /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf

La dimensione 60 può essere cambiata per corrispondere meglio alle proprie necessità.

Poi aggiungere a /etc/default/grub la riga

GRUB_FONT="/boot/grubfont.pf2"

per usare effettivamente il tipo di carattere.

Notare che questo può funzionare solamente nell'output grafico, perciò assicurarsi che la riga seguente non sia commentata:

GRUB_TERMINAL=console

È necessario rieseguire update-grub dopo aver modificato /etc/default/grub. Non è necessario rieseguirlo quando si riusa grub-mkfont per impostare una diversa dimensione per il tipo di carattere.

Tipi di carattere in console

I caratteri della console testuale Linux possono essere regolati per ottenere una migliore accessibilità: in /etc/default/console-setup, si può impostare FONTFACE a Terminus, per rendere possibile la sezione di caratteri più grandi come, persino, FONTSIZE=32x16. Ciò ovviamente riduce anche la quantità di testo mostrato sullo schermo. Per regolare in dettaglio la quantità esatta del testo mostrato sullo schermo, si possono impostare SCREEN_WIDTH e SCREEN_HEIGHT.

Il pacchetto console-braille fornisce tipi di carattere braille, utilizzabili per digitare modelli braille unicode e mostrare braille sullo schermo. Ciò è incompatibile con l'utilizzo di FONTFACE, è necessario specificare sia il tipo di carattere normale sia il braille nella variabile FONT, vedere l'esempio in /etc/default/console-setup.

Un'altra possibilità è quella di usare fbterm che ha un'opzione -s per generare tipi di carattere di grandi dimensioni:

fbterm -s 40

Fbterm tuttavia non è compatibile con brltty e speakup.

Interfaccia utente grafica (GUI)

Attualmente si può avere accesso ai desktop GNOME, MATE, XFCE, LXDE, LXQt tramite Orca. Per maggiori dettagli leggere la pagina su Orca, la documentazione di Orca in GNOME e la sezione sull'accessibilità dell'Aiuto di GNOME. Per Gnome 3 è utile leggere la guida alle scorciatoie di tastiera della shell GNOME.

Per inziare, una cosa che è necessario sapere è che il menu delle applicazioni può essere aperto con la scorciatoia Alt-F1.

Il modo più semplice per installare questi ambienti utente grafici è quello di installare il task corrispondente, per esempio:

apt install task-gnome-desktop

Un altro modo, più leggero, è quello di installare Xorg e il metapacchetto dell'ambiente a mano, ma probabilmente mancheranno diverse cose. Per esempio:

apt-get install xorg xserver-xorg-video-all xserver-xorg-input-all desktop-base menu gnome-core

E assicurarsi anche di avere ora installato per accedervi:

apt-get install orca

Ogni desktop ha un suo modo per abilitare l'accessibilità. Lo si può anche fare a mano: vedere la sezione su consigli e trucchetti in seguito.

Per l'accessibilità in applicazioni Qt4 in KDE, come il riproduttore vlc, deve essere installato il pacchetto qt-at-spi e la variabile d'ambiente QT_ACCESSIBILITY deve essere impostata a 1:

export QT_ACCESSIBILITY=1

(questo dovrebbe essere già fatto da /etc/X11/Xsession.d/90qt-a11y)

Notare: non tutte le applicazioni scritte usando i toolkit gtk o qt hanno l'accessibilità, anche quando è abilitata l'accessibilità. Per esempio spotify rimane senza accessibilità.

Notare: la configurazione predefinita di speech-dispatcher usa pulseaudio, che si rifiuta di essere eseguito come root. Ciò significa che quando si fa il login come root, la sessione grafica non ha l'output vocale. Un modo per aggirare il problema è configurare speech-dispatcher per l'uso dell'output ALSA: in /etc/speech-dispatcher/speechd.conf impostare la seguente riga:

AudioOutputMethod= "alsa"

Temi di colori per accessibilità

Per abilitare il contrasto elevato o invertire i colori esiste un pacchetto chiamato gnome-accessibility-themes, in cui sono inclusi temi diversi; lo si può installare con:

aptitude install gnome-accessibility-themes

Possono essere scelti nel menu delle preferenze di GNOME.

I colori possono essere invertiti anche usando xcalib, usando:

xcalib -i -a

invertirà i colori di tutto il desktop.

I colori possono essere regolati nell'interfaccia di configurazione apt/debconf, aggiungendo per esempio la seguente riga a /root/.bashrc:

export NEWT_COLORS='root=,black roottext=white,black window=,black textbox=white,black border=white,black button=white,black checkbox=white,black listbox=white,black'

Daltonismo

Per gli affetti da daltonismo, il programma KDE magnifier include opzioni per cambiare il colore solamente di una regione (non tutto lo schermo). Ha impostazioni per protanopia, deuteranopia, titranopia e acromatopsia.

Rendere più grande il cursore

Installare il pacchetto big-cursor dovrebbe rendere il cursore più grande in molti casi.

Nel desktop MATE, si può usare il comando seguente per impostare un cursore più grande:

gsettings set org.mate.peripherals-mouse cursor-size 48

(o con valori anche più grandi di 48)

Può essere configurato un cursore sia bianco, sia nero:

Supporto per l'ingrandimento dell'intero schermo

Ci sono diverse opzioni per l'ingrandimento di tutto lo schermo: scegliere quella con cui ci si trova meglio.

Opzione 1: Compiz

La gestione per l'ingrandimento migliorato viene fornita dal plugin ezoom di Compiz.

Opzione 2: Risoluzione

Il modo più semplice è abbassare la risoluzione dello schermo: xrandr -s 800x600

Per reimpostare la risoluzione dello schermo usare: xrandr -s 0

Opzione 3: Scorrimento

È possibile fare un ingrandimento senza cambiare la risoluzione dello schermo. Solo una parte dello schermo sarà visibile, perciò si può muovere il mouse al bordo dello schermo per far scorrere il contenuto.

Per abilitare lo scorrimento: "xrandr --output VGA1 --mode 640x480 --fb 1280x1024 --panning 1280x1024"

Per disabilitare lo scorrimento usare: "xrandr -s 0"

Opzione 4: Cambiare DPI

A method which works for some toolkits is to tell the Xserver that it had a higher resolution display than it really has: Un metodo che funziona con alcuni toolkit è quello di dire all'Xserver che ha un monitor a più alta risoluzione di quello che ha in realtà:

Per cambiare DPI usare: "xrandr --dpi 200"

che fondamentalmente fa sì che tutto sia due volte più grande (200 dpi invece dei 96 dpi, o persino 75 dpi, standard). È bene notare che ciò funziona con Qt. Per gtk2, si può mettere quanto segue nel file ~/.gtkrc-2.0:

gtk-font-name = "DejaVu Sans 20"
gtk-cursor-theme-size = 64
gtk-icon-sizes = "gtk-menu=48,48 : gtk-button=48,48 : gtk-dialog = 128,128"

style "default"
{
        GtkRange::slider_width = 56
        GtkRange::stepper_size = 56
        GtkPaned::handle-size = 20
        GtkCheckMenuItem::indicator-size = 48
        GtkCheckButton::indicator-size = 48
        GtkOptionMenu::indicator-size = 48
        GtkTreeView::indicator-size = 48
        GtkTreeView::expander-size = 40
}

class "GtkWidget" style "default"

Per gtk3, si può impostare questa variabile d'ambiente:

export GDK_SCALE=2

Altri toolkit possono avere altre configurazioni. Idealmente ottengono semplicemente il DPI...

Opzione 5: Ambiente desktop

Le soluzioni precedenti funzionano per qualsiasi sistema Debian. Tuttavia, a seconda dell'ambiente desktop installato, si può anche avere un facile modo grafico per abilitare lo zoom. Per esempio, Gnome-Shell e Cinnamon includono entrambi un icona per Accesso universale accessibility/universalaccess.svg nel loro dock con un'opzione di menu per abilitare la funzionalità completa di ingrandimento e scorrimento. L'ingranditore di Cinammon, tuttavia, non gestisce il tracciamento del focus mentre quello di gnome-shell lo fa.

Lente di ingrandimento

Alcune persone preferiscono usare una lente di ingrandimento virtuale, invece di ingrandire l'intero schermo. La risoluzione dello schermo non viene modificata, insvece viene aggiunta una piccola finestra che mostra una versione ingrandita di una parte dello schermo. Solitamente si può scegliere la parte da ingrandire con il trascinamento all'interno della finestra o facendo in modo che il programma ingrandisca sempre la regione circostante il mouse. Ancora una volta ci sono diverse opzioni a disposizione, si può scegliere una tra quelle qui di seguito.

Opzione 1: Kmag

Il KDE screen magnifier può essere installato con apt-get install kmag.

Kmag è semplice da usare. Il lato negativo è che occupa più spazio su disco (>200MiB) se non è già installato KDE. Sebbene progettato per KDE, Kmag funziona con qualsiasi ambiente desktop, inclusi GNOME e Cinnamon.

Opzione 2: Virtual Magnifying Glass

Se si hanno problemi a leggere le parole solo in maniera occasionale, si può preferire VMG (Virtual Magnifying Glass). Il suo vantaggio è che normalmente non è visibile, a differenza di programmi come kmag che creano una finestra che copre sempre parte dello schermo. Cliccando sull'icona di VMG nel vassoio viene mostrata una lente di ingrandimento intorno al puntatore del mouse. Spostando il mouse, si sposta la lente. Un clic in qualsiasi punto chiude il programma. (Suggerimento: per cambiare il livello di ingrandimento far scorrere la rotella del mouse.)

VMG è disponibile in Stretch (Debian 9) e successive. Può essere installato senza problemi anche in sistemi con Jessie; il file .deb di può ottenere da https://packages.debian.org/sid/vmg e può essere installato usando

dpkg -i vmg_3.7.1-1_amd64.deb
apt-get -f install

Controllo del mouse dalla tastiera

Si può usare il tastierino numerico per spostare il mouse. Per farlo è necessario abilitare l'opzione keypad:pointerkeys di xkb. Ciò può essere fatto in maniera temporanea con:

setxkbmap -option keypad:pointerkeys

e in modo permanente aggiungendo la riga

Option "XkbOptions" "keypad:pointerkeys"

a /etc/X11/xorg.conf.d/00-keyboard.conf

Per abilitarlo effettivamente si deve premere Maiusc-?BlocNum. I tasti del tastierino numerico sposteranno il mouse e il tasto 5 simula il clic del mouse. '/', '*' e '-' possono essere usati per commutare ai pulsanti sinistro, centrale e destro. '0' e 'canc' premono e rilasciano i pulsanti. Ripremere Maiusc-?BlocNum per ottenere nuovamente il normale tastierino numerico.

Accessibilità in GDM

Il display manager grafico GDM permette l'accessibilità, basta che venga abilitato orca. In Lenny però la versione di GDM installata in modo predefinito non gestisce questa funzionalità; perciò per Lenny è necessario come prima cosa rimuovere GDM e poi installare invece GDM3. Squeeze (Debian 9) e successive usano già gdm3 in modo predefinito.

Si può poi abilitare orca in quattro modi:

su -s /bin/sh -c "gconftool-2 --type bool --set /desktop/gnome/applications/at/screen_reader_enabled true" Debian-gdm

oppure per Wheezy (Debian 7) e successive:

su -s /bin/sh -c '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' Debian-gdm || true

Accessibilità in lightdm

Il programma di inizio sessione grafico lightdm gestisce l'accessibilità, deve solo essere abilitato orca. Creare la directory /etc/xdg/lightdm/lightdm.conf.d, poi creare il file /etc/xdg/lightdm/lightdm.conf.d/80_orca-dm-wrapper.conf e scrivervi quanto segue:

[SeatDefaults]
greeter-wrapper=/usr/bin/orca-dm-wrapper

A partire da Debian 11, Orca può anche essere avviata al volo usando la scorciatoia da tastiera F4.

Accessibilità in Libreoffice

Per rendere LibreOffice accessibile è necessario installare libreoffice-gtk3.

Accessibilità in applicazioni a 32bit

Se si sta usando un sistema a 64 bit e si usano alcune applicazioni a 32 bit, avere libatk-adaptor installato non sarà sufficiente ad rendere accessibili le applicazioni a 32 bit: è necessario installare anche la versione a 32 bit del pacchetto. Se non lo si è ancora fatto, abilitare l'installazione di pacchetti i386, come documentato in grande dettaglio nella pagina del Multiarch HOWTO:

dpkg --add-architecture i386

Poi aggiornare il database di APT:

apt-get update

e si può ora installare la versione a 32 bit del bridge GTK:

apt-get install libatk-adaptor:i386 libgail-common:i386

e del bridge Qt:

apt-get install qt-at-spi:i386

Accessibilità in Java

Per accedere alle applicazioni Java bisogna installare il pacchetto libatk-wrapper-java. Purtroppo, nelle versioni Debian 11 e 12, OpenJDK ha l'accessibilità disabilitata in modo predefinito e deve essere ri-abilitata a mano. Il percorso varia leggermente a seconda della versione utilizzata, cercare in /etc una directory che inizia con Java. Se la si trova, adattare il percorso seguente e aprirlo in un editor di testo: /etc/java-17-openjdk/accessibility.properties e decommentare la riga seguente (rimuovendo il carattere # ad inizio riga):

assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Inoltre solo l'aspetto e lo stile GTK hanno la gestione dell'accessibilità, perciò nel file /etc/java-6-openjdk/swing.properties per Debian 7 (Wheezy) o /etc/java-7-openjdk/swing.properties per Debian 8 (Jessie) è necessario decommentare la riga seguente (deve essere rimosso il carattere "#" iniziale):

swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel

Aggiornare la tecnologia assistiva At-Spi

La tecnologia assistiva At Spi è la base per l'accessibilità dell'interfaccia grafica, inclusa Orca. Per sfruttare i suoi più recenti miglioramenti è spesso utile provare una versione più recente. Debian, una volta rilasciata, non si aggiorna alle versioni più recenti del software. Un'eccezione è il servizio backports che fornisce per un sistema stabile i pacchetti selezionati nelle versioni più recenti.

Per un sistema Debian 11 "Bullseye" aggiungere quanto segue al proprio /etc/apt/sources.list:

deb http://ftp.debian.org/debian bullseye-backports main

o usare extrepo:

sudo apt install extrepo
sudo extrepo enable debian_backports

ed eseguire

apt-get update
apt-get install at-spi2-core/bullseye-backports gir1.2-atspi-2.0/bullseye-backports gir1.2-atk-1.0/bullseye-backports libatk-adaptor/bullseye-backports python3-pyatspi/bullseye-backports orca/bullseye-backports libatk-wrapper-java-jni/bullseye-backports libatk-wrapper-java/bullseye-backports

Se si ha necessità dei pacchetti di sviluppo (es. per compilare Orca), si può eseguire:

apt-get install libatspi2.0-dev/bullseye-backports libatk-bridge2.0-dev/bullseye-backports

Per un sistema Debian 10 "Buster" aggiungere quanto segue al proprio /etc/apt/sources.list:

deb http://ftp.debian.org/debian buster-backports main

ed eseguire

apt-get update
apt-get install at-spi2-core/buster-backports gir1.2-atspi-2.0/buster-backports gir1.2-atk-1.0/buster-backports libatk-adaptor/buster-backports python3-pyatspi/buster-backports orca/buster-backports libatk-wrapper-java-jni/buster-backports libatk-wrapper-java/buster-backports

Se si ha necessità dei pacchetti di sviluppo (es. per compilare Orca), si può eseguire:

apt-get install libatspi2.0-dev/buster-backports libatk-bridge2.0-dev/buster-backports

Per un sistema Debian 9 "Stretch" aggiungere quanto segue al proprio /etc/apt/sources.list :

deb http://ftp.debian.org/debian stretch-backports-sloppy main

ed eseguire

apt-get update
apt-get install at-spi2-core/stretch-backports-sloppy gir1.2-atspi-2.0/stretch-backports-sloppy gir1.2-atk-1.0/stretch-backports-sloppy libatk-adaptor/stretch-backports-sloppy python3-pyatspi/stretch-backports-sloppy orca/stretch-backports-sloppy libatk-wrapper-java-jni/stretch-backports-sloppy libatk-wrapper-java/stretch-backports-sloppy

Se si ha necessità dei pacchetti di sviluppo (es. per compilare Orca), si può eseguire:

apt-get install libatspi2.0-dev/stretch-backports-sloppy libatk-bridge2.0-dev/stretch-backports-sloppy

Da ultimo riavviare la sessione grafica per ottenere l'esecuzione del nuovo software o riavviare il sistema.

Virtualizzazione

Gli strumenti di virtualizzazione sono più o meno accessibili.

Xen

Xen usa un'interfaccia a riga di comando, perciò è naturalmente accessibile. L'impostazione di un ambiente Xen tuttavia non è molto semplice. Vedere le pagine su Xen.

QEMU/KVM

QEMU/KVM può essere eseguito in modalità testuale, usando l'opzione -curses. Naturalmente quando il guest è in modalità grafica, l'interfaccia testuale non mostra nulla di utile e sarà comunque necessario un lettore di schermo all'interno del guest.

Per far sì che il lettore di schermo emetta parlato, può essere usata l'opzione -soundhw ac97 per fornire una scheda audio virtuale al guest.

Per permettere al lettore dello schermo di emettere braille, può essere usata l'opzione -usbdevice braille per fornire al guest un dispositivo Braille Baum virtuale. Il rendering del braille verrà fatta attraverso il demone host brltty.

Un'altro modo per avere il braille è un passare attraverso un dispositivo braille USB. Per esempio, se sull'host lsusb riporta il dispositivo braille come:

Bus 001 Device 002: ID 0403:fe72 Baum

Fornendo l'opzione -usbdevice host:0403:fe72 si darà il dispositivo USB al guest, cioè ci si deve prima assicurare che niente, ad es. brltty, nell'host lo usi, poi eseguire qemu/kvm e quindi un demone brltty all'interno del guest può accedere al dispositivo fisico, come se fosse connesso alla macchina virtuale.

Naturalmente, se si hanno due dispositivi braille USB, uno può essere usato da un brltty in esecuzione sull'host e l'altro da un brltty in esecuzione nel guest.

Risoluzione di problemi

Nessun parlato dopo il login in GNOME

Se Orca dice solo "Welcome to Orca" e sembra poi diventare silenzioso, allora si è di fatto in un desktop vuoto. Per spostare il focus, premere Alt+F1 per il menu o Alt+F2 per il dialogo di esecuzione.

Nessun suono

In casi rari il sistema può avviarsi con il volume troppo basso o con la scheda audio in modo muto. I comandi seguenti possono risolvere questo problema:

amixer set Master 50%+
amixer set PCM 50%+
amixer set Master unmute

Notare: 50% è un valore d'esempio. Si può usare qualsiasi altro valore sia appropriato al proprio caso.

BRLTTY/braille si ferma dopo l'avvio

In Wheezy (Debian 7) è stato aggiunto un programma chiamato modemmanager che analizza i dispositivi seriali (ed eventualmetne quelli usb2serial) per rilevarli come modem. Sfortunatamente ciò distrugge la comunicazione con i display braille connessi a tali porte. Basta usare

apt-get remove modemmanager

per risolvere questo problema.

Sessione GNOME 3 inaccessibile / Nessuna modalità di ripiego

Può succedere che ci si ritrovi in una sessione di GNOME 3 con accessibilità non adeguata. Per esempio, se si preme alt+F1 per il menu, non viene enunciato nulla. Questo è correlato con la GNOME shell ancora non perfettamente accessibile. Vedere di seguito come risolvere il problema.

Debian Jessie (GNOME >= 3.8)

In Debian Jessie con una versione di GNOME version >= 3.8, c'è una modalità chiamata GNOME classic. Usa la GNOME shell direttamente per ottenere un'esperienza utente simile a GNOME 2. Quando si usa startx, per utilizzare questa modalità si può impostare il proprio .xinitrc come segue:

if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

exec gnome-session --session=gnome-classic

Problemi con Xorg

Xorg può non avviarsi se non c'è uno schermo fisico collegato alla scheda video. Questo problema dovrebbe essere segnalato al driver video usato, citando questo messaggio di posta per le argomentazioni a favore della risoluzione del problema.

Nel frattempo si può usare il driver dummy, che non fa uso di alcuna scheda grafica e permette comunque al desktop Gnome di avviarsi, ... Installare il pacchetto xserver-xorg-video-dummy e aggiungere le righe seguenti a /etc/X11/xorg.conf (crearlo se non esiste):

Section "Device"
    Identifier "noscreendevice"
    Driver     "dummy"
EndSection

Il supporto tuttavia non funziona a partire da (Debian 6), vedere 696965, la patch seguente può essere applicata a Xorg per risolvere il problema:

diff --git a/src/dummy_driver.c b/src/dummy_driver.c
index 6062c39..566a006 100644
--- a/src/dummy_driver.c
+++ b/src/dummy_driver.c
@@ -813,7 +813,7 @@ dummyDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op, poin
     switch (op) {
        case GET_REQUIRED_HW_INTERFACES:
            flag = (CARD32*)ptr;
-           (*flag) = HW_SKIP_CONSOLE;
+           (*flag) = 0;
            return TRUE;
        default:
            return FALSE;

Eseguire Pulseaudio come root

Per potere avere il parlato sia nella console testuale sia nelle sessioni grafiche si può eseguire pulseaudio come root. Questo non è raccomandato dagli autori originali di pulseaudio perciò è necessario modificare qualcosa:

mettere quanto segue in /root/.config/pulse/client.conf :

default-server = unix:/tmp/pulse.sock
autospawn = no

e mettere quanto segue in $HOME/.config/pulse/default.pa

.include /etc/pulse/default.pa
load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse.sock

Disabilitare Pulseaudio

Pulseaudio può causare problemi quando è in esecuzione un lettore di schermo per console come root che sta usando ALSA, come per esempio Speakup o BRLTTY. A parte eseguire Pulseaudio come root, può anche essere disabilitato.

Ci sono due opzioni disponibili. La prima funziona per MATE o un ambiente desktop ancora più leggero rimuovendo il pacchetto:

sudo apt remove pulseaudio

Per altri ambienti desktop come GNOME è impossibile rimuovere Pulseaudio. Per disabilitarlo bisogna fare quanto segue:

1. Eseguire il comando

dpkg-divert --add --rename /usr/share/alsa/pulse-alsa.conf

2. Dire a pulseaudio di non avviarsi automaticamente. Modificare /etc/pulse/client.conf e cercare una riga simile a:

; autospawn = yes

e modificarla in

autospawn = no

Suggerimento: si dovrebbe riconfigurare Speech-Dispatcher per usare un metodo di output audio diverso. Modificare /etc/speech-dispatcher/speechd.conf e cambiare la riga

# AudioOutputMethod "pulse"

in

AudioOutputMethod "libao"

È necessario riavviare Speech-Dispatcher:

killall speech-dispatcher; speech-dispatcher

Se Speech-Dispatcher è configurato per girare a livello di sistema, il comando per riavviarlo:

systemctl restart speech-dispatcher

e si dovrebbe aggiungere root al gruppo audio usando sudo adduser root audio.

Consigli e trucchetti

speakup e le domande di configurazione del pacchetto

Quando si usa il lettore dello schermo speakup, il frontend predefinito per la configurazione del pacchetto non è comodo. Si può passare al frontend Readline in modo predefinito eseguendo

dpkg-reconfigure debconf

e scegliendo Readline. Si può anche scegliere il frontend per una sola sessione eseguendo

export DEBIAN_FRONTEND=readline

Accessibilità in chroot

Le applicazioni, per poter essere accessibili da una chroot, devono avere accesso al bus at-spi. Questo bus vive sia in /tmp sia in $HOME, perciò è necessario quanto segue in aggiunta alla consueta configurazione di at-spi dentro la chroot:

mount /tmp /where/the/chroot/is/tmp -o bind
mount /home /where/the/chroot/is/home -o bind

E, al solito, le variabili d'ambiente DISPLAY e XAUTHORITY devono essere impostate al valore che hanno al di fuori della chroot, per poter accedere al display X.

Schermo spento

Per allungare la durata della batteria o avere un po' di privacy, può essere utile spegnere lo schermo. Ci sono tre approcci, ma nessuno funziona con tutti i computer. Il secondo approccio richiede i privilegi dell'amministratore e il terzo è un po' convoluto.

  1. Installare il pacchetto brightnessctl e usare questi comandi:

    • Per spegnere il monitor: brightnessctl s 0%

    • Per accendere il monitor: brightnessctl s 100%

  2. Installare il pacchetto vbetool e usare questi comandi:

    • Per spegnere il monitor: sudo vbetool dpms off

    • Per accendere il monitor: sudo vbetool dpms on

    • È anche una buona idea (ma non è necessario) aggiungere un'impostazione al proprio file sudoers per permettere l'esecuzione di questo comando senza la richiesta della password. Aggiungere quanto segue in /etc/sudoers:

      user   ALL=(root) NOPASSWD: /usr/sbin/vbetool (dove "nome_utente" deve essere sostituito dal vero nome utente).

Prevenire la riattivazione automatica del monitor

Dopo un certo periodo di inattività o anche quando si passa da una console Linux a una sessione X, lo schermo verrà riattivato nuovamente alla pressione di un tasto. Per disattivare di nuovo automaticamente il monitor si può creare uno script. Per farlo aprire un file di testo con un editor di testo e inserire quanto segue:

while [ 1 ]; do
  sudo vbetool dpms off
  sleep 20
done

Invece di sudo vbetool dpms off, si può usare uno qualsiasi dei comandi dalle alternative descritte prima.

Successivamente salvare il file e renderlo eseguibile con

chmod u+x NOME_SCRIPT

(con l'effettivo nome file) ed eseguirlo sullo sfondo usando

./NOME_SCRIPT &

  1. Questo metodo è differente a seconda che sia usato in console o in X.
    • Console:
      • Per spegnere il monitor: setterm -blank force

      • Per accendere il monitor: setterm -blank poke

      • I comandi devono essere eseguiti direttamente nella console Linux. Quando si usa

        screen o tmux, l'output deve essere ridiretto alla TTY utilizzata, es. per tty1:
        sudo sh -c 'setterm -blank force > /dev/tty1'2

    • Interfaccia X11 grafica:
      Il seguente script permette di spegnere e riaccendere il display:

         1   #!/bin/sh
         2   output=$(xrandr | grep ' connected ' | awk '{print $1}' | head -1)
         3   screenSize=$(xrandr | awk 'BEGIN {foundOutput=0}
         4     / '$output' / {foundOutput=1}
         5     /\*\+/ {print $1}
         6     /^[^ ]/ {if(foundOutput) exit 0}')
         7    if [ "$screenSize" != "" ]; then
         8      xrandr --output $output --fb $screenSize --off
         9      espeak -v es "Monitor spento"
        10    else
        11      xrandr --output $output --auto
        12      espeak -v es "Monitor acceso"
        13    fi
      
      }}}

Effetti sonori nel desktop GNOME

Se si desiderano gli effetti sonori che aiutano a lavorare nel desktop GNOME, eseguire

sudo aptitude install freedesktop-sound-theme
gconftool-2 --type bool --set /desktop/gnome/sound/event_sounds true
eval $(dbus-launch); export DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID
GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds true

Far parlare più veloce eSpeak

Il sintetizzatore di parlato eSpeak può parlare più veloce aggiungendo un'opzione di configurazione all'appropriato file della voce. Questi file delle voci si trovano in /usr/lib/i386-linux-gnu/espeak-data/voices/. Scegliere lì il file della propria lingua (es. en-us o it). Aprire da amministratore il file appropriato in un editor di testo e inserire la riga seguente:

speed 150

Ciò farà parlare eSpeak più veloce del 50%.

Altri suggerimenti

Ulteriori suggerimenti sono disponibili all'indirizzo https://web.archive.org/web/20220516221547/http://brl.thefreecat.org/wiki/.

Collegamenti correlati