Estoy usando Red Hat Linux de 32 bits en mi VM. Quiero iniciarlo en modo de línea de comandos, no en modo GUI. Sé que desde allí puedo cambiar al modo GUI usando el startx
comando. ¿Cómo vuelvo al modo de línea de comandos?
Estoy usando Red Hat Linux de 32 bits en mi VM. Quiero iniciarlo en modo de línea de comandos, no en modo GUI. Sé que desde allí puedo cambiar al modo GUI usando el startx
comando. ¿Cómo vuelvo al modo de línea de comandos?
Respuestas:
Actualización: la respuesta a continuación ahora está obsoleta
Para muchas distribuciones ahora, el valor predeterminado es systemd en lugar de sysvinit. La respuesta a continuación fue escrita con sysvinit en mente. La respuesta más actualizada (y la que debe usar si tiene systemd como su sistema init) es la respuesta de golem .
Respuesta de sysvinit (obsoleta en la mayoría de las distribuciones actuales):
Desea hacer que el nivel de ejecución 3 sea su nivel de ejecución predeterminado. Desde una terminal, cambie a root y haga lo siguiente:
[user@host]$ su
Password:
[root@host]# cp /etc/inittab /etc/inittab.bak #Make a backup copy of /etc/inittab
[root@host]# sed -i 's/id:5:initdefault:/id:3:initdefault:/' /etc/inittab #Make runlevel 3 your default runlevel
Cualquier cosa después (e incluyendo) el segundo #
en cada línea es un comentario para usted, no necesita escribirlo en el terminal.
Consulte la página de Wikipedia sobre niveles de ejecución para obtener más información.
Explicación de sed
comando
sed
comando es un editor de flujo (de ahí el nombre), lo usa para manipular flujos de datos, generalmente a través de expresiones regulares .sed
que reemplace el patrón id:5:initdefault:
con el patrón id:3:initdefault:
en el archivo /etc/inittab
, que es el archivo que controla sus runlevles. La sintaxis general para una sed
búsqueda y reemplazo es s/pattern/replacement_pattern/
.-i
opción le dice sed
que aplique las modificaciones en su lugar. Si esto no estuviera presente, sed
habría enviado el archivo resultante (después de la sustitución) al terminal (más generalmente a la salida estándar).Actualizar
Para volver al modo de texto, simplemente presione CTRL+ ALT+ F1. Esto no detendrá su sesión gráfica, simplemente lo cambiará de nuevo al terminal en el que inició sesión. Puede volver a la sesión gráfica con CTRL+ ALT+ F7.
sed
comando.
sed
archivos de configuración, a menos que sepa exactamente lo que está haciendo. La línea en cuestión podría ser también un comentario y, sin embargo, aún se cambiaría. Por lo tanto, la expresión regular debería ser más precisa, al menos requerir que la cadena id:...
esté al comienzo de la línea. Dado que la página de manual no dice nada sobre cómo se tratan los espacios en blanco, es probable que desee usar s/^ *id:5:initdefault:
( Tab
por cierto, que no incluye caracteres).
Actualización para RedHat / CentOS 7 que ha cambiado de sysvinit a systemd.
Para cambiar de GUI a CLI: systemctl isolate multi-user.target
Para cambiar de CLI a GUI: systemctl isolate graphical.target
Para configurar la CLI como predeterminado nivel de ejecución ( objetivo en la terminología systemd): systemctl set-default multi-user.target
. Análogamente para GUI:systemctl set-default graphical.target
* CLI = Interfaz de línea de comandos = modo de línea de comandos
Primero cambie de usuario a root.
su -
Password:
Ingrese la contraseña de root.
Use su editor favorito para modificar esta línea en /etc/inittab
:
id:5:initdefault:
Cambie el 5 a 3. Cuando reinicie la computadora, lo llevará a la línea de comando en lugar de a la GUI.
Además de cambiar /etc/inittab
, también puede decirle al núcleo en su línea de comando a qué nivel de ejecución de destino debe pasar init
una vez que se inicia. Esto se hace simplemente agregando el nivel de ejecución deseado a la línea de comando (creo que debe ser el último argumento).
Puede hacer esto como algo único durante el arranque, siempre que su gestor de arranque le permita cambiar la línea de comando del núcleo, o puede duplicar la entrada en la configuración del cargador de arranque y elegir la correcta al iniciar (útil cuando está iniciando en varios niveles de ejecución a menudo).
Para los sistemas que usan systemd
el proceso es similar, pero significa más tipeo ya que la cadena mágica agregada a la línea de comando del núcleo tiene la forma de systemd.unit=desired.target
.
En cuanto a startx
, también puede iniciar sesiones adicionales dándole un número de pantalla X no utilizado (la numeración comienza desde 0): startx -- :1
iniciará el servidor X en la pantalla: 1, ubicándolo en el primer VT no utilizado (a menudo VT8, ya que los primeros 6 suelen ser Linux consolas y 7 es utilizado por la primera sesión X en ejecución). Tenga en cuenta que el servidor X generalmente necesita privilegios de root, por lo que debe hacer esto como root
(lo cual no es una buena idea), o el binario debe ser setuid root (la necesidad de esto normalmente se elimina mediante un administrador de visualización).
inittab
tiene mucho más sentido, ya que generalmente uno quiere llevar el sistema al mismo estado todo el tiempo.
En una nota al margen, si ya ha arrancado en modo gráfico y desea cambiar al modo de texto, puede presionar Ctrl+ Alt+ F1y volver al modo gráfico por Ctrl+ Alt+ F7.
Linux tiene por defecto 6 terminales de texto y 1 terminal gráfica. Puede cambiar entre estos terminales presionando Ctrl+ Alt+ Fn. Reemplazar n
con 1-7. F7lo llevaría al modo gráfico solo si arranca en el nivel de ejecución 5 o si ha iniciado X usando el startx
comando; de lo contrario, solo mostrará una pantalla en blanco F7.
Incluso siendo un hilo bastante viejo, puede ser útil. En el sistema que usa systemd
, / etc / inittab ya no está en uso. El método es bastante simple:
Modo terminal
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Modo gráfico
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
Después de reemplazar el nivel de ejecución predeterminado para id:3:initdefault:
en /etc/inittab
su editor de texto preferido (como se ha dicho anteriormente), es muy importante cheque si hay algo de Plymouth (pantalla de inicio) instalado en su sistema. En este caso, será necesario eliminar la instalación de la misma, o simplemente eliminar la palabra clave splash de usted /boot/grub/grub.cfg usando su editor de texto preferido (vim, pico u otros). Para eliminar plymouth:
sudo apt-get remove --purge plymouth
Edite su grub.cfg:
sudo vim /boot/grub/grub.cfg
Finalmente, actualice la configuración de grub:
sudo update-initramfs -u
En el próximo arranque, solo tendrá la pantalla de inicio de sesión en modo texto. Eso es.
¡Disfruta de Linux box!
La instalación de Oracle-Linux 7 por defecto tiene una opción mínima de instalación. Debe cambiarlo a la instalación con el modo GUI en el momento de la instalación. Esto ha resuelto mi problema de no poder usar el modo gráfico de usuario.
Utilizar
systemctl set-default multi-user.target
y reinicie la VM. La VM entrará en modo CLI.
startx
¿cómo puedo volver a la línea de comando?