Linux soporta consolas virtuales. Son una manera de hacer que su simple máquina aparezca como múltiples terminales, todos conectados al mismo núcleo Linux. Por fortuna, usar las consolas virtuales es una de las cosas más simples en Linux: hay "hot keys"9 para cambiar entre las consolas rápidamente. Para probarlo, hay que conectarse al sistema, pulsar la tecla |_Alt_| izquierda, y pulsar |_F2_| (esto es, la tecla de función número 2)10 11.
_
7 Esto sólo tiene sentido para ciertos programas que no tienen que hablar con el usuario a través del teclado.
8 En general, es más fácil matar el número del trabajo en vez de usar PIDs.
9 N.T.: No he creido apropiado traducir este término, ya que muchos usuarios saben a lo que se refiere. De todas formas para el que no lo sepa, esto es, una simple combinación de teclas que hace un cierto trabajo.
Se encontrará con otro indicador para conectarse. No se alarme: ahora está en la consola virtual (VC) número 2. Conéctese y haga algunas cosas, unos cuantos ls o lo que sea, para confirmar que es un shell real. Ahora puede volver a la VC número 1, pulsando el |_Alt_| izquierdo y |_F1_|. O se puede mover a una tercera VC, de la forma obvia (|_Alt-F3_|).
Generalmente los sistemas Linux vienen con cuatro VC activadas por defecto. Esto se puede incrementar a ocho; estos temas se cubrirán en The Linux System Administrator's Guide. Ello implica editar uno o dos ficheros en el directorio /etc. Sin embargo, cuatro deben ser suficientes para la mayoría de las personas.
Una vez las haya usado, las VC probablemente se convertirán en una herramienta indispensable para tener varias cosas ejecutándose a la vez. Por ejemplo, yo normalmente ejecuto Emacs en la VC 1 (y hago la mayor parte de mi trabajo ahí), mientras tengo un programa de comunicaciones en la VC 3 (así puede coger o dejar ficheros via modem mientras trabajo, o ejecutar programas en máquinas remotas), y mantengo un shell en la VC 2 sólo en caso de que tenga que ejecutar algo sin involucrar a la VC 1.
_
10 Hay que asegurarse de que esto se hace desde consolas en modo texto: si se está ejecutando X Window u otra aplicación gráfica, probablemente no funcionará, sin embargo corre el rumor de que pronto se podrá cambiar entre las consolas virtuales en X Window de Linux.
11 N. del T.: De hecho al momento de la traducción, la combinación es |_Ctrl-Alt-tecla-de-función_|.
Figura 6.1 Resumen de comandos y teclas usados para el control de trabajos.
|| Comando || Explicación ||
|| fg %nº_trabajo || Este es un comando del shell que devuelve un trabajo al primer plano. Para saber cuál es éste por defecto, se teclea "jobs" y se busca el que tiene el +. Parámetros: número de trabajo opcional. El trabajo por defecto se identifica con el +. ||
|| & || Cuando se añade un & al final de la línea de comandos, indica al comando que se ejecute en segundo plano automáticamente. Este trabajo está entonces sujeto a todos los métodos usuales para el control de trabajos aquí detallados. ||
|| bg %nº_trabajo || Este es un comando del shell que manda a un trabajo suspendido ejecutarse en segundo plano. Para saber cual es éste por defecto, se teclea "jobs" y se busca el que tiene el +. Parámetros: número de trabajo opcional. El trabajo por defecto se identifica con el +. ||
|| kill %nº_trabajo PID || Este es un comando del shell que obliga a un trabajo en segundo plano, ya sea suspendido o en ejecución, a terminar. Se debe siempre especificar el número de trabajo o PID, y si se están usando números de trabajo, no hay que olvidar poner el %. Parámetros: El número de trabajo (a continuación del %) o el PID (no es necesario el %). Se puede especificar más de un proceso o trabajo en una línea. ||
|| jobs || Este comando del shell lista información sobre los trabajos que están en ese momento en ejecución o suspendidos. A veces también dice cuáles son los que acaban de salir o han terminado. ||
|| |_Ctrl-c_| || Este es el carácter genérico de interrupción. Normalmente, si se pulsa mientras un programa se está ejecutando en primer plano, matará al programa (puede que haya que hacerlo varias veces). Sin embargo, no todos los programas responderán a este método de terminación. ||
|| |_Ctrl-z_| || Esta combinación de teclas normalmente suspende un programa, puede que algunos programas lo ignoren. Una vez suspendido, el trabajo se puede reiniciar en el segundo plano o se puede matar. ||