El lector de pantallas yasr, un poco más sobre los archivos y la ayuda en línea

En La presente entrega de los apuntes para linux nos vamos a parar por fin en el lector de consolas a utilizar y veremos un poco sobre los archivos en linux así como algunos comandos básicos más antes de meternos en las profundidades procelosas de los permisos y de los procesos.

Leyendo sin ojos:

Aunque la accesibilidad de linux, sobre todo en el entorno gráfico todavía no es más que un prototipo, en la consola es ya medianamente buena y bastante utilizable como ya se explicó en entregas pasadas. De entre los varios lectores de consola que xisten vamos a utilizar en estos apuntes el yasr, no creo que sea el mejor de todos ellos pero sí es el que más rango de usuarios puede abarcar, ya que podríamos utilizar un braille hablado, un apolo, un ciber 232 p y, quizás la más interesante, síntesis de voz software. La que vamos a usar aquí no es la mejor de las síntesis, pero es la gratuita existente para linux. Es necesario, por tanto, que tengais disponible esta voz en vuestro sistema. Si utilizáis guadalinex tendréis la síntesis perfectamente instalada, de lo contrario deberéis bajaros el sintetizador festival y las voces que ofrece festvox, utilizando cualquiera de los procesos de instalación explicados en la entrega anterior, donde nuestro ejemplo de instalación se hizo con este lector de pantallas.

Iniciando el lector de pantallas.

Con el programa instalado en nuestra distribución es tan fácil iniciarlo por primera vez como lo puede ser escribir una línea de órdenes, cuya estructura es la siguiente:

yasr -s SintetizadorDeVoz -p Dispositivo

Donde yasr es el nombre del programa lector de pantallas. -s es el modificador que indica el sintetizador a elegir y -p indica donde estará ese sintetizador. Pongamos ahora un ejemplo más claro, vamos a arrancar el yasr con el sintetizador externo ciber232 p:

yasr -s ciber232 -p /dev/ttyS0

Esto arranca el yasr con el ciber 232 conectado al puerto serie que en windows se denomina com1, si quisiéramos utilizar el puerto serie com2 deberíamos cambiar el 0 por un 1, y así sucesivamente dependiendo del puerto al que se conecta el dispositivo. Atención con esa S, tiene que ir obligatoriamente en mayúscula o la línea de órdenes no será válida.

Si quisiéramos utilizar el yasr con festival, la línea de órdenes a usar sería la siguiente:

yasr -s festival -p ‘|festival –pipe’

Atención a la línea de arriba que se debe escribir tal cual lo he hecho yo, incluídos los apóstrofes y la barra vertical antes de la segunda aparición de la palabra festival así como el doble guión antes de pipe. Lo que hace esta orden es decirle a yasr que el sintetizador a utilizar es festival y, dado que no es un dispositivo al uso creamos una tubería entre el lector de pantallas y el servidor de habla. Las tuberías o pipes las veremos más avanzados estos apuntes. Si tenemos el festival bien instalado y se dispone de las voces en español inmediatamente comenzaremos a escuchar por los altavoces del PC la gangosa y familiar voz del sintetizador, no es el mejor del mundo, pero de momento es lo que disponemos por cero euros para escuchar a linux; cierto es que hay voces de pago que se pueden usar, dectalk, la cual yo considero todavía peor que festival, o una voz derivada de la eloquence que ahora mismo no sé quien demonios vende porque ha cambiado varias veces de propietario.

Manejo básico del lector de pantallas:

Pese a haber escrito una orden que nos puede parecer más o menos compleja, cuando tengamos listo y configurado a nuestro gusto el lector de pantallas podremos exportar sus valores óptimos a un archivo de configuración llamado yasr.conf que será colocado en cada directorio de trabajo de cada usuario que lo necesite, el cual nos permitirá invocar en el futuro al lector simplemente escribiendo en el indicativo del sistema la palabra yasr.

Yasr tiene dos modos de funcionamiento básicos muy parecidos a como lo solían hacer los lectores de pantallas para MS-DOS. Un modo directo en el que yasr se limita a leer los comandos escritos y las respuestas que aparecen por pantalla, y un modo de revisión que nos permite navegar por toda la pantalla visible. En el primer modo el lector de pantallas responde a las órdenes mediante combinaciones de teclas preestablecidas. En el modo de revisión las órdenes pueden darse con cualquier tecla ya que el lector bloquea el teclado y no deja pasar las pulsaciones a la terminal sin una interpretación previa, si la tecla pulsada no se corresponde con ninguna orden de yasr no ocurrirá nada, ni en el lector ni en la terminal, si es una orden válida para yasr, éste la llevará a cabo.

Modo revisión:

Este modo de trabajo se activa y se desactiva pulsando la combinación de teclas alt-r (atención, es posible que en algunos manuales de algunos programas a la tecla alt se le llame también tecla meta o tecla M, esto es debido a que linux puede ser instalado en plataformas diferentes a la intel, y podría suceder que la tecla alternativa en esas otras plataformas tuviera otro nombre).

Barra Espaciadora: dice la posición del cursor de revisión.

^ (acento circunflejo): se mueve al primer carácter de la línea y dice la palabra.

$ (signo de dólar): se mueve al último carácter de la línea y lee la palabra.

b: lee carácter hacia atrás.

c: lee el carácter actual.

d: lee carácter hacia adelante.

e: lee desde el cursor al final de pantalla.

f: busca una cadena de texto en la pantalla.

< (signo menor que): busca desde cursor al inicio de pantalla un texto previamente buscado.

> (signo mayor que): busca desde cursor al final de pantalla un texto previamente buscado.

k: lee línea arriba (también lo hace la flecha arriba).

l: lee la línea actual.

m: lee línea abajo (igual que flecha abajo).

n: deja pasar la siguiente pulsación a la terminal.

t: lee desde el inicio al cursor.

w: lee toda la pantalla.

z: se mueve palabra atrás y la lee.

x: se mueve palabra adelante y la lee.

Las flechas leen línea arriba, abajo, carácter atrás y adelante.

( (signo abrir paréntesis): avanza párrafo.

) (signo cerrar paréntesis): retrocede párrafo.

Alt i: reinicializa el sintetizador. Útil cuando la síntesis se ha desconfigurado o funciona erróneamente.

` (acento grave): lee el valor ascii de un carácter.

Modo normal.

Este modo es el que tendremos activo cuando se trabaje directamente en la terminal y es necesario darle órdenes a yasr mediante una combinación de teclas.

Control-a: dice la posición del cursor de la aplicación si esta lo tiene.

Control-l: lee la línea actual.

Control-n: deja pasar la siguiente combinación de teclas. Útil si alguna combinación coincide con otra de yasr.

Control-x: vacía el búfer del sintetizador, es decir, lo silencia y descarga todo lo que pueda tener listo para hablar en la previa, si algo entra al sintetizador después de haber pulsado esta combinación, éste lo hablará.

alt-b: habla el caracter anterior.

Alt-c: lee el carácter actual.

Alt-d: lee la palabra actual.

Alt-e: lee desde el cursor a fin de pantalla.

Alt-k: lee la línea anterior.

Alt-l: lee línea actual.

Alt-m: lee siguiente línea.

Alt-r: conmuta entre los dos modos de trabajo de yasr.

Alt-t: lee desde el inicio hasta el cursor.

Alt-w: lee toda la pantalla.

Alt-x: silencia el habla. El funcionamiento de esta tecla es similar a control-x sólo que en este caso el sintetizador no volverá a hablar hasta que pulsemos alt-x una segunda vez. He verificado que en algunas ocasiones esta combinación de teclas no funciona apropiadamente si el sintetizador que estamos utilizando es festival, hasta el punto de colgarme la terminal. Más adelante se explicará cómo matar programas colgados cuando hablemos de los procesos.

Con la combinación control-alt-k podremos arrancar un asistente que nos permitirá remapear el lector de pantallas a nuestro gusto, pero a la hora de hacerlo, o no, deberemos ser conscientes que, si remapeamos gran parte del teclado es posible que en alguna ocasión, si usamos el ordenador de otra persona que no lo ha hecho, no seamos capaces de manejarlo. Cierto es que algunas combinaciones convendrían ser bastante diferentes por lo incómodas.

Control-alt-o: nos despliega en pantalla un pequeño menú que nos permitirá configurar el yasr a nuestro gusto. Desde él podremos manejar la velocidad, el tono, el volumen, puntuación, voces, etc, dependiendo del sintetizador instalado. También se puede configurar el tratamiento del eco de teclado y la conexión del dispositivo de habla. El modo de uso de este menú es con flechas nos movemos por las opciones y con intro activamos cada una de ellas. Si bajo la opción pulsada hay un menú este se desplegará. Caso de no querer usarlo pulsaremos escape. Si la opción pulsada requiere de un parámetro, por ejemplo la velocidad, yasr nos la pedirá ofreciéndonos la ratio de valores a elejir. Si lo que hay bajo el elemento a pulsar es una opción, ésta irá cambiando según pulsemos intro sobre el elemento. Cuando tengamos todos los valores ajustados a nuestro gusto pulsaremos repetidamente escape hasta que yasr cierre el menú.

Con la combinación control-alt-s salvaremos en disco la configuración hecha desde el menú de opciones. Si salvamos la configuración, también se salvará el dispositivo de habla activo y todos sus parámetros, con lo que la siguiente vez que arranquemos yasr no necesitaremos poner aquella larga línea de órdenes que escribimos la primera vez que activamos el lector. Por otra parte notar que es necesario establecer la configuración para cada uno de los usuarios que utilicen yasr.

Si queremos descargar a yasr definitivamente de la memoria podemos pulsar la combinación de Teclas Control-d quedando la consola libre del lector de pantalla, el cual, se podrá volver a cargar de nuevo cuando se quiera con su línea de órdenes.

Un poco más sobre los archivos y los DIRECTORIOS.

Como ya se dijo con anterioridad, en Linux «todos son archivos incluyendo discos, memorias flahs, almacenamiento de cualquier tipo, puertos de comunicación… absolutamente todo es referenciado y utilizado tal cual si fuera un archivo de datos.

Los archivos son todo aquello que conforma una unidad de Información identificada con un nombre y que ocupa un número de bytes en el sistema: (textos, ejecutables, etc.). Sus nombres podrán tener una longitud de hasta 256 caracteres y se puede usar en ellos cualquier carácter aunque conviene desechar los distintos de los alfanuméricos. También se admiten y se diferencian minúsculas y mayúsculas, por lo que hay que ser muy cuidadoso con ello ya que si escribimos un archivo llamado Fichero y luego pretendemos editarlo o referenciarlo llamándole fichero, nunca lograremos encontrarlo. Por último, los archivos que comiencen por punto «.» (punto), serán tratados como «ocultos».

TIPOS principales DE ARCHIVOS.

Linux no impone ninguna estructura a ningún archivo, esto quiere decir que , como ya indicamos más arriba, las extensiones no son ni obligatorias ni necesarias, su formato y modo quedará explicitado por el tipo de permisos, esto se nos aclarará más adelante cuando los tratemos.

1. Ejecutables: Normalmente se trata de programas compilados y contienen código binario (ininteligible para la mayoría de los humanos, pero no así para el ordenador). Los atributos o permisos de ejecución están activos.

2. Binarios: Son empleados habitualmente por programas capaces de procesar su contenido. Ejemplos: imágenes, archivo indexado, formatos de sonido comprimido, etc.

3Texto: Contienen fundamentalmente caracteres alfanuméricos en formato legible. Ejemplo: programas en código fuente, formatos de edición de textos, scripts, etc.

4. Dispositivos: Archivo asignado a un dispositivo físico (particiones de disco, terminal, cdrom, cinta, puertos de impresora, etc.). Estos archivos están en el directorio /dev

Algunos de ellos pueden ser:

/dev/tty00 (Terminal primero o modem primero en conexión serie).

/dev/tty01 (Terminal segundo o modem segundo en conexión serie).

/dev/lp0 (Primera impresora en paralelo).

/dev/lp1 (Segunda impresora en paralelo).

/dev/eth0 (Primera placa de red «ethernet»).

Pero hay muchísimos más, algunos que ya vimos en estos apuntes, y otros que veremos más adelante si cabe.

5. Dispositivo especial /dev/null: Toda la información que se envía a /dev/null es desechada, podríamos decir que es un modo fácil de eliminar cosas de nuestro ordenador o un lugar al que derivar cualquier cosa que no queramos que sea grabada en el sistema, de hecho, una línea de comandos que hacía uso de este dispositivo era lo que usaba yo hace años para acceder a linux cuando no podía disponer de un lector de pantallas.

PATRONES o comodines:

Para facilitar la escritura de comandos cuando se hace referencia a nombres de archivos y/o directorios el uso de patrones o comodines resulta de gran utilidad ya que nos evita trabajo de tecleado.

*: Representa a un grupo de caracteres. Ejemplo: ls cart* nos listará todo aquello que comience por las letras cart ignorando todo lo restante. A los usuarios de ms-dos esto no les sonará a nuevo. Es también válido en windows, pero por su metodología de utilización casi ya nadie lo usa.

?: Representa a un solo carácter. Ejemplo: ls carter?

[lista de caracteres]: Representa al grupo de caracteres de la lista. Ejemplo: ls carter[ao]

Algunas órdenes sencillas para mostrar archivos:

file.

Visualiza el tipo de un archivo. Ejemplo:

(entrada) file /bin/ls

(salida) (/bin/ls: ELF 32-Bit MSB executable).

(Entrada) file /dev/null

(salida) (/dev/null: character special).

cat.

Muestra por pantalla todo el contenido del archivo sin tener en cuenta tamaño de pantalla ni formato de texto, incluso podríamos mostrar ejecutables o binarios, claro que, no entenderíamos nada. Ejemplo:

cat /etc/motd (Muestra por pantalla el contenido del archivo motd del directorio /etc).

cat /bin/cat (Muestra el contenido del fichero cat ¡se ve a sí mismo!).

more.

Muestra el contenido de un archivo pero, a diferencia de cat, hace una parada cuando se rellenan las líneas de la pantalla para que podamos leerla sin problemas y se mantiene en espera hasta que pulsemos la barra espaciadora pasando, entonces, a mostrarnos el siguiente tramo del archivo que quepa en la pantalla. Ejemplo:

more /home/quetzatl/texto

echo:

echo «cadena» > nombre.

Crea el archivo «nombre» con «cadena» como contenido. Si la cadena está en blanco el archivo creado tendrá 0 bytes y, por tanto, estará vacío.

find.

Muestra en pantalla ficheros y/o directorios atendiendo a opciones determinadas. Ejemplos:

find / -print (Visualiza archivos y directorios desde el directorio raiz).

find / -type f -print (Visualiza archivos desde el directorio raiz).

find /home -type d -print (Visualiza directorios desde el directorio «home»).

find / -atime +10 -print (Visualiza archivos y directorios que tengan más de 10 días de existencia).

¡Un poco de ayuda, por favor!:

Como ya se comentó más arriba, GNULinux se caracteriza por poseer muchísima ayuda, no obstante su problema es que todavía mucha de ella está sin traducir, pero se está avanzando a grandes pasos en este sentido.

Hay dos maneras principales de obtener ayuda desde la consola, mediante los listados internos de ayuda de cada programa en particular, o mediante la lectura de las páginas man.

La manera de leer la ayuda interna de los programas no tiene por qué ser igual en todos los casos, pero la norma es que se consiga esta ayuda añadiendo el comando corto -h tras el nombre del programa y separado por un espacio, o con el modificador largo –help Hay programas que poseen las dos formas de solicitud de ayuda, y hay programas que solamente soportan una de las dos variantes, todo consistirá en ir probando.

Las páginas man son una ayuda considerable y muy completa que existe instalada en el sistema. A pesar de ser completa y amplia, es posible que en muchas ocasiones el contenido de las páginas man resulte algo tediosa por ser demasiado técnica teniendo en cuenta que, sobre todo en un principio, este sistema estaba pensado por y para técnicos, y en cierto modo mantiene algo de aquello, pero no significa que no sea utilizable.

El modo de activar la página man es escribir la orden man seguida tras un espacio en blanco del nombre del programa para el que queremos la ayuda, si éste dispone de páginas man, éstas se despliegan en pantalla de un modo muy similar a como lo hace el mandato more con un fichero, es decir, muestra en pantalla el contenido de la ayuda y espera a que terminemos de leer para pasar a la siguiente página, se puede avanzar con espacio hasta que terminemos la lectura. En cualquier momento podremos pulsar la letra q para salir de nuevo a la consola.

Por hoy esto es todo, en la próxima entrega veremos cómo se montan unidades de almacenaniento y particiones, así como cualquier otro mandato relacionado.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.