Actualmente, estoy aprendiendo algunos comandos de UNIX y encontré varias preguntas inexplicables. Gracias por tu respuesta.
Cuando ejecuto el comando
w
desde la terminal, recibí algunos mensajes que se muestran en la imagen a continuación. Sés000
significa la terminal en la que escribí el comandow
. Pero estoy confundido acerca del tty cuyo nombre esconsole
y por el cual, decía, inicié sesión en el sistema. Y decía queconsole
llevaba algún tiempo inactivo. ¿Puedo cambiar aconsole
activar este tty para que ya no esté inactivo?También hice otro experimento intentando iniciar el usuario invitado que estaba iniciando sesión. Sabía que podía finalizar el proceso bash que estaba ejecutando el invitado, pero de alguna manera tengo problemas para finalizar el proceso de bash que
console
estaba ejecutando el invitado. ¿Cómo puedo iniciar completamente el invitado sin reiniciar la computadora? No puedo matar elconsole
. La raíz de este problema es más o menos la misma que la del primero: ¿qué significa "consola"? Absolutamente no representa la terminal en la que escribí el comandow
.Este problema también se puede encontrar en sistemas Linux como Ubuntu 14.04 y este último nombra el archivo
console
con un número como0
o1
. Me pregunto qué significa 0 o 1 en la columna tty. Pero puedo estar seguro de que tienen un significado similarconsole
.
Respuesta1
No estoy familiarizado con macOS, pero espero que los conceptos sean bastante similares a los de Linux. Esto es una simplificación excesiva, pero básicamente, en este contexto, la "consola" se refiere a toda la computadora. O, para ser algo más específico, la pantalla y los dispositivos de entrada humana (teclado, dispositivo(s) señalador(es), etc.) (los inicios de sesión de red están excluidos de la “consola”).
Cuando inicia sesión en su computadora (localmente, no a través de la red), está iniciando sesión en la consola.
Ahora obviamente estás familiarizado con las terminales: ventanas en las que puedes ejecutar comandos como ls
y w
. Cuando inicias sesión en la consola, automáticamente ejecuta un comando (o un grupo de comandos) que te brinda la interfaz de ventana a la que estás acostumbrado. Algunos sistemas operativos hacen visible el mecanismo por el cual esto sucede y, a veces, incluso ajustable; otros lo hacen completamente “bajo el capó”.
Dado que la consola no ejecuta ningún comando, excepto el propio sistema de ventanas, parece estar inactiva. En la mayoría de los sistemas operativos (y espero que macOS sea uno de ellos), la única opción para cambiar a la consola es salir del sistema de ventanas, pero eso te devuelve a la consola, que luego automáticamente te desconecta.
Hay otra arruga:
- El
w
comando lee un archivo del sistema, formatea bien los datos para que una persona pueda verlos y los escribe en la salida estándar. - Se escribe una entrada en el archivo cada vez que alguien inicia sesión en la consola o en la red. Algunos sistemas (¿la mayoría? ¿todos?) también escriben una entrada cuando el usuario en la consola inicia una nueva ventana de terminal.
- Las entradas normalmente se borran cuando un usuario cierra sesión o cierra una ventana de terminal.
- La palabra clave en el punto anterior es "normalmente". En algunos casos, si matas un proceso (especialmente si lo haces como superusuario), puedes interferir con el mecanismo que borra los datos antiguos. Por lo tanto,
w
podría reportar información que ya no es válida.
Si no sabes cómo usarlo ps
, deberías aprender. Puedes usarloen cambiode w
, pero probablemente sea mejor usarlos juntos. Úselo w
para brindarle una hoja de ruta de qué buscar en el ps
resultado. No creas ciegamente todo lo w
que te dice; Cree sólo en la información con la que puedas verificar ps
. Por ejemplo, si ha eliminado todos los procesos "invitados" y w
todavía dice que "invitado" ha iniciado sesión, probablemente le esté proporcionando información obsoleta y no válida.
Podrías encontrar¿Cuál es la diferencia entre shell, consola y terminal? y ¿Cuál es la diferencia exacta entre un 'terminal', un 'shell', un 'tty' y una 'consola'? para que valga la pena leerlo.