https://github.com/bsshenrique/my-awesome-linux
Visão pessoal descrevendo o Linux no ambiente Desktop
https://github.com/bsshenrique/my-awesome-linux
List: my-awesome-linux
archlinux linux linux-desktop
Last synced: 2 months ago
JSON representation
Visão pessoal descrevendo o Linux no ambiente Desktop
- Host: GitHub
- URL: https://github.com/bsshenrique/my-awesome-linux
- Owner: bsshenrique
- Created: 2024-01-30T16:30:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-09T00:33:56.000Z (about 1 year ago)
- Last Synced: 2025-03-05T14:02:24.764Z (3 months ago)
- Topics: archlinux, linux, linux-desktop
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- ultimate-awesome - my-awesome-linux - Visão pessoal descrevendo o Linux no ambiente Desktop. (Other Lists / Julia Lists)
README
# My Awesome Linux
**My Awesome Linux** é um repositório pessoal descrevendo o que considero em um ambiente Desktop Linux.
## Tópicos
- [Comunidade Linux](#comunidade)
- [Distribuições](#distribuições)
- [Arch Linux](#arch-linux)
- [Instalação](#instalação)
- [Virtualização](#virtualização)## Comunidade
Sites úteis criados pela comunidade Linux.**[Awesome Linux Software](https://github.com/luong-komorebi/Awesome-Linux-Software)**
**[Diolinux](https://diolinux.com.br/)**
**[DistroSea](https://distrosea.com/)**
**[DistroWatch](https://distrowatch.com)**
**[GuiaFoca](https://www.guiafoca.org/)**
**[Linux Brasil](https://www.reddit.com/r/linuxbrasil/)**
**[Linux Guide](https://github.com/mikeroyal/Linux-Guide)**
**[List of Linux distributions](https://en.wikipedia.org/wiki/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](https://www.alpinelinux.org/) para containers e testes;
[Arch Linux](https://archlinux.org/) como desktop para uso pessoal;
[Tails](https://tails.net/) se o foco for privacidade;
[Ubuntu](https://ubuntu.com/) e [Fedora](https://fedoraproject.org/) 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](https://wiki.archlinux.org/title/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](https://wiki.archlinux.org/title/system_maintenance#Partial_upgrades_are_unsupported), 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](https://wiki.archlinux.org) 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](https://wiki.archlinux.org/title/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](https://wiki.archlinux.org/title/installation_guide) 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](https://wiki.archlinux.org/title/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:
```bash
# /etc/locale.genen_US.UTF-8 UTF-8
pt_BR.UTF-8 UTF-8
````locale-gen`.
- **Microcode**
[Microcode](https://wiki.archlinux.org/title/Microcode) correspondente ao dispositivo.
- **Boot loader**
Apenas o básico do [systemd-boot](https://wiki.archlinux.org/title/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.```bash
# arch.conftitle 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](https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface) e [Secure Boot](https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/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.
```text
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](https://wiki.archlinux.org/title/sudo#Example_entries).
- **Pacotes extras**
Pacotes para uma boa experiência de trabalho e lazer.
```text
git
fastfetch
```Utilizar o [Oh My Zsh](https://github.com/ohmyzsh/ohmyzsh) com os plugins [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions), [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting) e o tema [Powerlevel10k](https://github.com/romkatv/powerlevel10k) certamente vão oferecer uma boa produtividade.
Se o seu dispositivo ter uma placa gráfica da AMD, leia o guia [AMDGPU](https://wiki.archlinux.org/title/AMDGPU).
Provavelmente você irá instalar os seguintes pacotes:
```text
lib32-vulkan-radeon
lib32-libva-mesa-driver
libva-mesa-driver
mesa
vulkan-radeon
xf86-video-amdgpu
```- **Configurações adicionais**
O guia [selection](https://wiki.archlinux.org/title/clipboard#Selections) 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](https://wiki.archlinux.org/title/GNOME/Files#Create_a_new_document_from_the_right-click_menu).
## 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.