Tryb tekstowy w Linuksie (bez Gnome, KDE, Unity) w celu przedłużenia żywotności baterii

14

Jeśli chcę całkowicie wyłączyć GUI, aby oszczędzać baterię, jak mam postępować?

Wiem, że mogę nacisnąć Ctrl + Alt + F3 i być w wierszu poleceń, ale menedżer pulpitu nadal będzie w tle (tak sądzę).

Po Ctrl + Alt + F3 potrzebuję trzech poleceń, aby:

  • powiedz mi żywotność baterii z wiersza poleceń
  • zamknij środowiska pulpitu

Czy to ma sens?

Juannot Clear
źródło

Odpowiedzi:

11

Jeśli chcę całkowicie wyłączyć GUI, aby oszczędzać baterię, jak mam postępować?

Możesz po prostu wyłączyć Menedżera ekranu (kde, lightdm, gdm itp.), Aby uruchamiał się przy starcie systemu, po prostu uruchom w zależności od systemu:

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

Dzięki temu nie musisz zatrzymywać menedżera pulpitu po uruchomieniu. Ale jeśli nie chcesz tego, sudo /etc/init.d/<display_manager_name> stopzamknie menedżera pulpitu po uruchomieniu:

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

Działa to w każdym używanym systemie upstart, takim jak Debian i pochodne.

W przypadku korzystania z systemu systemdmożesz użyć 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>

powiedz mi żywotność baterii z wiersza poleceń

Aby zobaczyć swój status baterii, możesz albo zainstalować i uruchomić screen/ byobu(który jest menedżerem ekranu i pokaże procent baterii + inne statystyki) lub uruchomić acpi -b.

zamknij środowiska pulpitu

Sprawdź moją poprzednią odpowiedź.

Wiem, że mogę nacisnąć Ctrl + Alt + F3 i być w wierszu poleceń, ale menedżer pulpitu nadal będzie w tle (tak sądzę).

Ctrl+ Alt+ F1-6po prostu przełącz się na jeden z tty. Wszystkie uruchomione programy będą nadal działać w tle.

Braiam
źródło
2
sudo service gdm stopnie wyłączy go podczas uruchamiania, ale po prostu zatrzyma usługę. W przypadku zadań Upstart, sudo mv /etc/init/gdm.conf{,.norun}aby wyłączyć.
bonsaiviking
@ bonsaiviking nie ma pliku konfiguracyjnego /etc/initdla gdm, kdm lub lightdm, gdm przechowuje je w /etc/dbus-1/system.d/, kdm w /etc/default.
Braiam
wtedy nie są to zadania Upstart. Być może tam przechowują konfigurację, ale usługa jest prawdopodobnie prawdopodobnie skryptem startowym Systemu V w /etc/init.d/ zarządzanym przez rc dowiązania symboliczne. Użyj sudo update-rc.d gdm disablezamiast tego.
bonsaiviking
W systemie operacyjnym bez systemowym możesz również wybrać poziom działania w czasie wykonywania. Wystarczy nacisnąć „e” w menu Grub2 i dodać init Ndo linii rozruchowej jądra (gdzie Njest np. 3Dla wielu użytkowników Cli z włączoną siecią). Źródło
tuk0z
4

Ktoś nawiązał do inittego, dlaczego więc nie użyć go z określonym poziomem działania? Na Xubuntu najnowsza 1 działa dla mnie.

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

Następnie możliwe jest zatrzymanie menedżerów pulpitu w stanie wcześniejszej odpowiedzi lub zmiana konfiguracji na różne sposoby .

Na koniec, jeśli korzystasz z systemu Solaris lub podobnego , użyjesz albo initalbo svcadmi „who -r”, aby wyświetlić bieżący poziom działania.

Społeczność
źródło
Zgadzam się. Przez jakiś czas miałem system, który domyślnie ustawiał poziom pracy 3 i zmieniałem poziom pracy na 5, gdy chciałem GUI, i z powrotem, kiedy skończyłem.
Kevin
Podczas gdy w systemach SysvInit (tj. Bez systemd) zawsze miałem coś innego (pisanie tylko tam, gdzie się różni): $ runlevel jest albo: 2: nieużywany; 3: Cli dla wielu użytkowników plus sieć; 4: nieużywany; 5: Graficzny dla wielu użytkowników plus sieć.
tuk0z
2

Problem polega na tym, że w większości dystrybucji Linuksa initproces uruchamia menedżera okien na własnym terminalu, więc:

  1. Aby zabić cały interfejs graficzny, musisz być rootem
  2. Nawet jeśli zabijesz serwer X jako root, init zrestartuje go automatycznie, ponieważ zajmuje jeden z twoich wirtualnych terminali

Musisz więc skonfigurować system tak, aby interfejs graficzny nie był uruchamiany przed uruchomieniem init, co umożliwi uruchomienie i zakończenie go ręcznie w zwykłym tty. To nie jest zbyt wygodne, ale jest wykonalne. Poszukaj pliku o nazwie /etc/inittabi zapoznaj się z dokumentacją specyficzną dla dystrybucji, aby dowiedzieć się, jak zapobiec inituruchomieniu interfejsu graficznego. Może to być po prostu wiersz do usunięcia lub komentarza.

Jeśli chodzi o twoje drugie pytanie, możesz poznać swój stan baterii, po prostu wpisując polecenie acpi.

lgeorget
źródło
1

Część „informowanie o żywotności baterii” jest łatwiejsza, użyłbym do tego byobu lub podobnego narzędzia. Ci menedżerowie są świetni, ponieważ oddzielają sesje od terminali, co oznacza, że ​​możesz nawet rozpocząć pracę w języku DE w Byobu, a następnie po prostu zapełnić DE i kontynuować w tty.

Lub możesz to zaimplementować w powłoce (myślenie $PS1i funkcja bash).

Dla części zapping, zamknięcie DE oznacza zamknięcie wszystkich programów działających w tym obszarze, co może oznaczać utratę danych. Można to uznać za powód, dla którego potrzebujesz dostępu do roota.

Jeśli jednak naprawdę tego chcesz i chcesz szybko to zrobić w dowolnym momencie, możesz napisać do tego skrypt, „dać” go rootowi i ustawić bit setuid, aby jeśli ktoś uruchomi ten skrypt, będzie działał jako root bez dalszego uwierzytelnienia . To, co czyni to trochę bardziej skomplikowanym, to fakt, że niektóre dystrybucje nie pozwalają na to ze skryptami . Można to rozwiązać, tworząc opakowanie C, które będzie execskryptem dla Ciebie i użyj tego opakowania.

Prawdopodobnie wybrałbym to podejście i rozważę dodatkowe funkcje, takie jak brak przełączania, jeśli jest uruchamiany z wnętrza DE, nieprzerzucanie niczego natychmiast (na przykład okres 60.) lub mapowanie go na klucz w Byobu.

Alois Mahdal
źródło
0

Niedawno odkryłem fajny pakiet o nazwie, grml-rescuebootktóry po zainstalowaniu na twoim komputerze pozwala ci umieścić obraz ISO w katalogu / boot / grml, a następnie po wydaniu polecenia update-grub doda to do twojego bootowania jako gruba.

JEŻELI użyjesz ich obrazu ISO i uruchomisz z niego całkowicie tekstowy. Ale piękno tego rozwiązania polega na tym, że zawsze możesz wrócić do normalnej konfiguracji, gdy jesteś w pobliżu źródła zasilania.

Więcej informacji na temat instalacji, ponieważ ten pakiet jest dostępny w większości dystrybucji, po prostu zainstaluj go i przeczytaj stronę podręcznika.

Meer Borg
źródło
-1

Po prostu init 3 uruchom system w trybie tekstowym.

lub edytuj / etc / inittab i zmień poziom uruchomienia na 3, jeśli chcesz, aby GUI zmieniło poziom uruchomienia na 5

Rachunek
źródło
Jeśli chcesz uruchomić system bez GUI. wystarczy uruchomić #init 3 lub jeśli chcesz uruchomić system w trybie tekstowym, zmień / etc / inittab na poziom 3, zawsze możesz zmienić na Init 5.
Bill