Um guia para quem irá começar a explorar sistemas operacionais baseados em Linux.
Com este guia busco explicar sobre Linux em computadores pessoais para descomplicar para pessoas recém chegadas. São tantas opções que é fácil se perder com vários conceitos e escolhas diferentes e esta liberdade, pelo menos para mim, é a graça de usar Linux.
O que é Linux
O conceito de Linux pode parecer confuso pois não é um sistema operacional por si só, mas sim um “kernel” que grosseiramente falando é o “núcleo” do Sistema Operacional, pois este que recebe todos os comandos e se comunica com a máquina física.

Linux foi criado por Linus Torvalds quando estudava na Universidade de Hilsínquia, na Pensilvânia, onde ele modificava um sistema derivado do Unix feito para fins educacionais (chamado de Minix) como passatempo e com o tempo o projeto foi ganhando forma e se tornou o que é hoje em dia. Denominamos sistemas Linux aqueles que usam o kernel Linux,
Resumindo, “Linux” é somente o kernel. Dos sistemas operacionais cada um tem seu núcleo, Windows, por exemplo, usa o kernel “Windows NT”, enquanto o Mac OS usa o “Darwin”.
Talvez você deve se perguntar quem desenvolve esse kernel, se pertence a alguém, por exemplo e o que ganham com isso. Linux não tem uma empresa por trás mas sim milhares de pessoas do mundo todo trabalhando no sistema de forma colaborativa. A organização mantenedora é a Fundação Linux (Linux Foundation) no qual revisa todo o código criado pela comunidade e mantém o projeto recebendo doações e outras formas de contribuição.
O que são distribuições linux
Agora o que você entendeu o que é Linux, vamos partir para as distribuições ou comumente chamadas de distros. Quando usamos como base o kernel linux, podemos “montar” uma série de pacotes (como ambiente de desktop, programas, dependências, temas, ícones) que formam uma distro.
Algumas distribuições famosas são:
- Ubuntu: uma das distribuições mais famosas, mantida pela Canonical, possui seu iconico layout na vertical da barra de aplicativos, herdado da sua antiga interface Unity. Atualmente utiliza Gnome Desktop na sua versão oficial para Desktop;
- Linux Mint: baseado no Ubuntu, possui várias versões que mudam o DE, este é focado para o usuário final e dispõe de ferramentas que facilitam demais o processo de atualização e gerenciamento do sistema;
- Debian: focado em estabilidade e com uma grande comunidade, muito usado em escolas e projetos de pesquisas, além claro de computadores pessoais, o Ubuntu foi baseado no Debian e herdou muita das coisas que este utiliza, como os pacotes “.deb”.
- Arch Linux: sua principal filosofia é ser um sistema leve e flexível, o usuário que precisa montar exatamente o que quer no sistema e por isso é indicado para pessoas mais avançadas em linux. É elogiado principalmente por sua vasta comunidade e Wiki e utiliza repositórios oficiais ou de usuários, chamado de AUR (Arch User Repository).
- Zorin OS: é um sistema operacional irlandês baseado em Linux, que tem como principal foco o usuário final e escolas. Este foca em um visual coerente, utilizando um gnome modificado em sua versão Core e LXDE na versão Lite (PCs mais antigos). Há também a versão “Pro”, que é uma versão paga, que trás uma modificação rápida de layouts, serviço de suporte, apps de produtividade e claro, serve como uma doação para seu desenvolvimento.
- Android: o sistema Android, pelo menos até a versão atual deste artigo, usa o kernel linux, apesar de a Google/Alphabet estar planejando um kernel próprio chamado de Fuchsia.
Também qualquer um consegue criar sua própria distro, já que linux é livre e de código aberto, ao contrário dos proprietários que apenas a empresa desenvolvedora e autorizados podem ter acesso e criar versões.
O que são os sistemas com base em outros
Por serem livres e de código aberto, pode ser que surjam outros pensamentos de como deve ser desenvolvido o sistema. Com isso, são criados os “forks”, que são como ramificações onde é desenvolvido uma distro a partir dali.
O Ubuntu, por exemplo, é baseado no Debian, enquanto o Linux Mint, é baseado no Ubuntu. Isso quer dizer que estes sistemas pegaram como base outros e desenvolveram suas próprias modificações.
Há um gráfico muito interessante que ilustra bem isso na Wikipédia.
Ambientes de Desktop
Desktop Environment (DE), em português “Ambiente de Desktop” são um conjunto de programas que formam uma interface para o usuário final. Existem muitos DEs cada um com sua filosofia de uso, estilo visual e recursos, os principais são:
- Gnome Desktop;
- KDE Plasma;
- Cinnamon;
- Mate;
- XFCE;
- LXDE;
Então qual escolher? Cada um tem seu propósito e vai de gosto pessoal e hardware utilizado. Para uma experiência desktop mais completa, há o Gnome, KDE Plasma e Cinnamon. Já para quem gosta ou precisa de algo mais enxuto, que consome poucos recursos, há o XFCE ou LXDE.
Abaixo irei resumir com uma breve apresentação sobre cada um deles.
Gnome Desktop

Sua primeira versão foi em março de 1999, Gnome tem como filosofia ser simples, focado em usabilidade, acessibilidade e internacionalização. Tem um modo de uso próprio que utiliza múltiplas áreas de trabalho, menu de aplicativos em tela cheia e barra notificações acima. É pouco flexível com relação a personalização da interface, mas também extensível em recursos com plugins da comunidade.
- Para quem gosta de uma experiência padronizada.
- Interface limpa.
- Principais distros que usam Gnome são Ubuntu, Fedora Workstation, Red Hat Enterprise Linux.
KDE Plasma

Lançado em julho de 1998, KDE Plasma tem uma filosofia de uso de certa forma antagônico ao Gnome, pois este foca em ser altamente customizável através da própria interface, apesar de por padrão ser bem convencional, utilizando uma barra de tarefas abaixo e menu de aplicativos flutuante que ocupa pouco da tela. Este também é bastante extensível em recursos, pois tem suporte a Widgets (que são mini aplicativos criados pela comunidade, que se integram a interface).
- Para quem gosta de personalizar do seu jeito.
- Interface pode ser limpa ou não, o usuário pode personalizar como quiser.
- Principais distros que usam KDE Plasma são Kubuntu, KDE Neon, Manjaro KDE, Steam OS, OpenSUSE.
Cinnamon

O ambiente de desktop Cinnamon foi desenvolvido pela equipe do linux Mint baseado no Gnome 3, como parte da versão principal da distro, é um ambiente bonito e que suporta extensões da barra de tarefas chamados de “Applets”.
Mate

O ambiente Mate é derivado do Gnome 2, que surgiu por discordância de uma certa parte da comunidade por causa das mudanças na interface do Gnome 3+ e forma de uso, assim, é como se fosse uma “linha do tempo alternativa” onde continuou a ser desenvolvido como era antes do Gnome 3.
- É bem leve e interface limpa.
- Compatível com computadores mais antigos.
XFCE

O XFCE é um DE bem leve, customizável e que usa um compositor de janelas próprio e igualmente leve chamado de XFWM, apesar de leve não abre mão de ser bonito.
- Se quer uma interface leve e compatível com computadores mais antigos.
- Utiliza GTK
LXDE

O LXDE é outra interface bastante leve que utiliza GTK.
- Igualmente leve e compatível com computadores mais antigos.
- Utiliza GTK
LXQT

Ao LXQT também é uma interface bem leve, e ao contrário do XFCE e LXDE, o LXQT utiliza QT.
- Igualmente leve e compatível com computadores mais antigos.
- Utiliza QT
Pantheon

O Pantheon é um DE criado pela equipe do Elementary OS para este sistema, foi escrito do zero com Vala e GTK, tem um visual pouco flexível ou personalizável e bem parecido com a interface do Mac OS.
- Para quem gosta de uma experiência padronizada.
- Tem uma boa coerência visual e um estilo próprio
Gerenciamento de Pacotes
Assim como o artigo “Guia de Sobrevivência para Linux e Terminal”, aqui explicarei sobre os tipos de pacotes de distribuições linux, que considero muito importante saber, para quem está começando.
Tipos de Pacotes
Há vários tipos de formato de empacotamento de programas no mundo linux e vai depender da distribuição linux e algumas vezes da instalação de suporte adicional, como é o caso do flatpak e appimage (também existem distribuições com suporte a esses formatos já instalado).
- Universal: Pacotes feitos para funcionar em qualquer distribuição com suporte habilitado. São exemplos de pacotes ou gereciadores de pacotes universais: Flatpak, Snap, AppImage (“.appimage”).
- deb: Pacotes “debian” são programas empacotados em formato debian que usam a extensão “.deb”, funcionam em distribuições Debian e derivadas, como, por exemplo, Ubuntu, Linux Mint, KDE Neon, Zorin OS, Pop!_OS, entre outras.
- rpm: Pacotes “redhat” são programas empacotados em formato do gerenciador “Red Hat Package Manager” (RPM), funcionam em distribuições baseadas em Red Hat ou que usam esse gerenciador de pacotes.
- pacman / ZST: Pacotes “Package Manager” (“.pacman” ou “.zst”) normalmente usados na distribuição Arch Linux e baseados, gerenciados com o gerenciador de pacotes pacman.
Executáveis
Arquivos executáveis normalmente podem ser abertos ao dar permissão de execução no gerenciamento de permissões do sistema e executando o arquivo inicial do programa. Por exemplo:
Imagine que baixei um arquivo compactado “.tar.gz2” do “Firefox” e descompactei em um diretório.
browser/
defaults/
fonts/
gmp-clearkey/
icons/
lib/
libgkcodecs.so
(...)
firefox
Note que há um arquivo “firefox” sem nenhuma extensão, este é o arquivo executável. A partir daqui eu posso ou instalar manualmente no sistema ou executar diretamente deste diretório. Para executar este arquivo através do terminal, primeiramente dê permissão de execução com chmod:
chmod +x ./firefox
O “+” significa que estou adicionando permissão e o “x” é de “executar”. Obs: Algumas interfaces e programas, como o gerenciador de arquivos Dolphin, permitem que no diálogo de informações do arquivo e em “permissões”, possa marcar uma caixa para adicionar esta permissão. Note que, após dar permissão para o arquivo, não precisa ficar adicionando permissão toda vez que quer executar ele, essas informações já ficam salvas.
E agora basta executar usando “./”
./firefox
Se tudo ocorrer bem o programa será aberto. Caso dê algum problema e ele não abra, pode ser que algumas dependências necessárias não estão instaladas no sistema e isso normalmente é avisado no terminal.
AppImage
AppImages são pacotes que podem ser executados em qualquer distribuição que tenha suporte habilitado e funcionam bem parecido com os executáveis, bastando dar permissão e executar o arquivo, com a diferença que normalmente todas as dependências e o próprio programa estão concentrados em um único arquivo, que também pode se integrar com o sistema.
Por exemplo, digamos que baixei o Firefox em AppImage, o arquivo é basicamente o “firefox.appimage”.
firefox.appimage
Basta agora dar permissão de execução e executar o arquivo.
chmod +x firefox.appimage
./firefox.appimage
Algumas distribuições podem mostrar um erro, como é o caso de um container debian que tenho no chromebook, que não funciona appimage normalmente. Descobri que é preciso instalar o “libfuse” (seja o 2, 3 ou ambos) para funcionar, fica a dica caso apareça algum erro do tipo.
Flatpak
Flatpaks podem ser instalados pelo gerenciador de pacotes Flatpak, sendo necessário instalar e habilitar o suporte em distribuiçõs que não tem instalado ou desabilitado. Caso sua distro não tenha, veja se há suporte na página Get setup do flatpak.org.
Este formato é distribuido e não opinativo, não há nada configurado previamente na primeira instalação. É recomendável que adicione também o repositório oficial do flatpak, o Flathub:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Isso quer dizer que, se você não quiser o repositório oficial e quiser colocar os seus próprios, não há nenhum problema, basta não adicionar o repositório oficial.
Falando em Flathub esta é uma loja curada pela equipe do projeto com diversos programas que podem ser instalados facilmente. Por exemplo, caso você queira instalar o GIMP (GNU Image Manipulation Program), na página dele no flathub há as instruções.
# Instalação do programa pelo flatpak. O "flathub" é o nome do repositório e "org.gimp.GIMP" é o pacote.
flatpak install flathub org.gimp.GIMP
Para executar:
flatpak run org.gimp.GIMP
Também todo esse processo pode ser executado através da loja de aplicativos da sua distribuição, somente adicionando o suporte a flatpaks para a mesma e o repositório remoto.
Por exemplo, para a loja “Gnome Software” no Ubuntu:
sudo add-apt-repository ppa:flatpak/stable
sudo apt update
sudo apt install gnome-software-plugin-flatpak
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Com isso, provavelmente já está tudo funcionando.
Código fonte
São normalmente os arquivos literalmente de código fonte, ou seja, de desenvolvimento, que precisam ser compilados para serem executados. Vou usar como exemplo o VLC Media Player, pois eles tem uma wiki explicando todo o processo.
Mas basicamente é sempre o mesmo “conceito”, basta baixar os arquivos, procurar pelo arquivo makefile e executar no diretório com o makefile:
# Clonar repositório em um diretório local
git clone git://git.videolan.org/vlc.git
# Entrar no diretório
cd vlc
# Executar o build
.bootstraping # isso é específico do vlc, para baixar o necessário para compilação.
.configure # isso é específico do vlc, para baixar o configurar para compilação.
make # Executa o processo de compilação.
# Tente seguir a Wiki e os arquivos "INSTALL" para compilar e instalar corretamente o programa.
Se tudo der certo o programa será compilado e os executáveis estaram no diretório “.vlc”. Veja que esse processo é meio complicado e normalmente é feito por desenvolvedores deste projeto, por pessoas que querem testar as últimas atualizações, scripts do AUR, etc.
Sobre temas e outras customizações
Para utilizar temas criados pela comunidade ou até mesmo criar seu próprio, é preciso conhecer o conceito dos “Widget Toolkits”, que são kits de ferramentas e componentes que os desenvolvedores usam para criar programas gráficos para distribuições linux.
Não é necessário saber como desenvolve aplicativos com eles, mas sim o conceito de que cada um possui seu próprio modo de ler os arquivos de configurações, como temas, por exemplo, isso quer dizer que pode ter incompatibilidade entre eles.
GTK
O GTK é utilizado principalmente pelo Gnome, Cinnamon, XFCE, LXDE, etc. se você está procurando temas para esses ambientes de desktop, procure por temas GTK ou através do pling Gnome/GTK.
QT
Utilizado principalmente pelo KDE Plasma e LXQT, o próprio DE é feito em QT e os temas precisam ser compatíveis com esse toolkit. Você pode explorar alguns temas no pling do KDE ou no pling normal, na seção do kde plasma.
Instalando temas
No KDE Plasma é possível navegar por temas, ícones, cursores, cores e outras personalizações disponibilizadas pela comunidade online através da própria interface ou através do Discover. De outra forma, é possível “instalar” temas os colocando em “~/.themes” e ícones em “~/.icons”, lembrando sempre de instalar de acordo com qual toolkit seu DE suporta.

É possível achar muitas personalizações prontas para baixar no site chamado de “Pling“, normalmente há escrito como é feita a instalação na descrição de cada um.
Gerenciadores de Janelas
Os gerenciadores de janelas ou em inglês “Window Managers” (WM) são clientes para servidores gráficos, que o próprio nome diz, gerencia as janelas das aplicações. É comum que os Desktop Environments tenham seus próprios, mas não impede de instalar e utilizar outros.
Alguns WMs populares são:
- Mutter: utilizado como padrão no Gnome Shell.
- KWin: KDE Window Manager (KWin) é o gerenciador de janelas do KDE Plasma.
- XFWM: é o WM utilizado pelo XFCE.
- Gala: utiliza como base o mutter, utilizado pelo Elementary OS como parte do Pantheon DE.
- Compiz: foi um WM focado no servidor gráfico X que utiliza OpenGL para renderização de janelas, é bem famoso por seus diversos efeitos de animação, como janela gelatinosa, lâmpada mágica, etc.
Além desses principais “stacking window managers”, existem os “tiling window managers” que normalmente não utilizam mouse e não empilham janelas, pois são organizadas uma do lado da outra.
Alguns TWMs populares são:
Xorg vs Wayland
Aqui entramos em um terreno mais profundo, então vou explicar superficialmente, apenas para que caso encontre algo perguntando qual usar, saiba exatamente o que é isso.
Xorg/X11 foi e ainda é um servidor gráfico de janelas muito utilizado em distribuições linux e que atualmente há um movimento para sua substituição para o Wayland. Apesar de Wayland ser bem fluido, com mais mecanismos de segurança e tirar vantagem de hardwares recentes, ainda sofre com incompatibilidades principalmente porque muitos softwares foram escritos para funcionar corretamente em xorg/x11.
Então, com isso, use Xorg para compatibilidade caso seu programa não funcione corretamente e, para jogos, por exemplo, tente usar Wayland para maior fluidez. Um exemplo desta incompatibilidade é alguns programas de gravação de tela que não conseguem pedir permissão e gravar a tela usando o Wayland.
Finalizando
É isso, se puder deixe seu comentário com o feedback sobre esta postagem. Comente se está fácil ou difícil de entender ou se tem algum conceito que acha necessário que explique neste artigo, que irei atualizar futuramente! 🙂 🐧
eu gostei da leitura mas acho q poderia ter mais detalhes sobre a descrição do DE, deixando mais especifico o intuito da criação delas como a do MATE q fala como é uma timeline paralela