Modo somente texto no Linux (sem Gnome, KDE, Unity) para prolongar a vida útil da bateria

14

Se eu quiser desativar completamente minhas GUIs para economizar bateria, como eu devo proceder?

Eu sei que posso pressionar Ctrl + Alt + F3 e estar na linha de comando, mas o gerente da área de trabalho ainda estaria em segundo plano (suponho).

Então, depois de Ctrl + Alt + F3, eu preciso de três comandos para:

  • diga-me a duração da bateria a partir da linha de comando
  • fechar ambientes de área de trabalho

Isso faz sentido?

    
por juannot clearence 05.08.2013 / 18:14

6 respostas

11

If I want to disable my GUIs completely to save battery life, how would I proceed?

Você pode simplesmente desativar seu Gerenciador de Exibição (seja kde, lightdm, gdm, etc.) para executar na inicialização, basta executar dependendo do seu sistema:

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

Com isso, você não precisa parar o gerenciador de área de trabalho após a inicialização. Mas se você não quiser isso, sudo /etc/init.d/<display_manager_name> stop fechará o gerenciador da área de trabalho após a inicialização:

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

Isso funcionará em qualquer sistema que use upstart , como Debian e derivados.

Caso seu sistema use systemd , você pode 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>

tell me battery life from the command line

Para ver o status da sua bateria, você pode instalar e executar screen / byobu (que é um gerenciador de tela e mostrará a porcentagem da bateria + outras estatísticas) ou executando acpi -b .

close desktop environments

Verifique minha resposta anterior.

I know that I can hit Ctrl + Alt + F3 and be on the command line, but the desktop manager would be in the background still (I suppose).

Ctrl + Alt + F1-6 apenas muda para um dos tty. Todos os programas que você está executando continuarão executando em segundo plano.

    
por 05.08.2013 / 18:59
4

Alguém aludiu a init , então por que não usá-lo com o runlevel especificado? No Xubuntu , o mais recente 1 funciona para mim.

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

Em seguida, é possível parar os gerenciadores de área de trabalho como uma resposta anterior afirma ou alterar a configuração em várias maneiras .

Por fim, se você estava em Solaris ou similar , você usaria init ou svcadm e "who -r" para exibir o nível de execução atual.

    
por 05.08.2013 / 21:23
2

O problema é que na maioria das distribuições Linux, o processo init inicia o gerenciador de janelas em um terminal próprio, portanto:

  1. Para matar toda a interface gráfica, você terá que ser root
  2. Mesmo se você matar o servidor X como root, init irá reiniciá-lo automaticamente, pois ocupa um dos seus terminais virtuais

Portanto, você terá que configurar seu sistema para que a interface gráfica não seja ativada por init quando for iniciado, o que permitirá que você inicie e finalize manualmente em um tty regular. Isso não é muito conveniente, mas é viável. Procure um arquivo chamado /etc/inittab e consulte sua documentação específica de distribuição para saber como evitar que init inicie uma interface gráfica. Pode ser apenas uma linha para remover ou comentar.

Em relação à sua outra pergunta, você pode saber o status da sua bateria digitando o comando acpi .

    
por 05.08.2013 / 18:57
1

A parte "contando a vida da bateria" é mais fácil, eu usaria byobu ou utilitário similar para isso. Esses gerentes são ótimos na medida em que vão separar as sessões dos terminais, o que significa que você pode até mesmo iniciar seu trabalho em DE em byobu, então basta zapear o DE e continuar em tty.

Ou você pode implementar isso dentro do shell (pensando $PS1 e uma função bash).

Para a parte zapping, fechar DE significa fechar todos os programas em execução, o que pode significar uma perda de dados. Isso pode ser visto como um motivo pelo qual você precisa de acesso root.

No entanto, se você realmente quer isso, e quer ser capaz de fazê-lo rapidamente a qualquer momento, você pode escrever um script para isso, "dar" para root e setar setuid bit para que se alguém executar este script em particular, será executado como root sem qualquer outra autenticação . O que torna isso um pouco mais complicado é que algumas distros não permitem que você faça isso com scripts . Isso pode ser solucionado por criação de um wrapper C que irá exec do script para você e use esse wrapper em seu lugar.

Eu provavelmente iria com essa abordagem, além de considerar recursos adicionais, como não zapping, se executados de dentro do DE, não zapping nada imediatamente (como período de 60s) ou mapeando-o para uma chave em Byobu.

    
por 05.08.2013 / 19:29
0

Eu recentemente descobri um pacote legal chamado grml-rescueboot que, quando instalado em seu computador, permite que você coloque uma imagem ISO no diretório / boot / grml e, quando você emite o comando update-grub, irá adicionar isso ao seu boot grub como algo para inicializar.

SE você usa sua imagem ISO e inicializa a partir dela, é totalmente baseado em texto. Mas a beleza desta solução é que você pode sempre inicializar de volta à sua configuração normal quando estiver perto de uma fonte de energia.

Mais informações aqui sobre como instalar como este pacote está disponível na maioria das distribuições, basta instalá-lo e leia a página man.

    
por 05.08.2013 / 18:30
-1

Apenas o init 3 executa o sistema no modo Texto.

ou edite o / etc / inittab e mude o nível de execução para 3 se você quiser que uma GUI mude o nível de execução para 5

    
por 06.08.2013 / 08:10