[Índice de documentos] [Sección 6 - Redes] [Sección 8 - Preguntas generales]
Las plataformas que usan el control de consola wscons(4) son: alpha, hppa, i386, macppc, sparc, y sparc64.
Con las consolas wscons(4) la mayoría de opciones se pueden controlar mediante la utilidad wsconsctl(8). Por ejemplo, para cambiar las asignaciones del teclado con wsconsctl(8) al teclado español, se ejecutaría la siguiente orden:
# wsconsctl -w keyboard.encoding=es
En el siguiente ejemplo, reasignaremos la tecla "Bloq Mayús" para que sea "Control L":
# wsconsctl -w keyboard.map+="keysym Caps_Lock = Control_L"
Para las plataformas alpha y i386, OpenBSD dispone de wsmoused(8), un porte de moused(8) de FreeBSD. Se puede activar de forma automática para que arranque durante el inicio del sistema, activando la línea apropiada en el fichero rc.conf(8).
Para refrescar la consola hay que añadir una línea al fichero /etc/gettytab(5), cambiando la sección
P|Pc|Pc console:\
:np:sp#9600:
y añadiendo la línea ":cl=\E[H\E[2J:" al final, de modo que quede como lo siguiente:
P|Pc|Pc console:\
:np:sp#9600:\
:cl=\E[H\E[2J:
En algunas plataformas, OpenBSD dispone de una funcionalidad para acceder a la memoria de retroceso de páginas. Esto nos permitirá ver información que ya haya pasado por la pantalla. Para poder retroceder y avanzar en la memoria, se usan las combinaciones del teclado [SHIFT]+[RePág] y [SHIFT]+[AvPág]
La memoria de retroceso predeterminada, o el número de páginas de memoria que se puede retroceder para ver, es 8. Esto es una funcionalidad del controlador vga(4), y así no tendrá que trabajar sin una tarjeta VGA en ninguna plataforma (muchos sistemas Alpha tienen vídeo TGA).
En los sistemas i386 y alpha con tarjetas vga(4), OpenBSD dispone de seis terminales virtuales preconfiguradas, de /dev/ttyC0 hasta /dev/ttyC5. ttyC4 está reservada para el sistema gráfico X Window, dejando las restantes cinco terminales para consola de texto. Se puede mover entre ellas usando [CTRL]+[ALT]+[F1], [CTRL]+[ALT]+[F2], [CTRL]+[ALT]+[F3], [CTRL]+[ALT]+[F4] y [CTRL]+[ALT]+[F6].
El entorno gráfico X usa ttyC4, [CTRL]+[ALT]+[F5]. Desde este entorno, las combinaciones de teclado [CTRL]+[ALT]+[Fn] nos llevan a las pantallas de texto; [CTRL]+[ALT]+[F5] nos devuelve al entorno gráfico.
Para tener más consolas virtuales que las preconfiguradas, se puede usar la orden wsconscfg(8) para crear pantallas para ttyC6, ttyC7 y consiguientes. Por ejemplo,
wsconscfg -t 80x25 6
crea una terminal virtual para ttyC6, a la que se se accede mediante
[CTRL]+[ALT]+[F7]. Si queremos que esta pantalla adicional
continúe configurada después de reiniciar el sistema, no
hay que olvidarse de añadir esta orden al fichero
rc.local(8).
Nótese que en la nueva consola virtual no se obtendrá un punto de ingreso login: a menos que la configuremos con el valor "on" en el fichero /etc/ttys(5), y se reinicie el sistema a continuación o se envíe una señal HUP a init(8) usando kill(1).
Los usuarios de i386 suelen tener una pantalla en consola de 25 líneas y 80 caracteres por línea. Sin embargo muchas tarjetas de vídeo VGA pueden mostrar una resolución más alta de hasta 50 líneas y 80 caracteres por línea.
Para ello hay que cargar primero una fuente con soporte para la resolución que se desee, usando la orden wsfontload(8). La pantalla de texto estándar de 80x25 usa fuentes de 8x16 pixels; para doblar el número de líneas tendremos que usar fuentes de 8x8 pixels.
A continuación tendremos que eliminar y volver a crear una consola virtual con la resolución de pantalla que deseemos tener, usando la orden wsconscfg(8).
Esto puede hacerse automáticamente durante el arranque, añadiendo las siguientes líneas al final del fichero rc.local(8):
wsfontload -h 8 -e ibm /usr/share/misc/pcvtfonts/vt220l.808
wsconscfg -dF 5
wsconscfg -t 80x50 5
Como con cualquier otra modificación del sistema de configuración, antes es recomendable leer las páginas del manual correspondientes para llegar a entender cuál es la función de estas órdenes.
La primera línea carga la fuente de 8x8. La segunda elimina la pantalla virtual número 5 (a la que se accede mediante la combinación de teclado [CTRL]+[ALT]+[F6]). La tercera línea crea una nueva pantalla virtual número 5 con una resolución de 50 líneas y 80 caracteres por línea. De este modo veremos la pantalla principal, y las tres pantallas virtuales siguientes, con la resolución estándar de 80x25, y una nueva pantalla virtual de 80x50, la número 5, accesible mediante la combinación de teclado [CTRL]+[ALT]+[F6], con la nueva resolución.
Recuérdese que la combinación [CTRL]+[ALT]+[F1] corresponde a la pantalla número 0 (ttyC0). Para alterar las otras pantallas basta con repetir los pasos de eliminación y adición para cada una de las pantallas que se desee tener con una resolución de 80x50.
Por regla general evitaremos tocar la pantalla número 4 (ttyC4, [CTRL]+[ALT]+[F5]), que es la que usa X como pantalla gráfica. Tampoco es posible cambiar la resolución del dispositivo primario de consola (o sea, ttyC0).
Todas estas órdenes se pueden ejecutar desde la línea de órdenes como superusuario o, mejor aún, usando sudo(8).
Nota: esto no funcionará en todas las tarjetas de vídeo. No todas las tarjetas de vídeo tienen soporte para las fuentes que requiere wscons(4) para conseguir el modo de texto de 80x50. En estos casos la única forma de obtener un modo distinto es en el modo gráfico de X.
Algunas de las razones para querer usar una consola serie en un sistema OpenBSD son:
OpenBSD dispone de soporte para consolas serie en la mayoría de las plataformas, aunque las diferencias entre las distintas plataformas son grandes.
Trabajar con interfaces serie NO es una tarea fácil; a menudo se necesitarán cables poco usuales, y los puertos no siguen un mismo estándar en las distintas máquinas... en algunos casos ni siquiera son consistentes en una misma máquina. Se asume que el usuario sabe cuál es el cable apropiado para conectar su máquina y el dispositivo que vaya a actuar como terminal serie. Una tutorial sobre interfaces serie es algo que va más allá del propósito de este artículo, aunque podemos dar una pista: que los extremos del cable se puedan enchufar no quiere decir que vaya a funcionar.
El proceso para conseguir una consola serie funcional en un sistema OpenBSD se divide en dos partes. Primero es necesario que OpenBSD use el puerto serie como una consola en status y en modo mono-usuario. Esta parte varía mucho según la plataforma. Segundo, hay que activar el puerto serie para que se use como un terminal interactivo, de modo que un usuario pueda ingresar en él cuando se esté ejecutando en modo multi-usuario. Esta parte es muy parecida en todas las plataformas y aquí la explicaremos en detalle.
Las sesiones de terminal se controlan mediante el fichero
/etc/ttys.
Antes de que OpenBSD muestre el punto de ingreso
"login:" en un dispositivo, tiene que ser activado en
/etc/ttys (al fin y al cabo existen otros usos para un puerto
serie distintos del de un terminal). En las plataformas que tienen
conectado un teclado y un monitor como consola, el terminal serie se
encuentra desactivado por definición. Tomaremos la plataforma
i386 como ejemplo. Para ésta hay que cambiar la línea:
tty00 "/usr/libexec/getty std.9600" unknown off
por esta otra:
tty00 "/usr/libexec/getty std.9600" vt100 on secure
En este caso tty00 es el puerto serie que usamos como consola. La clave "on" activa getty para ese puerto serie, de forma que presente un punto de ingreso "login:"; la clave "secure" permite el ingreso como superusuario (uid 0) en esta consola (que puede no ser lo que deseamos hacer); y la clave "9600" es la velocidad en baudios del terminal. Nótese que es posible usar una consola serie para la instalación sin llevar a cabo este paso, ya que el sistema se encuentra en modo mono-usuario y no usar getty para el ingreso.
En algunas plataformas y con algunas configuraciones, si sólo se dispone de una consola serie, es necesario iniciar el sistema en modo mono-usuario para que este cambio sea efectivo.
Para que el proceso de arranque use el puerto serie como una consola,
hay que crear o modificar el fichero
/etc/boot.conf
de modo que incluya la siguiente línea:
set tty com0
para usar el primer puerto serie como consola. La velocidad en baudios predeterminada es de 9600bps, y se puede cambiar con una línea en /etc/boot.conf usando la opción stty. Este fichero se coloca en el controlador de arranque, que podría ser el disquete de instalación, o se puede puede invocar la orden desde el punto de inserción boot> desde el cargador de arranque de segunda etapa de OpenBSD para el uso de la consola serie para una sola vez (o por primera vez).
Estas máquinas están diseñadas para que se puedan mantener completamente con una consola serie. Basta con desenchufar el teclado y el monitor de la máquina y el sistema se ejecuta como serie.
ok setenv input-device ttya
ok setenv output-device ttya
ok reset
Si el teclado y el monitor (ttyC0) están activos en /etc/ttys (véase arriba), también se puede usar el teclado y el monitor en X.
Las máquinas MacPPC se configuran para consola serie a
través de OpenFirmware. Hay que usar las órdenes:
ok setenv output-device scca
ok setenv input-device scca
ok reset-all
y configurar la consola serie a 57600bps, 8N1.
La consola serie se selecciona en el programa Booter, desde el menú "Options" y el submenú "Serial Ports". Hay que pulsar sobre el botón "Serial Console" y luego escoger el puerto del módem o el de la impresora. También se necesita un cable de módem o impresora de Macintosh para conectarlo a los puertos serie de Mac. Si se desea que éste sea el modo predeterminado, hay que indicarle al programa Booter que guarde las opciones.
Para dejar la consola en blanco después de un cierto periodo de inactividad sin usar X, hay que modificar las siguientes variables de wscons(4):
Estas variables se pueden configurar desde la línea de
órdenes usando la orden
wsconsctl(8):
# wsconsctl -w display.screen_off=60000
display.screen_off -> 60000
o se pueden configurar de forma permanente desde el fichero
/etc/wsconsctl.conf
para que estos cambios sean efectivos a partir del siguiente arranque:
display.vblank=on # «blanqueo» para la
# sincronización vertical
display.screen_off=600000 # tiempo máximo de la pantalla
# en blanco de 10 minutos
display.kbdact=on # restaurar la pantalla con
# una entrada del teclado
display.outact=off # restaurar la pantalla con
# una salida en el monitor
El «blanqueador» se activará si cualquiera de las variables display.kbdact o display.outact se encuentran configuradas con el valor on.
[Índice de documentos] [Sección 6 - Redes] [Sección 8 - Preguntas generales]