Modo de solo texto en Linux (sin Gnome, KDE, Unity) para prolongar la vida útil de la batería

14

Si deseo desactivar mis GUI por completo para ahorrar batería, ¿cómo procedería?

Sé que puedo presionar Ctrl + Alt + F3 y estar en la línea de comando, pero el administrador de escritorio todavía estaría en segundo plano (supongo).

Entonces, después de Ctrl + Alt + F3, necesito tres comandos para:

  • dime la duración de la batería desde la línea de comando
  • entornos de escritorio cercanos

¿Esto tiene sentido?

autorización de juannot
fuente

Respuestas:

11

Si deseo desactivar mis GUI por completo para ahorrar batería, ¿cómo procedería?

Puede deshabilitar su Administrador de pantalla (ya sea kde, lightdm, gdm, etc.) para que se ejecute en el arranque, solo ejecute dependiendo de su sistema:

sudo update-rc.d gdm remove
sudo update-rc.d kdm remove
sudo update-rc.d lightdm remove

Con esto no tiene que detener el administrador de escritorio después de arrancar. Pero si no quiere esto, sudo /etc/init.d/<display_manager_name> stopcerrará el administrador de escritorio después del arranque:

sudo service gdm stop
sudo service kdm stop
sudo service lightdm stop

Esto funcionará en cualquier sistema que use upstart, como Debian y derivados.

En caso de que su sistema use systemd, puede usar systemctl:

## All the next lines are executed as root
systemctl disable gdm ## or gdm3
systemctl disable kdm
systemctl disable lightdm
systemctl disable <name_of_the_service>

dime la duración de la batería desde la línea de comando

Para ver el estado de la batería, puede instalar y ejecutar screen/ byobu(que es un administrador de pantalla y mostrará el porcentaje de la batería + otras estadísticas) o en ejecución acpi -b.

entornos de escritorio cercanos

Comprueba mi respuesta anterior.

Sé que puedo presionar Ctrl + Alt + F3 y estar en la línea de comando, pero el administrador de escritorio todavía estaría en segundo plano (supongo).

Ctrl+ Alt+ F1-6simplemente cambia a uno de los tty. Todos los programas que esté ejecutando continuarán ejecutándose en segundo plano.

Braiam
fuente
2
sudo service gdm stopno lo deshabilitará en el arranque, sino que simplemente detendrá el servicio. Para trabajos de Upstart, sudo mv /etc/init/gdm.conf{,.norun}para deshabilitar.
bonsaiviking
@bonsaiviking no hay ningún archivo de configuración /etc/initpara gdm, kdm o lightdm, gdm almacena el suyo en /etc/dbus-1/system.d/, kdm in /etc/default.
Braiam
entonces no son trabajos de Upstart. Ahí es donde almacenan la configuración, pero el servicio es probablemente un script de inicio de System V en /etc/init.d/ administrado por los enlaces simbólicos de rc. Usar en su sudo update-rc.d gdm disablelugar.
bonsaiviking
En un sistema operativo sin sistemad también puede elegir el nivel de ejecución en tiempo de ejecución. Simplemente presione 'e' mientras está en el menú de Grub2 y agréguelo init Na la línea de arranque del kernel (donde Nestá, por ejemplo, 3para Cli multiusuario con la red activada ). Una fuente
tuk0z
4

Alguien aludió, init¿por qué no usarlo con el nivel de ejecución especificado? En Xubuntu, el último 1 funciona para mí.

$ runlevel  \\just to show your actual runlevel, expect N 2.
$ sudo telinit $runlevel
   where $runlevel is either:
    0 : System halt.
    1 : Single-User mode.
    2 : Graphical multi-user plus networking (DEFAULT)
    3 : Same as "2", but not used.
    4 : Same as "2", but not used.
    5 : Same as "2", but not used.
    6 : System reboot.

Entonces es posible detener los administradores de escritorio como dice una respuesta previa o cambiar la configuración de varias maneras .

Por último, si estuviera en Solaris o similar , usaría inito svcadmy "who -r" para mostrar el nivel de ejecución actual.

Comunidad
fuente
Estoy de acuerdo. Durante un tiempo tuve un sistema que tenía por defecto el nivel de ejecución 3 y cambiaba el nivel de ejecución a 5 cuando quería una interfaz gráfica de usuario, y luego cuando terminaba.
Kevin
Mientras que en los sistemas SysvInit (es decir, sin systemd) siempre he tenido algo un poco diferente (solo escribiendo donde difiere): $ runlevel es: 2: no utilizado; 3: Cli multiusuario más redes; 4: sin usar; 5: Gráficos multiusuario más redes.
tuk0z
2

El problema es que en la mayoría de las distribuciones de Linux, el initproceso inicia el administrador de ventanas en un terminal propio, por lo que:

  1. Para eliminar toda la interfaz gráfica, deberás ser root
  2. Incluso si elimina el servidor X como root, init lo reiniciará automáticamente ya que ocupa uno de su terminal virtual

Por lo tanto, tendrá que configurar su sistema para que la interfaz gráfica no se inicie initcuando se inicie, lo que le permitirá iniciarla y finalizarla manualmente en un tty regular. Eso no es realmente conveniente, pero es factible. Busque un archivo llamado /etc/inittaby consulte la documentación específica de su distribución para saber cómo evitar que se initinicie una interfaz gráfica. Puede ser solo una línea para eliminar o comentar.

Con respecto a su otra pregunta, puede conocer el estado de su batería simplemente escribiendo el comando acpi.

lgeorget
fuente
1

La parte de "decir la duración de la batería" es más fácil, usaría byobu o una utilidad similar para eso. Estos gerentes son excelentes porque separan las sesiones de las terminales, lo que significa que incluso puede comenzar su trabajo en DE en byobu, luego simplemente eliminar el DE y continuar en tty.

O puede implementar esto dentro de shell (pensamiento $PS1y una función bash).

Para la parte de zapping, cerrar DE significa cerrar todos los programas que se ejecutan dentro de eso, lo que puede significar una pérdida de datos. Eso puede verse como una razón por la que necesita acceso root.

Sin embargo, si realmente quiere esto, y quiere poder hacerlo rápidamente en cualquier momento, puede escribir un script para eso, "darle" a la raíz y establecer el bit setuid para que si alguien ejecuta este script en particular, se ejecutará como root sin ninguna otra autenticación . Lo que hace esto un poco más complicado es que algunas distribuciones no te permitirán hacer esto con scripts . Esto se puede resolver creando un contenedor C que muestreexec el script por usted y use ese contenedor en su lugar.

Probablemente iría con este enfoque y consideraría características adicionales como no eliminar si se ejecuta desde el DE, no eliminar nada de inmediato (como el período de los 60) o asignarlo a una clave en Byobu.

Alois Mahdal
fuente
0

Recientemente descubrí un buen paquete llamado grml-rescuebootque cuando está instalado en su computadora le permite colocar una imagen ISO en el directorio / boot / grml y luego, cuando emite el comando update-grub, lo agregará a su arranque de grub como algo para arrancar.

SI usa su imagen ISO y arranca desde allí, está totalmente basada en texto. Pero la belleza de esta solución es que siempre puede reiniciar en su configuración normal cuando está cerca de una fuente de alimentación.

Aquí encontrará más información sobre cómo instalar, ya que este paquete está disponible en la mayoría de las distribuciones, simplemente instálelo y lea la página del manual.

Meer Borg
fuente
-1

Solo init 3 ejecuta el sistema en modo Texto.

o edite / etc / inittab y cambie el nivel de ejecución a 3 si desea una GUI, cambie el nivel de ejecución a 5

Cuenta
fuente
Si desea ejecutar su sistema sin GUI. simplemente ejecute #init 3 o si desea ejecutar su sistema en modo de texto, cambie / etc / inittab al nivel 3, siempre puede cambiar a Init 5.
Bill