
metroLa mayoría de las distribuciones modernas de Linux usan systemd como reemplazo de init. Es un conjunto de bloques de construcción básicos para distribuciones de Linux como RHEL / CentOS & Co, OpenSUSE / SUSE, Fedora, Arch, Debian, Ubuntu y más. De forma predeterminada, la mayoría de las distribuciones se inician en la GUI, pero puede cambiar a texto o viceversa.
La versión anterior de las distribuciones de Linux venía con SysV init o Upstart. Dicho inicio proporcionó una serie de niveles de ejecución para texto, multiusuario y el sistema GUI. Sin embargo, systemd usa el concepto de objetivos en lugar de niveles de ejecución. Esta página explica los procedimientos para implementar niveles de ejecución como config cuando se trabaja con objetivos systemd. En otras palabras, aprenderá a cambiar entre los modos de texto y GUI utilizando systemd en lugar de capas de inicio en las distribuciones modernas de Linux.
Detalles de las instrucciones | |
---|---|
Nivel de dificultad | Sencillo |
Derechos de root | sí señor |
requisitos | Linux systemd |
Horario de verano europeo. Tiempo de leer | 6 minutos |
Cambiar el destino de arranque a texto
Para cambiar a un nivel de ejecución del modo de texto en systemd, proceda de la siguiente manera:
- Abra la aplicación de terminal.
- Para servidores Linux remotos, use el comando ssh.
- Descubra qué unidad de destino se utiliza de forma predeterminada:
systemctl get-default - Para cambiar el destino de inicio al modo de texto:
sudo systemctl set-default multi-user.target - Inicie el sistema con el Comando de reinicio:
sudo systemctl reiniciar
Cómo cambiar el destino de arranque a GUI (interfaz gráfica de usuario)
¿Le gustaría restablecer el proceso de arranque a la GUI en lugar del modo de consola / texto? Tratar:
- Abra la aplicación de terminal de Linux.
- Para servidores Linux remotos, use el comando ssh nuevamente.
- Descubra qué unidad de destino se utiliza de forma predeterminada:
systemctl get-default - Para cambiar el objetivo de inicio al modo GUI:
sudo systemctl set-default graphic.target - Asegúrese Reinicie la caja de Linux Uso de Comando de reinicio:
reiniciar sudo
Comprender los objetivos de arranque en systemd
El destino predeterminado lo establece /etc/systemd/system/default.target. Ejecute el siguiente comando ls para verificarlo con el enlace simbólico:ls -l /etc/systemd/system/default.target
Por supuesto, también podemos usar el comando systemctl en sí:systemctl get-default
Lista de todos los destinos systemd
Ejecute el siguiente comando:systemctl list-units --type target
# list all loaded units in any state #
systemctl list-units --type target --all
Aquí hay una lista de todas las unidades de destino cargadas actualmente en el escritorio Ubuntu Linux 20.04 LTS:
UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System blockdev@dev-mapper-md1_crypt.target loaded active active Block Device Preparation for /dev/mapper/md1_crypt bluetooth.target loaded active active Bluetooth cryptsetup.target loaded active active Local Encrypted Volumes getty.target loaded active active Login Prompts graphical.target loaded active active Graphical Interface local-fs-pre.target loaded active active Local File Systems (Pre) local-fs.target loaded active active Local File Systems machines.target loaded active active Containers multi-user.target loaded active active Multi-User System network-online.target loaded active active Network is Online network-pre.target loaded active active Network (Pre) network.target loaded active active Network nss-user-lookup.target loaded active active User and Group Name Lookups paths.target loaded active active Paths remote-fs-pre.target loaded active active Remote File Systems (Pre) remote-fs.target loaded active active Remote File Systems slices.target loaded active active Slices sockets.target loaded active active Sockets sound.target loaded active active Sound Card swap.target loaded active active Swap sysinit.target loaded active active System Initialization time-set.target loaded active active System Time Set time-sync.target loaded active active System Time Synchronized timers.target loaded active active Timers virt-guest-shutdown.target loaded active active Libvirt guests shutdown LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 26 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
Sysv runleves frente a objetivos systemd
Entendamos mayores Sysv Niveles de ejecución y sus equivalentes en systemd.
Destino de Systemd | Nivel de ejecución | descripción | Comando antiguo | Nuevo comando |
---|---|---|---|---|
runlevel0.target, poweroff.target | Apague la caja de Linux. | init 0 | systemctl aislar poweroff.target | |
runlevel1.target, save.goal | 1 | Arranque en modo de rescate de emergencia (modo de usuario único). | init 1 | systemctl isolate rescue.target |
runlevel2.target, multi-user.target | 2 | Sistema multiusuario basado en texto que no configura ninguna interfaz de red ni exporta ningún servicio de red. | init 2 | systemctl isolate runlevel2.target |
runlevel3.target, multi-user.target | 3 | Normalmente inicia el sistema en modo de texto multiusuario para el uso del servidor Linux. | init 3 | systemctl isolate runlevel3.target |
runlevel4.target, multi-user.target | Cuarto | Modo de texto para fines especiales. | init 4 | systemctl isolate runlevel4.target |
runlevel5.target, graphic.goal | 5 | Como el nivel de ejecución 3 y arranca en el administrador de pantalla de la GUI. | init 5 | systemctl isolate graphic.target |
runlevel6.target, reboot.target | Sexto | Reinicie la computadora de escritorio o portátil Linux. | init 5 | systemctl isolate reboot.target |
Cómo cambiar el destino systemd predeterminado mediante un enlace simbólico
Anteriormente, expliqué cómo usar el comando systemctl. Pero puedes usar otros comandos. Entonces use el comando ln de la siguiente manera para cambiar al modo GUI:
Guías exclusivas para seguidores de Patreon 🤓
- Sin publicidad ni seguimiento
- Puede encontrar instrucciones detalladas para desarrolladores y administradores de sistemas en Llamarada de código abierto✨
- Únase a mi Patreon para ayudar a los creadores de contenido independientes y lea las guías más recientes:
sudo ln -s -f -v /lib/systemd/system/graphical.target /etc/systemd/system/default.target
Si desea volver al modo de texto:
sudo ln -s -f -v /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Compruébalo con el comando ls
ls -l /etc/systemd/system/default.target
Aprenda a cambiar el destino predeterminado creando un enlace simbólico al destino systemd (haga clic para ampliar)
Ver Cómo crear un enlace suave en Linux o Unix Utilice el comando ln para obtener más información.
Cómo arrancar en modo de rescate
Ejecute el siguiente comando systemctl
$ sudo systemctl rescue
Podemos cambiar a otro dispositivo de destino systemd en la sesión de inicio de sesión actual utilizando la CLI de la siguiente manera:sudo systemctl isolate multi-user.target
# OR #
sudo systemctl isolate graphical.target
¿Qué haría si arranco en un destino específico?
El systemd puede calcular la transacción «inicial» que haría al arrancar, intente esto para ver qué servicios y cosas se cargan en el gráfico.target:systemd --test --system --unit=graphical.target
los --Prueba La opción se utiliza para determinar la transacción de inicio inicial, guardarla y salir sin ejecutar ninguno de los trabajos específicos. Cuan genial es eso
Resumir
Aprendió sobre los objetivos systemd y los niveles de ejecución más antiguos utilizados por el sistema de inicio SysV. También expliqué cómo usar el comando systemctl para cambiar entre los modos de texto y GUI a través de la CLI. Hay más de una forma de obtener resultados en Linux. Es por eso que esta página también describe cómo también puede cambiar el destino predeterminado utilizando el método de enlace simbólico. El proyecto Debian Linux tiene una buena página específica de systemd y le recomienda encarecidamente que visite la página wiki. Sin embargo, puedes leer documentación localmente con el Comando de hombre en caso de emergencia cuando Internet no está disponible:man systemctl
man init
man upstart ini
man systemd
PUBLICIDAD