My Awesome Linux é um repositório pessoal descrevendo o que considero em um ambiente Desktop Linux.
Sites úteis criados pela comunidade Linux.
Awesome Linux Software
Diolinux
DistroSea
DistroWatch
GuiaFoca
Linux Brasil
Linux Guide
List of Linux distributions.
Não existe distribuição Linux perfeita, sempre haverá uma distribuição para um caso de uso específico. Por exemplo, a minha percepção atual é a seguinte:
Alpine Linux para containers e testes;
Arch Linux como desktop para uso pessoal;
Tails se o foco for privacidade;
Ubuntu e Fedora muito úteis para live USB e máquinas virtuais.
Para cada necessidade sempre haverá uma distribuição diferente.
O mais importante é entender que o meu propósito não é o mesmo que o seu, teste diferentes distribuições até encontrar a que mais se adapte ao propósito buscado.
Quanto mais simples, melhor, e é por isso que o Arch Linux é um sistema operacional que me chama a atenção.
O Arch Linux tem como propósito simplicidade e uso apenas do essencial.
Pode parecer estranho mencionar estabilidade em rolling release, mas em minha experiência nunca tive problemas e por mais controverso que pareça, sempre tive problemas com distribuições Linux que oferecem o modelo de distribuição por "major updates", principalmente Ubuntu.
Se você ainda pensa "o Linux deu problema e agora só formatando", tire isso da cabeça.
Além da wiki do Arch Linux ser a documentação mais completa que provavelmente existe em toda internet, também existem formas de resolver problemas, como por exemplo, o uso de snapshots oferecidas pelo Btrfs.
Evite seguir tutoriais, seu dispositivo e necessidades certamente são diferentes de outros.
Use como base a documentação de instalação e modifique o que for necessário para o seu uso.
No meu caso, seguindo o tutorial, precisei alterar as seguintes etapas:
- Particionamento do disco
Com o GPT fdisk, o disco foi preparado com o seguinte layout:
Partição | Setor | Tipo | Montagem | Formato |
---|---|---|---|---|
1 | default à +512M | EF00 | /mnt/boot | FAT32 |
2 | default à +2G | 8200 | SWAP | - |
3 | default à default | 8304 | /mnt | ext4 |
- Pacotes essenciais
base dhcpcd linux-lts linux-firmware nano
- Localização
Sistema operacional configurado em inglês e os formatos em português:
# /etc/locale.gen
en_US.UTF-8 UTF-8
pt_BR.UTF-8 UTF-8
locale-gen
.
- Microcode
Microcode correspondente ao dispositivo.
- Boot loader
Apenas o básico do systemd-boot já é o suficiente para que tudo funcione perfeitamente.
O deve loader.conf
conforme sugestão e um único loader nomeado de arch.conf
já é o suficiente.
# arch.conf
title Arch Linux
linux /vmlinuz-linux-lts
initrd /amd-ucode.img
initrd /initramfs-linux-lts.img
# Cuidado.
# Se for definir o root por UUID, PARTUUI ou semelhante, saiba que são coisas diferentes.
# options root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw
# options root=PARTUUI=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx rw
#
# Consulte com uma das formas:
# /dev/disk/by-*
# $ blkid /dev/disco
#
# Ou use diretamente o caminho do disco
options root=/dev/particao rw
Novamente, cuidado.
Entenda o que é UEFI e Secure Boot.
A forma mais fácil que conheço para preparar o Arch Linux em dispositivos com Secure Boot é desabilitar o Secure Boot, em seguida limpar as chaves já configuradas e finalmente criar e assinar as chaves utilizando o sbctl
.
- Usuário
Antes de instalar um ambiente desktop, prefiro criar o meu próprio usuário.
Não gosto de utilizar o root em ambiente gráfico, em minha concepção o root só deve ser usado em tarefas específicas ao root.
useradd -m -G wheel -s /bin/bash usuario
passwd usuario
- Pacotes básicos
Pacotes para uma boa experiência de uso do sistema.
base-devel
btop
firefox
gnome
less
networkmanager
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-extra
pipewire
pipewire-alsa
pipewire-audio
pipewire-jack
pipewire-pulse
sudo
ttf-hack
wget
which
wireplumber
zip
zsh
systemctl enable gdm.service
systemctl enable NetworkManager
Também é necessário configurar o grupo wheel
utilizando o visudo
para permitir que usuários do grupo usem o sudo.
- Pacotes extras
Pacotes para uma boa experiência de trabalho e lazer.
git
fastfetch
Utilizar o Oh My Zsh com os plugins zsh-autosuggestions, zsh-syntax-highlighting e o tema Powerlevel10k certamente vão oferecer uma boa produtividade.
Se o seu dispositivo ter uma placa gráfica da AMD, leia o guia AMDGPU.
Provavelmente você irá instalar os seguintes pacotes:
lib32-vulkan-radeon
lib32-libva-mesa-driver
libva-mesa-driver
mesa
vulkan-radeon
xf86-video-amdgpu
- Configurações adicionais
O guia selection pode ser muito útil aos usuários do kgx
.
Para usuários do GNOME, pode ser bem útil criar documentos com o menu do clique direito.
A capacidade de criar ambientes controlados e isolados oferece um benefício único, errar.
Além de poder errar o quanto quiser, é muito válido utilizar máquinas virtuais e containers para manter o sistema operacional limpo e fluído.
É incomparável o quão é mais prático e fácil usar containers em relação a instalar softwares diretamente no sistema operacional.
sudo pacman -S docker
sudo systemctl enable docker.service
sudo systemctl start docker.service
sudo usermod -aG docker $USER
Após isso é só realizar o logon novamente com o seu usuário.