GNU/Linux >> Tutoriales Linux >  >> Linux

Conmutación de entornos en el terminal de todo el sistema ¿Llamado?

Actualmente estoy tratando de hacer un dron autónomo utilizando el sistema operativo de robot (ROS). Para ello he instalado Raspbian Lite (Jessie ) en una Raspberry Pi 3 y actualmente estoy usando ROS Kinetic en eso. Porque es Raspbian Lite , no había administradores de ventanas ni entornos de escritorio que vinieran con la instalación. Decidí ir con Openbox Window Manager e instalé un terminal en él para mayor comodidad. Solo puedo llamar a sudo startx , y se abre el administrador de ventanas, al que se puede acceder mediante Ctrl + alt + F2 `.

Ahora mi pregunta radica en el hecho de que no entiendo el proceso de creación de nuevas sesiones dentro de la terminal de todo el sistema. ¿Se llama el terminal de todo el sistema para empezar? ¿Cuáles son estas sesiones, que estoy invocando con el uso de Ctrl + Mayús + F ? Algunos de ellos admiten gestores de pantalla y algunos de ellos acomodan terminales , mientras imagino, que todo un entorno de escritorio también se puede acomodar. ¿Hay una página de manual que pueda consultar?

Respuesta aceptada:

Son dispositivos terminales virtuales del núcleo , multiplexado en el búfer de fotogramas físico y los dispositivos de entrada humana mediante un emulador de terminal programa integrado en el kernel mismo. Para los programas de aplicaciones que se ejecutan sobre el núcleo, se parecen a cualquier otro dispositivo terminal, como un dispositivo terminal serie. . (Tienen disciplina de línea, pero no control de módem).

El sistema implementa inicio de sesión de terminal a fuerza de ejecutar un getty programa (o equivalente) y un login programa que acepta credenciales de usuario e invoca sesiones de inicio de sesión .

El servidor X El programa también necesita usar el framebuffer físico y los dispositivos de entrada humana. Necesita negociar compartirlos con el emulador de terminal del kernel. Lo hace asignando una terminal virtual y diciéndole al núcleo que la desconecte del emulador de terminal del núcleo.

Por eso parece que el servidor X "se ejecuta" en un terminal en particular. Cuando el emulador de terminal del kernel ve el acorde de la tecla de acceso rápido para cambiar al terminal virtual asignado, cede el control del búfer de cuadros y los dispositivos de entrada humana al servidor X. Cuando el servidor X ve el acorde de la tecla de acceso rápido para cambiar a otro terminal virtual, el servidor X cede el control nuevamente.

Estos acordes de teclas rápidas no son necesariamente simétricos. En uno de mis sistemas, el acorde de tecla de acceso rápido implementado por el programa de emulación de terminal del kernel para cambiar a la terminal virtual n.º 2 es Alt +F2 mientras que el acorde de teclas rápidas implementado por el servidor X para la misma acción es Ctrl +Alt +F2 .

Cuando se trata de inicio de sesión gráfico , un gestor de visualización maneja el inicio de servidores X con saludo programas Simplemente está iniciando un servidor X directamente y no está utilizando un administrador de pantalla, por supuesto. Una vez que se hayan autenticado las credenciales de usuario, un administrador de escritorio muestra un entorno de escritorio , que comprende un conjunto de cliente X aplicaciones de diversos grados de complejidad. Para entornos de escritorio complejos, existe una gran cantidad de programas de servidor interconectados a través de un bus de escritorio. . (En uno de mis sistemas, el llamado editor de GNOME "pequeño y liviano" requiere un intermediario D-BUS y otros nueve ejecutar los programas del servidor.)

Relacionado:Journalctl:¿cómo evitar que el texto se trunque en la terminal?

Algunos de esos programas cliente X pueden ser otros emuladores de terminal, de espacio de usuario, como LXTerminal, Unicode RXVT, GNOME Terminal, Terminate, roxterm, evilvte, xterm, etc. Estos no usan directamente framebuffer físico y dispositivos de entrada humana, y hacen uso de pseudo-terminal dispositivos.

Lecturas adicionales

  • https://superusuario.com/a/723442/38062
  • https://unix.stackexchange.com/a/316279/5132
  • https://unix.stackexchange.com/a/194218/5132
  • https://unix.stackexchange.com/a/178807/5132
  • https://stackoverflow.com/a/39302351/340790

Linux
  1. Copiar archivos en la terminal de Linux

  2. Cambiar el nombre de un archivo en la terminal de Linux

  3. Mover archivos en la terminal de Linux

  4. Comprobar la carga del sistema en Linux

  5. Programar reinicios en el sistema operativo Ubuntu

La terminal de Linux no es un pony de un solo truco

Relájate junto al fuego en tu terminal Linux

Introducción al sistema de archivos de Linux

MapSCII – El mapamundi en tu terminal

Su primer programa Java en la terminal de Ubuntu

Cómo usar el comando fd en el sistema Linux