Modalità solo testo in Linux (No Gnome, KDE, Unity) per prolungare la durata della batteria


14

Se desidero disabilitare completamente le mie GUI per risparmiare la durata della batteria, come procedere?

So che posso premere Ctrl + Alt + F3 ed essere sulla riga di comando, ma il desktop manager sarebbe ancora in background (suppongo).

Quindi, dopo Ctrl + Alt + F3, ho bisogno di tre comandi per:

  • dimmi la durata della batteria dalla riga di comando
  • chiudere ambienti desktop

ha senso?

Risposte:


11

Se desidero disabilitare completamente le mie GUI per risparmiare la durata della batteria, come procedere?

Puoi semplicemente disabilitare il tuo Display Manager (che si tratti di kde, lightdm, gdm, ecc.) Da eseguire all'avvio, esegui solo in base al tuo sistema:

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

Con questo non è necessario arrestare il desktop manager dopo l'avvio. Ma se non lo desideri, sudo /etc/init.d/<display_manager_name> stopil desktop manager verrà chiuso dopo l'avvio:

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

Funzionerà con qualsiasi sistema che usi upstart, come Debian e derivati.

Nel caso in cui il sistema utilizzi systemd, è possibile utilizzare 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>

dimmi la durata della batteria dalla riga di comando

Per visualizzare lo stato della batteria, è possibile installare, eseguire screen/ byobu(che è un gestore dello schermo e mostrerà la percentuale della batteria + altre statistiche) o in esecuzione acpi -b.

chiudere ambienti desktop

Controlla la mia risposta precedente.

So che posso premere Ctrl + Alt + F3 ed essere sulla riga di comando, ma il desktop manager sarebbe ancora in background (suppongo).

Ctrl+ Alt+ F1-6passa a uno dei tty. Tutti i programmi in esecuzione continueranno a essere eseguiti in background.


2
sudo service gdm stopnon lo disabiliterà all'avvio, ma arresta semplicemente il servizio. Per i lavori Upstart, sudo mv /etc/init/gdm.conf{,.norun}disabilitare.
bonsaiviking

@bonsaiviking non esiste alcun file di configurazione /etc/initper gdm, kdm o lightdm, gdm archivia i loro in /etc/dbus-1/system.d/, kdm in /etc/default.
Braiam,

quindi non sono lavori Upstart. Questo potrebbe essere il punto in cui memorizzano la configurazione, ma il servizio è probabilmente uno script di init System V in /etc/init.d/ gestito da symc rc. Usa sudo update-rc.d gdm disableinvece.
bonsaiviking

Su un sistema operativo senza systemd è inoltre possibile scegliere il runlevel in fase di esecuzione. Basta premere 'e' dal menu Grub2 e aggiungerlo init Nalla riga di avvio del kernel (dove si Ntrova ad esempio 3per i multiutente di Cli con rete attiva). Una fonte
tuk0z,

4

Qualcuno ha fatto allusione initquindi perché non usarlo con il runlevel specificato? Su Xubuntu l' ultimo 1 funziona per me.

$ 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.

Quindi è possibile arrestare i gestori desktop come afferma una risposta precedente o modificare la configurazione in vari modi .

Infine, se fossi su Solaris o simili , useresti uno inito svcadme "who -r" per visualizzare il runlevel corrente.


Sono d'accordo. Per un po 'ho avuto un sistema che per impostazione predefinita era runlevel 3 e avrei cambiato il runlevel a 5 quando volevo una GUI, e quando avevo finito.
Kevin,

Sui sistemi SysvInit (cioè senza systemd) ho sempre avuto qualcosa di leggermente diverso (solo scrivendo dove differisce): $ runlevel è: 2: inutilizzato; 3: Cli multiutente più networking; 4: inutilizzato; 5: multiutente grafico più rete.
tuk0z,

2

Il problema è che sulla maggior parte delle distribuzioni Linux, il initprocesso avvia Window Manager su un terminale a sé stante, quindi:

  1. Per uccidere tutta l'interfaccia grafica, dovrai essere root
  2. Anche se uccidi il server X come root, init lo riavvierà automaticamente mentre occupa uno dei tuoi terminali virtuali

Quindi, dovrai configurare il tuo sistema in modo che l'interfaccia grafica non venga avviata initall'avvio, il che ti consentirà di avviarlo e terminarlo manualmente in un normale tty. Non è molto comodo ma è fattibile. Cerca un file chiamato /etc/inittabe fai riferimento alla documentazione specifica della tua distribuzione per sapere come impedire l' initavvio di un'interfaccia grafica. Potrebbe essere solo una riga da rimuovere o commentare.

Per quanto riguarda l'altra domanda, puoi conoscere lo stato della batteria semplicemente digitando il comando acpi.


1

La parte "raccontando la durata della batteria" è più facile, userei byobu o un'utilità simile per quello. Questi manager sono fantastici in quanto separeranno le sessioni dai terminali, il che significa che puoi persino iniziare il tuo lavoro in DE in byobu, quindi semplicemente zappare il DE e continuare in tty.

Oppure puoi implementarlo all'interno della shell (pensiero $PS1e una funzione bash).

Per la parte di zapping, chiudere DE significa chiudere tutti i programmi in esecuzione all'interno di ciò, il che può significare una perdita di dati. Questo può essere visto come un motivo per cui è necessario l'accesso root.

Tuttavia, se lo vuoi davvero e vuoi essere in grado di farlo rapidamente in qualsiasi momento, puoi scrivere uno script per quello, "darlo" alla radice e impostare bit setuid in modo che se qualcuno esegue questo particolare script, verrà eseguito come root senza ulteriore autenticazione . Ciò che rende questo un po 'più complicato è che alcune distro non ti permetteranno di farlo con gli script . Questo può essere risolto creando un wrapper C che farà execlo script per te e userà invece quel wrapper.

Probabilmente preferirei questo approccio e prenderei in considerazione funzionalità aggiuntive come non eseguire lo zapping se eseguito all'interno del DE, non eseguire lo zapping immediato (come il periodo degli anni '60) o mapparlo su una chiave in Byobu.


0

Recentemente ho scoperto un bel pacchetto chiamato grml-rescuebootche, quando installato sul tuo computer, ti permette di posizionare un'immagine ISO nella directory / boot / grml e poi quando emetti il ​​comando update-grub lo aggiungerà al tuo avvio di grub come qualcosa da avviare.

SE usi la loro immagine ISO e fai il boot da quella totalmente basata su testo. Ma il bello di questa soluzione è che puoi sempre riavviare la tua configurazione normale quando sei vicino a una fonte di alimentazione.

Maggiori informazioni qui su come installare poiché questo pacchetto è disponibile dalla maggior parte delle distribuzioni, basta installarlo e leggere la pagina man.


-1

Solo init 3 esegue il sistema in modalità Testo.

oppure modifica / etc / inittab e modifica il livello di esecuzione su 3 se vuoi che una GUI cambi il livello di esecuzione su 5


Se si desidera eseguire il sistema senza la GUI. basta eseguire #init 3 o se si desidera eseguire il sistema in modalità testo, modificare / etc / inittab al livello 3 può sempre passare a Init 5.
Bill
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.