Como cambiar el modo de arrange de texto a GUI en linux systemd
Systemd:
systemd es un sistema de inicio para sistemas operativos Linux que configura y gestiona los servicios del sistema tras el arranque directamente desde el espacio de usuario. Aunque fue desarrollado principalmente para Red Hat Enterprise Linux (RHEL), systemd ahora se usa en muchas otras distribuciones de Linux. Además de ser un sistema de inicio, systemd también proporciona funcionalidades de registro, agendador de trabajos, y administración de usuarios y sesiones.
SysV init:
SysVinit, basado en el sistema de inicio original de UNIX (System V), fue el sistema de inicio predeterminado para muchas distribuciones de Linux antes de la adopción de systemd. A diferencia de systemd, que es un sistema de inicio que gestiona muchos aspectos del sistema operativo, SysVinit es un conjunto más simple de scripts y utilidades de línea de comando que se utilizan para iniciar y apagar servicios en el sistema.
La adopción de systemd en lugar del sistema de inicio SysV init varía entre las diferentes distribuciones de Linux.
En el caso de Red Hat Enterprise Linux (RHEL), el cambio a systemd se produjo con RHEL 7, que se lanzó el 10 de junio de 2014.
Para Debian, el cambio a systemd fue un poco más complicado debido a un debate bastante animado en la comunidad de desarrolladores. Sin embargo, Debian 8 "Jessie", lanzado el 25 de abril de 2015, fue la primera versión de Debian en utilizar systemd por defecto.
Es importante tener en cuenta que, aunque estas distribuciones adoptaron systemd como predeterminado, muchas todavía ofrecen la posibilidad de utilizar SysVinit u otros sistemas de inicio como alternativas para los usuarios que prefieren no utilizar systemd.
Tabla comparativa:
systemd | SysVinit | |
---|---|---|
Simplicidad | Muy complejo, administra muchos aspectos del sistema. | Simple, un conjunto de scripts y utilidades de línea de comando. |
Paralelización | Puede iniciar servicios en paralelo, lo que puede conducir a tiempos de inicio más rápidos. | Inicia los servicios de uno en uno, lo que puede ser más lento. |
Control de procesos | Los servicios se reinician automáticamente cuando fallan. | No tiene capacidad incorporada para reiniciar automáticamente servicios. |
Registro | Incorpora el registro en el mismo sistema de inicio, facilitando la correlación de los eventos del sistema con los servicios asociados. | No tiene un sistema de registro integrado. |
Compatibilidad | No es compatible con versiones anteriores, requiere modificaciones en los scripts de inicio para funcionar correctamente. | Compatible con versiones anteriores, puede ejecutar scripts de inicio antiguos sin modificaciones. |
Recursos | Consume más recursos debido a su complejidad y funcionalidades incorporadas. | Consume menos recursos debido a su simplicidad. |
Dependencias | Maneja las dependencias de los servicios, lo que facilita la gestión de los servicios que dependen de otros servicios. | No maneja las dependencias de los servicios. |
Distribuciones que utilizan de manera predeterminada systemd, aunque esto puede cambiar en cualquier momento:
Red Hat Enterprise Linux (y variantes como CentOS, Fedora, Rocky Linux)
Debian (y variantes como Ubuntu, Kubuntu, Xubuntu, Lubuntu)
Arch Linux
openSUSE
Manjaro
Solus
Mageia
CoreOS
Clear Linux
Proceso para cambiar el targets (runlevel) sobre systemd, recuerda que debes ejecutar los comando como root
- Abra el terminal (en caso de servidores remotos debes utilizar una herramienta como ssh)
Verifique el runlevel actual systemctl get-default
- cambiar de target o runlevel en systemd del modo texto a grafico
systemctl isolate graphical.target
Runlevel SysVinit | Target systemd equivalente | Target Predeterminado | Descripción | Comando para Cambiar | Comando para Fijar como Predeterminado |
---|---|---|---|---|---|
0 | runlevel0.target, poweroff.target | No aplica | Apagado del sistema | systemctl poweroff | No aplica |
1, s, S | runlevel1.target, rescue.target | No aplica | Modo de rescate (modo de usuario único) | systemctl rescue | systemctl set-default rescue.target |
2, 4 | runlevel2.target, runlevel4.target, multi-user.target | No aplica | Modo de múltiples usuarios, sin servidor X | systemctl isolate multi-user.target | systemctl set-default multi-user.target |
3 | runlevel3.target, multi-user.target | No aplica | Modo de múltiples usuarios (modo de texto) | systemctl isolate multi-user.target | systemctl set-default multi-user.target |
5 | runlevel5.target, graphical.target | Sí | Modo de múltiples usuarios, con servidor X (modo gráfico) | systemctl isolate graphical.target | systemctl set-default graphical.target |
6 | runlevel6.target, reboot.target | No aplica | Reinicio del sistema | systemctl reboot | No aplica |
emergency | emergency.target | No aplica | Modo de emergencia | systemctl emergency | systemctl set-default emergency.target |
Ten en cuenta que no tiene sentido establecer algunos targets (como apagado o reinicio), por lo anterior no aplican.
para listar todos los targets en systemd utiliza cualquiera de los dos comandos siguiente
Para listar todos los targets activos en tu sistema, puedes utilizar el comando:
systemctl list-units --type target
Si quieres listar todos los targets, incluyendo los inactivos, puedes usar:
systemctl list-units --type target --all
Para establecer un target de inicio por defecto utilizando un enlace simbólico (en lugar de systemctl set-default
), tendrías que crear un enlace simbólico llamado default.target
en el directorio /etc/systemd/system/
que apunte al archivo del target que deseas utilizar. Aquí hay un ejemplo de cómo podrías hacerlo para el target multi-user
:
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Sin embargo, cabe destacar que la forma recomendada de cambiar el target por defecto es utilizar el comando systemctl set-default
, ya que este comando garantiza que todas las dependencias necesarias estén correctamente manejadas. El uso de enlaces simbólicos directamente puede ser propenso a errores si no se manejan correctamente las dependencias entre los targets y las unidades del sistema.