Neste post vou mostrar a você as configurações para otimizar meu PC de trabalho com Debian.
Após fazer a instalação mínima do Gnome, agora vamos para os ajustes finos do sistema.
Otimização do sistema Debian

Pós instalação
Primeira coisa que eu fiz após instalar o Debian 13 ou 12, foi instalar o ambiente gráfico Gnome com o mínimo de pacotes.
Depois instalei os seguintes pacotes:
sudo apt install neofetch --no-install-recommends \
sudo apt install -y \
virt-manager libvirt-daemon-system qemu-system bridge-utils \
gnome-settings-daemon htop iotop unattended-upgrades \
cups cups-client cups-filters system-config-printer \
gparted vim --no-install-recommends \
dbus-x11 libnotify-bin
Como infelizmente precisei fazer o downgrade, voltando a versão para a 12 (bookworm), optei em utilizar mais aplicativos via flatpak.
Enquanto no 13 eu instalei o:
- evolution,
- visualizador de imagens,
- arquivos compactados,
- remmina,
Na versão 12 optei em rodar todos eles via flatpak.
Os navegadores Google Chrome e Brave já havia instalado via flatpak em ambos os sistemas.
Ao finalizar a instalação desses caras e o gerenciador de permissões do flatpak (flatseal), dei inicio as configurações para otimizar o sistema.
Otimizando o Debian para trabalho!
As otimizações que busco são para tornar o boot do sistema mais rápido, melhorar o acesso a meu disco rígido que tem como função backup e,
Otimizar a memória para eu poder lidar melhor com as máquinas virtuais e meu dia a dia no trabalho (navegador, cliente de email, acesso remoto..).
Além de deixar a máquina o mais estável possível.
Trocando Wayland por Xorg
Para fazer a alteração de Wayland para Xorg tanto no Debian 12 quanto no 13, basta acessar o arquivo daemon.conf do gdm e habilitar a opção “WaylandEnable=false”.
sudo nano /etc/gdm3/daemon.conf
Basta descomentar a linha. Se não houver a opção WaylandEnable=false, basta inseri-la.
Feito isso, salve o arquivo. Antes de reiniciar a máquina, vamos ajustar umas permissões que só após um ano notei que fazem falta:
sudo mkdir -p /var/lib/gdm3/.config/mutter/sessions
sudo chown Debian-gdm:Debian-gdm /var/lib/gdm3/.config/mutter
sudo chown Debian-gdm:Debian-gdm /var/lib/gdm3/.config/mutter/sessions
sudo chmod 700 /var/lib/gdm3/.config/mutter/sessions
Atenção: No Debian 12, o usuário do GDM se chama
Debian-gdm, nãogdmougdm3. Verificar com:
getent passwd | grep -i gdm
Ajustando o Network Manager
Após instalar o ambiente gráfico e o Network Manager, precisamos desligar o networking do systemd para não haver conflitos.
Também precisamos fazer o ajuste acima para podermos lidar com a rede direto do ambiente gráfico.
Primeiro eu fiz
sudo systemctl disable networking
Depois
rm /etc/network/interfaces
Agora basta reiniciar o Pc e já estamos com o network manager funcionando completamente.
Preload
Para melhorar a abertura de aplicativos, mesmo tendo um SSD, instalei o Preload.
sudo apt install preload
Depois de instalado, vamos a configuração do arquivo sudo nano /etc/preload.conf
[model]
cycle = 30
mempurge = 0
memfree = 10
memcached = 70
processes = 50
usecorrelation = true
Depois de ajustar o arquivo, basta reiniciar o serviço sudo systemctl restart preload
Agora é aguardar uns dias e esperar o preload fazer sua “mágica”.
Swap, ajustes no fstab e no sysctl
Abaixo, crio um arquivo de 8GB para servir como swap
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Adicionando no /etc/fstab
echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
No sysctl, adicionei os seguintes parâmetros:
vm.swappiness=1
vm.vfs_cache_pressure=50
vm.dirty_background_bytes=16777216
vm.dirty_background_ratio=5
vm.dirty_bytes=50331648
net.core.somaxconn=65535 # Aumenta o limite de conexões de rede (útil para NFS)
net.ipv4.tcp_fin_timeout=15 # Reduz o tempo de espera para fechar conexões
net.ipv4.tcp_rmem=4096 87380 8388608
net.ipv4.tcp_wmem=4096 65536 8388608
sunrpc.tcp_slot_table_entries=128
sunrpc.udp_slot_table_entries=128
fs.nfs.nlm_tcpport=0
fs.nfs.nlm_udpport=0
Basta inserir os códigos acima no arquivo /etc/sysctl.conf e depois reiniciar a máquina.
Zram e tmpfs
Fui convencido a dar uma chance para o Zram e tmpfs para melhorar o uso da minha RAM.
sudo apt install zram-tools
sudo nano /etc/default/zramswap
Fiz as seguintes alterações
- ALGO=zstd (para melhor compressão)
- SIZE=4096 (Deixei 4GB dos 16GB que tenho)
Após os ajustes reiniciei o serviço sudo systemctl restart zramswap.service. Agora vamos para a configuração do tmpfs
No /etc/fstab, adicionei os seguintes pontos de montagem
tmpfs /tmp tmpfs defaults,noatime,mode=1777,size=1G 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777,size=512M 0 0
tmpfs /run/libvirt tmpfs defaults,noatime,mode=0755,uid=libvirt-qemu,gid=libvirt-qemu,size=256M 0 0
A pasta /tmp defini 4G (era 1G) e a /var/tmp setei em 2G (era 512MB)
Já /run/libvirt (para melhorar as máquinas virtuais em uso), defini 256MB
Vamos ver se esses ajustes dão um up no velinho aqui
Virtualização
Para dar suporte na rede Microsoft, infelizmente eu preciso ter uma máquina com Windows instalada.
Após a instalação, configuro as pastas de rede para montar após o boot
10.10.10.4:/testes /mnt/dados nfs noauto,x-systemd.automount,x-systemd.device-timeout=5s 0 0
10.10.10.4:/Music /mnt/music nfs noauto,x-systemd.automount,x-systemd.device-timeout=5s 0 0
10.10.10.4:/VMs /mnt/vms nfs noauto,x-systemd.automount,x-systemd.device-timeout=5s 0 0
Além de instalar o pacote nfs
sudo apt install nfs-common
Agora abro o Virt Manager para configurar o acesso ao armazenamento das máquinas virtuais
virt-manager
Dento do aplicativo, clico com o botão direito em “QEMU/KVM Sessão do usuário” e escolho Detalhes.
Vou em armazenamento e configuro o diretório onde está os arquivos das máquinas virtuais.
Feito isso, agora é montar a rede brigde. Após descobrir o nome da interface com o comando ip link, rodo os seguintes comandos:
sudo nmcli con add type bridge ifname br0 con-name bridge-br0
sudo nmcli con add type ethernet ifname enp4s0 master br0 con-name bridge-slave-enp4s0
sudo nmcli con mod bridge-br0 ipv4.method auto
sudo nmcli con up bridge-br0
Para funcionar perfeitamente, precisei acessar o editor de conexões do NetworkManager (nm-connection-editor) e vincular corretamente o dispositivo.
Também, editei o NetworkManager.conf
sudo nano /etc/NetworkManager/NetworkManager.conf
Na seção [ifupdown], defina:
[ifupdown]
managed=true
Reiniciei o NetworkManager:
sudo systemctl restart NetworkManager
Após isso tanto a rede do host quanto dos convidados passaram a funcionar!
Fiz uma parte 2 dessas otimizações que você pode conferir aqui. Nela eu exploro algumas opções configuradas na distribuição CachyOS.
EarlyOOM
Quem nunca conseguiu travar uma máquina Linux a ponto de precisar reiniciá-la?
Para evitar isso, estou instalando o earlyoom em meu Debian.
Ao invés de fazer manualmente, você pode usar a belíssima ferramenta LinuxToys, que implementa esta solução com alguns cliques do mouse.
Eu faço manualmente para fins de aprendizado
sudo apt install earlyoom
wget https://raw.githubusercontent.com/psygreg/linuxtoys/refs/heads/master/resources/earlyoom
sudo cp -f earlyoom /etc/default/
rm earlyoom
sudo systemctl enable --now earlyoom
Corrigindo timeout do Gnome
As vezes ao abrir algum programa no Gnome, ele em pouco tempo te dá a mensagem “Esperar ou Forçar Saída”
Com o comando abaixo, você dá mais um tempo para o programa processar.
sudo gsettings set org.gnome.mutter check-alive-timeout 20000
Melhorando o desempenho de placas Nvidia bem antigas (GT 210)
Instalar o driver proprietário para Nvidias muito antigas é um problema que é bom ser evitado.
Placas que rodam com o driver 340 Legacy é melhor usarmos o driver nouveau. Apesar de ser limitadíssimo, ele não irá quebrar nas atualizações de kernel.
Mas usar o nouveau como ele vem não é uma boa opção. É usável, mas dá para melhorar extraindo do driver proprietário da Nvidia firmwares que o nouveau não tem.
# Local de execução do script e armazenamento do driver da Nvidia
mkdir /tmp/nouveau && cd /tmp/nouveau
# Script de extração
wget https://raw.githubusercontent.com/envytools/firmware/master/extract_firmware.py
# Driver Nvidia legado que suporta a GT210 (série 340)
wget https://download.nvidia.com/XFree86/Linux-x86_64/340.108/NVIDIA-Linux-x86_64-340.108.run
# Extrair sem instalar
sh NVIDIA-Linux-x86_64-340.108.run --extract-only
# Executar script de extração de firmware
python3 extract_firmware.py
# Copiar para o lugar certo
sudo mkdir -p /lib/firmware/nouveau
sudo cp -d nv* vuc-* /lib/firmware/nouveau/
sudo update-initramfs -u
sudo reboot