Nur-Text-Modus unter Linux (No Gnome, KDE, Unity) zur Verlängerung der Akkulaufzeit

14

Wie gehe ich vor, wenn ich meine GUIs vollständig deaktivieren möchte, um die Akkulaufzeit zu verlängern?

Ich weiß, dass ich Strg + Alt + F3 drücken und in der Befehlszeile sein kann, aber der Desktop-Manager würde immer noch im Hintergrund sein (nehme ich an).

Nach Strg + Alt + F3 benötige ich drei Befehle, um:

  • Sagen Sie mir die Akkulaufzeit von der Kommandozeile
  • Schließen Sie Desktop-Umgebungen

Macht das Sinn?

Ich kann es nicht klären
quelle

Antworten:

11

Wie gehe ich vor, wenn ich meine GUIs vollständig deaktivieren möchte, um die Akkulaufzeit zu verlängern?

Sie können Ihren Display Manager (kde, lightdm, gdm usw.) einfach deaktivieren, um ihn beim Booten auszuführen. Dies hängt von Ihrem System ab:

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

Damit müssen Sie den Desktop-Manager nach dem Booten nicht mehr anhalten. Wenn Sie dies jedoch nicht möchten, sudo /etc/init.d/<display_manager_name> stopwird der Desktop-Manager nach dem Booten geschlossen:

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

Dies funktioniert in jedem System, das upstartDebian und Derivate verwendet.

Falls Ihr System verwendet systemd, können Sie Folgendes verwenden 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>

Sagen Sie mir die Akkulaufzeit von der Kommandozeile

Für Ihren Batterie - Status zu sehen , können Sie entweder, Installieren und Ausführen von screen/ byobu(der ein Bildschirm - Manager ist, und den Prozentsatz der Batterie + andere Statistiken zeigen) oder Laufens acpi -b.

Schließen Sie Desktop-Umgebungen

Überprüfen Sie meine vorherige Antwort.

Ich weiß, dass ich Strg + Alt + F3 drücken und in der Befehlszeile sein kann, aber der Desktop-Manager würde immer noch im Hintergrund sein (nehme ich an).

Ctrl+ Alt+ F1-6Schalten Sie einfach auf einen der tty. Alle von Ihnen ausgeführten Programme werden weiterhin im Hintergrund ausgeführt.

Braiam
quelle
2
sudo service gdm stopwird es nicht beim Booten deaktivieren, sondern nur den Dienst beenden. sudo mv /etc/init/gdm.conf{,.norun}Deaktivieren Sie Upstart-Jobs .
Bonsaiviking
@bonsaiviking Es gibt keine Konfigurationsdatei /etc/initfür GDM, KDM oder LightDM. GDM speichert ihre Dateien in, KDM /etc/dbus-1/system.d/in /etc/default.
Braiam
dann sind sie keine Upstart-Jobs. Möglicherweise speichern sie dort die Konfiguration, aber der Dienst ist dann wahrscheinlich ein System V-Init-Skript in /etc/init.d/, das von rc symlinks verwaltet wird. Verwenden Sie sudo update-rc.d gdm disablestattdessen.
Bonsaiviking
Auf einem Betriebssystem ohne System können Sie den Runlevel auch zur Laufzeit auswählen. Drücken Sie einfach 'e', ​​während Sie sich im Grub2-Menü befinden, und ergänzen Sie init Ndie Kernel-Boot-Zeile (wo Nsich z. B. 3für Cli-Mehrbenutzer mit eingeschaltetem Netzwerk befindet). Eine Quelle
tuk0z
4

Jemand spielte auf , initalso warum nicht sie verwenden mit dem angegebenen Runlevel? Auf Xubuntu funktioniert aktuell 1 für mich.

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

Dann ist es möglich, die Desktop-Manager zu stoppen, wenn eine vorherige Antwort vorliegt, oder die Konfiguration auf verschiedene Arten zu ändern .

Wenn Sie unter Solaris oder einem ähnlichen Betriebssystem arbeiten , können Sie entweder initoder svcadmund "who -r" verwenden, um den aktuellen Runlevel anzuzeigen.

Gemeinschaft
quelle
Genau. Für eine Weile hatte ich ein System, das standardmäßig Runlevel 3 hatte und ich änderte das Runlevel auf 5, wenn ich eine GUI wollte, und zurück, wenn ich fertig war.
Kevin
Auf SysvInit-Systemen (dh ohne System) hatte ich immer etwas anderes (nur das Schreiben, wo es anders ist): $ runlevel ist entweder: 2: unbenutzt; 3: Cli Multi-User plus Netzwerk; 4: unbenutzt; 5: Grafische Mehrbenutzer- und Netzwerkfunktionen.
Tuk0z
2

Das Problem ist, dass bei den meisten Linux-Distributionen initder Fenstermanager auf einem eigenen Terminal gestartet wird.

  1. Um alle grafischen Benutzeroberflächen zu deaktivieren, müssen Sie als Root angemeldet sein
  2. Auch wenn Sie den X-Server als Root beenden, init wird er automatisch neu gestartet, sobald er eines Ihrer virtuellen Terminals belegt

Sie müssen Ihr System also so konfigurieren, dass die grafische Oberfläche beim Start nicht gestartet wird, sodass initSie sie in regelmäßigen Abständen manuell starten und beenden können. Das ist nicht wirklich praktisch, aber machbar. Suchen Sie nach einer Datei mit dem Namen /etc/inittabund lesen Sie in der verteilungsspezifischen Dokumentation nach, wie Sie verhindern können, dass initeine grafische Benutzeroberfläche gestartet wird. Es kann nur eine Zeile zum Entfernen oder Kommentieren sein.

In Bezug auf Ihre andere Frage können Sie Ihren Batteriestatus durch Eingabe des Befehls ermitteln acpi.

lgeorget
quelle
1

Das Erkennen der Batterielebensdauer ist einfacher. Dafür würde ich byobu oder ein ähnliches Dienstprogramm verwenden. Diese Manager sind insofern großartig, als sie die Sitzungen von den Terminals trennen, was bedeutet, dass Sie sogar Ihre Arbeit in DE in byobu beginnen können, dann einfach die DE zappen und mit tty fortfahren können.

Oder Sie können dies in der Shell implementieren (Denken $PS1und eine Bash-Funktion).

DE zu schließen bedeutet für den Zapping-Teil, alle Programme zu schließen, die darin laufen, was einen Datenverlust bedeuten kann. Dies kann als Grund dafür angesehen werden, dass Sie Root-Zugriff benötigen.

Wenn Sie dies jedoch wirklich wollen und es jederzeit schnell erledigen möchten, können Sie ein Skript dafür schreiben, es dem root "geben" und das setuid-Bit setzen, so dass es ausgeführt wird, wenn jemand dieses spezielle Skript ausführt root ohne weitere Authentifizierung . Was dies etwas komplizierter macht, ist, dass einige Distributionen dies nicht mit Skripten zulassen . Dies kann gelöst werden, indem ein C-Wrapper erstellt wird, der execdas Skript für Sie erstellt und stattdessen diesen Wrapper verwendet.

Ich würde mich wahrscheinlich für diesen Ansatz entscheiden und zusätzliche Funktionen in Betracht ziehen, z. B. das Nichtzappen von Inhalten innerhalb der DE, nicht sofortiges Zappen von Inhalten (z. B. 60-er Jahre) oder das Zuordnen zu einem Schlüssel in Byobu.

Alois Mahdal
quelle
0

Ich habe kürzlich ein nettes Paket namens entdeckt, mit grml-rescuebootdem Sie, wenn es auf Ihrem Computer installiert ist, ein ISO-Image in das Verzeichnis / boot / grml kopieren können. Wenn Sie dann den Befehl update-grub ausführen, wird dies Ihrem grub-Boot als etwas zum Booten hinzugefügt.

WENN Sie ihr ISO-Image verwenden und von diesem booten, ist es vollständig textbasiert. Das Schöne an dieser Lösung ist jedoch, dass Sie jederzeit in die normale Konfiguration zurückkehren können, wenn Sie sich in der Nähe einer Stromquelle befinden.

Weitere Informationen zur Installation finden Sie hier, da dieses Paket von den meisten Distributionen erhältlich ist. Installieren Sie es einfach und lesen Sie die Manpage.

Meer Borg
quelle
-1

Starten Sie einfach das System im Textmodus.

oder bearbeiten Sie / etc / inittab und ändern Sie den Runlevel auf 3, wenn Sie möchten, dass eine GUI den Runlevel auf 5 ändert

Rechnung
quelle
Wenn Sie Ihr System ohne GUI ausführen möchten. Führen Sie einfach #init 3 aus. Wenn Sie Ihr System im Textmodus ausführen möchten, ändern Sie die Datei / etc / inittab auf Stufe 3. Sie können immer auf Init 5 wechseln.
Rechnung