Mode texte uniquement sous Linux (No Gnome, KDE, Unity) pour prolonger la durée de vie de la batterie

14

Si je veux désactiver complètement mes interfaces graphiques pour économiser la batterie, comment dois-je procéder?

Je sais que je peux appuyer sur Ctrl + Alt + F3 et être sur la ligne de commande, mais le gestionnaire de bureau serait toujours en arrière-plan (je suppose).

Donc, après Ctrl + Alt + F3, j'ai besoin de trois commandes pour:

  • dites-moi la vie de la batterie depuis la ligne de commande
  • fermer les environnements de bureau

Est-ce que ça a du sens?

juannot clearence
la source

Réponses:

11

Si je veux désactiver complètement mes interfaces graphiques pour économiser la batterie, comment dois-je procéder?

Vous pouvez simplement désactiver votre gestionnaire d'affichage (que ce soit kde, lightdm, gdm, etc.) pour qu'il s'exécute au démarrage, il suffit de l'exécuter en fonction de votre système:

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

Avec cela, vous n'avez pas à arrêter le gestionnaire de bureau après le démarrage. Mais si vous ne le souhaitez pas, sudo /etc/init.d/<display_manager_name> stople gestionnaire de bureau se fermera après le démarrage:

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

Cela fonctionnera dans n'importe quel système qui utilise upstart, comme Debian et ses dérivés.

systemdSi votre système utilise , vous pouvez utiliser 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>

dites-moi la vie de la batterie depuis la ligne de commande

Pour voir l'état de votre batterie, vous pouvez soit installer et exécuter screen/ byobu(qui est un gestionnaire d'écran, et affichera le pourcentage de la batterie + d'autres statistiques) ou en cours d'exécution acpi -b.

fermer les environnements de bureau

Vérifiez ma réponse précédente.

Je sais que je peux appuyer sur Ctrl + Alt + F3 et être sur la ligne de commande, mais le gestionnaire de bureau serait toujours en arrière-plan (je suppose).

Ctrl+ Alt+ F1-6il vous suffit de passer à l'un des tty. Tous les programmes que vous exécutez continueront de s'exécuter en arrière-plan.

Braiam
la source
2
sudo service gdm stopne le désactivera pas au démarrage, mais arrêtera simplement le service. Pour les travaux Upstart, sudo mv /etc/init/gdm.conf{,.norun}à désactiver.
bonsaiviking
@bonsaiviking il n'y a pas de fichier de configuration /etc/initpour gdm, kdm ou lightdm, gdm stocke le leur dans /etc/dbus-1/system.d/, kdm dans /etc/default.
Braiam
alors ce ne sont pas des emplois Upstart. C'est peut-être là qu'ils stockent la configuration, mais le service est alors probablement un script d'initialisation System V dans /etc/init.d/ géré par des liens symboliques rc. Utilisez sudo update-rc.d gdm disableplutôt.
bonsaiviking
Sur un système d'exploitation sans système, vous pouvez également choisir le niveau d'exécution au moment de l'exécution. Appuyez simplement sur 'e' dans le menu Grub2 et ajoutez-le init Nà la ligne de démarrage du noyau (où Nest par exemple 3pour Cli multi-utilisateurs avec le réseau activé ). Une source
tuk0z
4

Quelqu'un a fait allusion, initalors pourquoi ne pas l' utiliser avec le niveau d'exécution spécifié? Le dernier Xubuntu fonctionne pour moi.

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

Il est ensuite possible d'arrêter les gestionnaires de bureau en tant qu'états de réponse antérieurs ou de modifier la configuration de différentes manières .

Enfin si vous étiez sur Solaris ou similaire , vous utiliseriez soit initou svcadmet "who -r" pour afficher le niveau d'exécution actuel.

Communauté
la source
Je suis d'accord. Pendant un certain temps, j'avais un système qui était par défaut au niveau d'exécution 3 et je changerais le niveau d'exécution à 5 lorsque je voulais un GUI, et de retour lorsque j'aurais fini.
Kevin
Sur les systèmes SysvInit (c'est-à-dire sans système), j'ai toujours eu quelque chose d'un peu différent (n'écrivant que là où il diffère): $ runlevel est soit: 2: inutilisé; 3: Cli multi-utilisateurs plus réseau; 4: inutilisé; 5: Multi-utilisateur graphique plus réseau.
tuk0z
2

Le problème est que sur la plupart des distributions Linux, le initprocessus lance le gestionnaire de fenêtres sur son propre terminal, donc:

  1. Pour tuer toutes les interfaces graphiques, vous devrez être root
  2. Même si vous tuez le serveur X en tant que root, init le redémarrera automatiquement car il occupe l'un de vos terminaux virtuels

Vous devrez donc configurer votre système pour que l'interface graphique ne soit pas lancée par init démarrage, ce qui vous permettra de le lancer et de le terminer manuellement dans un tty normal. Ce n'est pas vraiment pratique mais c'est faisable. Recherchez un fichier appelé /etc/inittabet reportez-vous à la documentation spécifique à votre distribution pour savoir comment empêcher le initdémarrage d'une interface graphique. Il peut simplement s'agir d'une ligne à supprimer ou à commenter.

Concernant votre autre question, vous pouvez connaître l'état de votre batterie en tapant simplement la commande acpi.

lgeorget
la source
1

La partie "raconter la durée de vie de la batterie" est plus facile, j'utiliserais byobu ou un utilitaire similaire pour cela. Ces gestionnaires sont formidables en ce qu'ils sépareront les sessions des terminaux, ce qui signifie que vous pouvez même commencer votre travail en DE dans byobu, puis zapper le DE et continuer en tty.

Ou vous pouvez l'implémenter dans le shell (en pensant $PS1 et fonction bash).

Pour la partie zapping, fermer DE signifie fermer tous les programmes en cours d'exécution, ce qui peut signifier une perte de données. Cela peut être considéré comme une raison pour laquelle vous avez besoin d'un accès root.

Cependant, si vous le voulez vraiment et que vous voulez pouvoir le faire rapidement à tout moment, vous pouvez écrire un script pour cela, le "donner" à root et définir le bit setuid de sorte que si quelqu'un exécute ce script particulier, il s'exécutera comme root sans autre authentification . Ce qui rend ce petit plus compliqué, c'est que certaines distributions ne vous permettent pas de le faire avec des scripts . Cela peut être résolu en créant un wrapper C quiexec le script pour vous et utilisera ce wrapper à la place.

J'irais probablement avec cette approche et envisagerais des fonctionnalités supplémentaires comme ne pas zapper si elles sont exécutées à l'intérieur du DE, ne rien zapper immédiatement (comme la période des années 60) ou le mapper à une clé dans Byobu.

Alois Mahdal
la source
0

J'ai récemment découvert un joli package appelé grml-rescuebootqui, lorsqu'il est installé sur votre ordinateur, vous permet de placer une image ISO dans le répertoire / boot / grml, puis lorsque vous exécutez la commande update-grub l'ajoutera à votre démarrage grub comme quelque chose à démarrer.

SI vous utilisez leur image ISO et démarrez à partir de là, elle est entièrement basée sur du texte. Mais la beauté de cette solution est que vous pouvez toujours redémarrer dans votre configuration normale lorsque vous êtes près d'une source d'alimentation.

Plus d'informations ici sur la façon d'installer car ce package est disponible dans la plupart des distributions, installez-le et lisez la page de manuel.

Meer Borg
la source
-1

Init 3 lancez le système en mode texte.

ou éditez / etc / inittab et changez le niveau d'exécution à 3 si vous voulez une interface graphique changez le niveau d'exécution à 5

Facture
la source
Si vous souhaitez exécuter votre système sans interface graphique. exécutez simplement #init 3 ou si vous voulez exécuter votre système en mode texte, changez / etc / inittab au niveau 3 peut toujours changer en Init 5.
Bill