XSuspender é uma ferramenta para suspender aplicativos X11 quando eles estão inativos. Seu objetivo é reduzir o uso da CPU, o que, por sua vez, reduz o uso da bateria e diminui a temperatura da CPU e o ruído do ventilador.
A ferramenta usa SIGSTOP, que evita que o processo obtenha mais tempo de CPU, ou um script de shell personalizado que você pode especificar, para suspender um aplicativo depois que sua janela perder o foco. Quando a janela recupera o foco, ela é reiniciada imediatamente para que você possa continuar de onde parou.
Nem todos os aplicativos são suspensos quando o XSuspender está rodando. Esta ferramenta usa um arquivo de configuração onde você deve especificar quais aplicativos suspender, com o seguinte local: ~/.config/xsuspender.conf
Ao instalar o XSuspender, este arquivo está vazio, mas você encontrará um arquivo de configuração de exemplo que vem pré-configurado para funcionar com softwares populares como o navegador Chromium, Firefox, JetBrains, qBittorrent, VirtualBox e muito mais. Este arquivo está localizado em /usr/share/doc/xsuspender/examples/xsuspender.conf
e contém explicações para cada opção, próximo ao topo do arquivo, então leia antes de tentar configurar o XSuspender.
Para usar o arquivo de configuração de exemplo XSuspender como sua configuração, copie-o para ~/.config
, assim:
cp /usr/share/doc/xsuspender/examples/xsuspender.conf ~/.config/
É importante notar que, por padrão, o arquivo de configuração de exemplo XSuspender vem com only_on_battery = yes
, o que significa aplicar a regra apenas quando com energia da bateria. Portanto, você pode querer alterá-lo caso seu laptop esteja conectado a uma fonte de alimentação e você quiser tentar isso.
Agora você está pronto para experimentar o XSuspender. Abra um terminal e execute:
xsuspender
E tente um dos aplicativos pré-configurados no ~/.config/xsuspender.conf
, como Chromium, Firefox, etc. Por exemplo, abra um vídeo do YouTube em um desses navegadores da web, clique em reproduzir e desfoque a janela do navegador. O vídeo deve pausar em cerca de 10 segundos. Foque a janela do navegador e o vídeo deve ser reproduzido novamente sem qualquer intervenção sua (além de focar a janela).
Você notará que no arquivo xsuspender.conf, para suspender uma janela, você deve especificar wm_class
. Você pode encontrar a classe de uma janela (a janela que deseja suspender) usando este comando em um terminal:
xprop -notype WM_NAME WM_CLASS
Ao executar o comando, o cursor do mouse se transforma em um +. Agora você deve clicar na janela para a qual deseja descobrir a classe wm_class. Assim que a janela for clicada, o wm_class será mostrado no terminal onde você executou o comando, por exemplo:
$ xprop -notype WM_NAME WM_CLASS
WM_NAME = "XSUSPENDER - Chromium"
WM_CLASS = "chromium-browser", "Chromium-browser"
Você também pode gostar de: auto-cpufreq é um novo otimizador de velocidade e energia da CPU para Linux
Quer adicioná-lo na inicialização? Instalar o XSuspender adiciona um arquivo chamado xsuspender.desktop
aos aplicativos de inicialização (/etc/xdg/autostart/
), mas ele é desativado para iniciar automaticamente por padrão. Portanto, para adicionar o XSuspender à inicialização, edite o arquivo /etc/xdg/autostart/xsuspender.desktop
e altere Hidden = true
para Hidden = false
. Você pode fazer isso na linha de comando usando (este é um comando de linha única, então clique três vezes na linha para selecioná-lo):
sudo sed -i 's/Hidden=true/Hidden=false/' /etc/xdg/autostart/xsuspender.desktop
Também é importante notar que nem tudo vai funcionar bem com o XSuspender. Por exemplo, no caso de um programa estar baixando algo e não estiver focado, o download para. Além disso, a reprodução de mídia para aplicativos desfocados irá parar, o que pode ou não ser o que você deseja (embora isso seja evitável - apenas não configure o XSuspender para suspender esse aplicativo). Copiar e colar também não funcionará quando o processo de seleção da fonte for suspenso. E só funciona no X11. Você pode ver todos os problemas/peculiaridades conhecidos nesta seção na página do projeto XSuspender.
O desenvolvedor oferece binários para distribuições Linux baseadas em Debian e Ubuntu (Linux Mint, Pop!_OS, Zorin OS, etc.), bem como instruções para instalar o XSuspender da fonte. Um pacote AUR para Arch Linux/Manjaro também está disponível.
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
Auto-Suspend Inactive X11 Applications To Reduce CPU And Battery Usage With XSuspender