Modo somente texto no Linux (No Gnome, KDE, Unity) para prolongar a duração da bateria

14

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

Eu sei que posso pressionar Ctrl + Alt + F3 e estar na linha de comando, mas o gerenciador de desktop ainda estaria em segundo plano (suponho).

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

  • diga-me a duração da bateria na linha de comando
  • fechar ambientes de desktop

Isso faz sentido?

juannot apuramento
fonte

Respostas:

11

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

Você pode simplesmente desativar o 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 desktop após a inicialização. Mas se você não quiser isso, sudo /etc/init.d/<display_manager_name> stopfechará o gerenciador de desktop 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>

diga-me a duração da bateria na linha de comando

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

fechar ambientes de desktop

Verifique minha resposta anterior.

Eu sei que posso pressionar Ctrl + Alt + F3 e estar na linha de comando, mas o gerenciador de desktop ainda estaria em segundo plano (suponho).

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

Braiam
fonte
2
sudo service gdm stopnão o desabilitará na inicialização, mas apenas interromperá o serviço. Para trabalhos iniciados, sudo mv /etc/init/gdm.conf{,.norun}desative.
bonsaiviking
@bonsaiviking não existe um arquivo de configuração /etc/initpara o gdm, kdm ou lightdm, o gdm armazena o deles /etc/dbus-1/system.d/, o kdm in /etc/default.
Braiam
então eles não são trabalhos iniciados. Pode ser onde eles armazenam a configuração, mas o serviço provavelmente é um script de inicialização do System V no /etc/init.d/ gerenciado por rc symlinks. Use em sudo update-rc.d gdm disablevez disso.
bonsaiviking
Em um sistema operacional sem sistema, você também pode escolher o nível de execução no tempo de execução. Basta pressionar 'e' enquanto estiver no menu Grub2 e adicionar init Nà linha de inicialização do kernel (onde Né, por exemplo, 3para multiusuários Cli com a rede ligada). Uma fonte
tuk0z
4

Alguém aludiu a initisso, por que não usá-lo com o nível de execução 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 indica ou alterar a configuração de várias maneiras .

Por fim, se você estivesse no Solaris ou similar , usaria ou initou svcadm"who -r" para exibir o nível de execução atual.

Comunidade
fonte
Concordo. Por um tempo, eu tinha um sistema que padronizava o nível de execução 3 e alterava o nível de execução para 5 quando eu queria uma GUI e voltava quando terminava.
5133 Kevin
Enquanto em sistemas SysvInit (isto é, systemd-less), sempre tive algo um pouco diferente (apenas escrevendo onde é diferente): $ runlevel é: 2: não utilizado; 3: Cli multiusuário mais rede; 4: não utilizado; 5: Multiusuários gráficos mais rede.
Tuk0z
2

O problema é que, na maioria das distribuições Linux, o initprocesso 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, ele init será reiniciado automaticamente, pois ocupa um dos seus terminais virtuais

Portanto, você terá que configurar seu sistema para que a interface gráfica não seja iniciada initquando for iniciada, o que permitirá iniciar e finalizar manualmente em um tty regular. Isso não é realmente conveniente, mas é viável. Procure um arquivo chamado /etc/inittabe consulte a documentação específica da sua distribuição para saber como impedir o initinício de 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 bateria digitando o comando acpi.

lgeorget
fonte
1

A parte "informando a duração da bateria" é mais fácil, eu usaria byobu ou utilitário semelhante para isso. Esses gerentes são ótimos em separar as sessões dos terminais, o que significa que você pode começar seu trabalho no DE no byobu, depois apenas zapá-lo e continuar no tty.

Ou você pode implementar isso dentro do shell (pensamento $PS1e uma função bash).

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

No entanto, se você realmente deseja isso e deseja fazê-lo rapidamente a qualquer momento, pode escrever um script para isso, "fornecê-lo" para root e definir o bit setuid, para que, se alguém executar esse script em particular, ele será executado como raiz sem qualquer autenticação adicional . O que torna isso um pouco mais complicado é que algumas distribuições não permitem fazer isso com scripts . Isso pode ser resolvido criando um wrapper C que será execo script para você e use esse wrapper.

Eu provavelmente usaria essa abordagem e consideraria recursos adicionais, como não zapping se executado dentro do DE, não zapping nada imediatamente (como o período dos anos 60) ou mapeá-lo para uma chave no Byobu.

Alois Mahdal
fonte
0

Descobri recentemente um bom pacote chamado grml-rescuebootque, quando instalado no seu computador, permite que você coloque uma imagem ISO no diretório / boot / grml e, ao emitir o comando update-grub, adiciona-o à sua inicialização do grub como algo para inicializar.

Se você usar a imagem ISO e inicializar a partir disso, é totalmente baseado em texto. Mas a beleza desta solução é que você sempre pode reiniciar sua configuração normal quando estiver perto de uma fonte de energia.

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

Meer Borg
fonte
-1

Apenas init 3 execute o sistema no modo de texto.

ou edite / etc / inittab e altere o nível de execução para 3, se desejar que uma GUI altere o nível de execução para 5

Conta
fonte
Se você deseja executar seu sistema sem interface gráfica. basta executar #INIT 3 ou se você deseja executar o seu sistema em mudança de modo de texto / etc / inittab para o nível 3 pode sempre mudar para Init 5.
Bill