3.2. Consolas virtuales y terminales

FreeBSD puede utilizarse de muchas maneras. Una de ellas es tecleando órdenes en una terminal de texto. De este modo, mucha de la flexibilidad y poder de un sistema operativo UNIX® está inmediatamente en sus manos cuando usa FreeBSD. Esta sección describe qué son “terminales” y “consolas”, y cómo puede usarlas en FreeBSD.

3.2.1. La consola

Si no ha configurado FreeBSD para iniciar automáticamente un entorno gráfico en el arranque, el sistema le presentará un “prompt” de entrada después del arranque, inmediatamente después de que los “scripts” de inicio terminen de ejecutarse. Verá algo similar a esto:

Additional ABI support:.
Local package initialization:.
Additional TCP options:.

Fri Sep 20 13:01:06 EEST 2002

FreeBSD/i386 (pc3.ejemplo.org) (ttyv0)

login:

Los mensajes pueden ser un poco diferentes en su sistema, pero verá algo similar. Las últimas dos líneas son las que nos interesan por el momento. La penúltima línea dice:

FreeBSD/i386 (pc3.ejemplo.org) (ttyv0)

Esta línea contiene información acerca del sistema que acaba de arrancar. Esta usted ante una consola “FreeBSD” que se ejecuta en un procesador Intel o compatible de la arquitectura x86[1]. El nombre de esta máquina (cada máquina UNIX tiene un nombre) es pc3.ejemplo.org, y usted está ahora ante su consola de sistema (la terminal ttyv0).

Finalmente, la última línea siempre es:

login:

Esta es la parte donde se supone que usted teclée su “nombre de usuario” para entrar en FreeBSD. La siguiente sección describe cómo hacerlo.

3.2.2. La entrada a FreeBSD

FreeBSD es un sistema multiusuario multiprocesador. Esta es la descripción formal que se suele dar a un sistema que puede ser utilizado por muchas personas diferentes, que simultáneamente ejecutan muchos programas en un sola máquina.

Cada sistema multiusuario necesita algún modo de distinguir a un “usuario” del resto. En FreeBSD (y en todos los sistemas operativos tipo UNIX) esto se logra requiriendo que cada usuario debe “acceder” al sistema antes de poder ejecutar programas. Cada usuario tiene un nombre único (el “nombre de usuario”) y una clave secreta, personal (la “contraseña”). FreeBSD preguntará por ambos antes de permitirle a un usuario ejecutar cualquier programa.

Justo después de que FreeBSD arranque y termine de ejecutar sus “scripts” de inicio [2], le presentará un “prompt” y solicitará un nombre válido de usuario:

login:

En este ejemplo vamos a asumir que su nombre de usuario es john. Teclée john en el “prompt” y pulse Enter. Debería presentársele un “prompt” donde introducir una “contraseña”:

login: john
Password:

Teclée ahora la contraseña de john y pulse Enter. La contraseña no se muestra en pantalla, pero no debe preocuparse por ello. Esto se hace así por motivos de seguridad.

Si ha tecleado su contraseña correctamente ya está usted en un sistema FreeBSD, listo para probar todas las órdenes disponibles.

Verá el MOTD (mensaje del día) seguido por un “prompt” (un caracter #, $ o %). Esto confirma que ha validado con éxito su usuario en FreeBSD.

3.2.3. Consolas múltiples

Ejecutar órdenes UNIX en una consola está bien, pero FreeBSD puede ejecutar muchos programas a la vez. Tener una consola donde se pueden teclear órdenes puede ser un poco de desperdicio cuando un sistema operativo como FreeBSD puede ejecutar docenas de programas al mismo tiempo. Aquí es donde las “consolas virtuales” pueden ser de mucha ayuda.

FreeBSD puede ser configurado para presentarle diferentes consolas virtuales. Puede cambiar de una de ellas a cualquier otra consola virtual pulsando un par de teclas en su teclado. Cada consola tiene su propio canal de salida, y FreeBSD se ocupa de redireccionar correctamente la entrada del teclado y la salida al monitor cuando cambia de una consola virtual a la siguiente.

Se han reservado ciertas combinaciones especiales de teclas para pasar de unas consolas virtuales a otras en FreeBSD [3]. Puede utilizar Alt-F1, Alt-F2 y así sucesivamente hasta Alt-F8 para cambiar a una consola virtual diferente en FreeBSD.

Mientras está cambiando de una consola a la siguiente, FreeBSD se ocupa de guardar y restaurar la salida de pantalla. El resultado es la “ilusión” de tener varias pantallas y teclados “virtuales” que puede utilizar para teclear órdenes para que los ejecute FreeBSD. El programa que usted lanza en una consola virtual no deja de ejecutarse cuando la consola no está visible. Continúan ejecutándose cuando se cambia a una consola virtual diferente.

3.2.4. El fichero /etc/ttys

La configuración por defecto de FreeBSD iniciará con ocho consolas virtuales. Esta no es una configuración estática por hardware y usted puede personalizar fácilmente su sistema para arrancar con más o menos consolas virtuales. El número y propiedades de las consolas virtuales están detallados en /etc/ttys.

Use /etc/ttys para configurar las consolas virtuales de FreeBSD. Cada línea no comentada de este fichero (líneas que no comienzan con un caracter #) contiene propiedades para una sola terminal o consola virtual. La versión por defecto de este fichero en FreeBSD configura nueve consolas virtuales y habilita ocho de ellas. Son las líneas que comienzan con ttyv:

# name  getty                           type    status          comments
#
ttyv0   "/usr/libexec/getty Pc"         cons25  on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv2   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv3   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv4   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv5   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv6   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv7   "/usr/libexec/getty Pc"         cons25  on  secure
ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

Consulte ttys(5) si quiere una descripción detallada de cada columna en este fichero y todas las opciones que puede usar para configurar las consolas virtuales.

3.2.5. Consola en modo monousuario

En la Sección 14.6.2 encontrará una descripción detallada de lo que es “modo monousuario” No importa que solo exista una consola cuando ejecuta FreeBSD en modo monousuario. No existen consolas virtuales disponibles. Las configuraciones de la consola en modo monousuario se pueden encontrar también en /etc/ttys. Busque la línea que comienza con console:

# name  getty                           type    status          comments
#
# Si la consola está marcada como "insecure", entonces init 
# le pedirá la contraseña de root al entrar a modo monousuario.
console none                            unknown off secure

Nota: Tal y como indican los comentarios por encima de la línea console, puede editar esta línea y cambiar secure por insecure. Si lo hace, cuando FreeBSD arranque en modo monousuario el sistema le pedirá la contraseña de root.

Tenga cuidado si cambia esto a insecure. Si olvida la contraseña de root arrancar en modo monousuario será con seguridad más complicado. Sigue siendo posible, pero será un poco difícil para alguien que no esté familiarizado con le proceso de arranque de FreeBSD y los programas involucrados en dicho proceso.

Notas

[1]

Esto es lo que i386 significa. Tenga en cuenta que incluso si no está ejecutando FreeBSD en una CPU Intel 386, éste va a ser i386. No es el tipo de su procesador, sino la “arquitectura” la que se muestra aquí.

[2]

Los “scripts” de inicio son programas que FreeBSD ejecuta automáticamente cuando arranca. Su función principal es preparar las cosas para que todo lo demás se ejecute, e iniciar cualquier servicio que tenga configurado para ejecutarse en segundo plano haciendo cosas útiles.

[3]

Tiene una descripción bastante técnica y correcta de todos los detalles de la consola FreeBSD y los controladores de teclado pueden encontrarse en las páginas de manual de syscons(4), atkbd(4), vidcontrol(1) y kbdcontrol(1). No nos extenderemos en los detalles aquí, pero el lector interesado siempre puede consultar dichas páginas de manual si quiere una explicación más detallada y profunda de cómo funcionan estas cosas.

Éste y otros documentos pueden obtenerse en ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para preguntas acerca de FreeBSD, leer la documentación antes de contactar con la lista <questions@FreeBSD.org>.
Para preguntas acerca de esta documentación, e-mail a <doc@FreeBSD.org>.