Skip to content

Visão pessoal descrevendo o Linux no ambiente Desktop

Notifications You must be signed in to change notification settings

bsshenrique/my-awesome-linux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

My Awesome Linux

GitHub last commit (branch)

My Awesome Linux é um repositório pessoal descrevendo o que considero em um ambiente Desktop Linux.

Tópicos

Comunidade

Sites úteis criados pela comunidade Linux.

Awesome Linux Software
Diolinux
DistroSea
DistroWatch
GuiaFoca
Linux Brasil
Linux Guide
List of Linux distributions.

Distribuições

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.

Arch Linux

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.

Instalação

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.

Virtualização

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.

Docker

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

About

Visão pessoal descrevendo o Linux no ambiente Desktop

Topics

Resources

Stars

Watchers

Forks