# data[].attributes.body
um software responsável por controlar as interações entre o hardware e outros programas da máquina. O kernel traduz as informações que recebe ao processador e aos demais elementos eletrônicos do computador. O kernel é, portanto, uma série de arquivos escritos em linguagem C e Assembly, que formam o núcleo responsável por todas as atividades executadas pelo sistema operacional.

# data[].attributes.body
Conheça agora as principais características e as partes mais importantes do Linux (kernel):

• Multitarefa e multiusuário.

• Suporte a nomes extensos de arquivos e diretórios.

• Proteção entre processos executados na memória RAM.

• Suporte a mais de 63 terminais virtuais (consoles).

• Modularização – o Linux somente carrega na memória o que é usado durante o processamento, liberando totalmente a memória assim que o programa/disponibilizado é finalizado.

• Devido à modularização, os drivers dos periféricos e recursos do sistema podem ser carregados e removidos completamente da memória RAM a qualquer momento.

• Acessa sem problemas discos formatados em outros tipos de formatos e de diferentes plataformas.

• Suporte a vários protocolos de rede.

• Suporte a dispositivos infravermelhos, USB, plug-and-play e rádio amador.

• Roteamento.

• Pode ser executado em 10 arquiteturas diferentes (Intel 32, 64 Bits, Macintosh, Sparc, entre outros).

# data[].attributes.body
Os novos recursos são muitos. Alguns dos destaques incluem: AMD FreeSync, driver Raspberry Pi Touchscreen, uma nova fonte de console para telas HiDPI/ retina, suporte NVIDIA RTX Turing de código aberto com Nouveau, suporte a criptografia de dados Adiantum, suporte a rolagem de alta resolução da Logitech, subsistema I3C e muitos outros novos suportes de hardware.

A decisão de pular para o Linux 5.0 a partir do Linux 4.21 foi decidida por Linus Torvalds.  Ele acredita que as numerações de versões 4.x do kernel estão ficando altas. O mesmo ocorreu em relação ao Linux 3.20 para o Linux 4.0.

Codinome indefinido

O codinome Linux 5.0-rc1 permanece o mesmo que o Linux 4.20, o Crocodilo Tímido (Shy Crocodile). No entanto, Linus Torvalds ainda não emitiu nenhum comentário formal na lista de discussão do kernel Linux sobre suas ideias para o Linux 5.0-rc1 e na janela de mesclagem do Linux 4.21.

# data[].attributes.body
O suporte LTS significa que os usuários receberão atualizações de segurança e de software por um período de 5 anos, entretanto, isso não significa, em termos de software, que as atualizações serão sempre para a última versão disponível e sim para uma próxima versão considerada estável. Até mesmo o Kernel normalmente vai respeitar a versão LTS, recebendo atualizações dentro de sua própria versão.

Você pode contornar isso utilizando repositórios PPA para uma determinada aplicação que você deseja que esteja em uma versão mais recente ou utilizando um pacote Snap para a mesma, existem várias formas de contornar a questão, entretanto, nem todas as aplicações ficarão defasadas com o tempo, por questão de segurança, navegador de internet e aplicações com acesso à rede normalmente estão em suas últiamas versões. Lembre-se a estabilidade vai contra a novidade, dificilmente um software mais recente vai ser tão estável quanto um mais antigo e que teve maior tempo para ser debugado, um ótimo exemplo disso é o Debian Stable

# data[].attributes.body
O diretório raiz (/)

Todos os arquivos e diretórios do sistema Linux instalado no computador partem de uma única origem: o diretório raiz. Mesmo que estejam armazenados em outros dispositivos físicos, é a partir do diretório raiz – representado pela barra (/) – que você poderá acessá-los.

Também vale lembrar que o único usuário do sistema capaz de criar ou mover arquivos do diretório raiz é o root, ou seja, o usuário-administrador. Isso evita que usuários comuns cometam erros e acabem comprometendo a integridade de todo o sistema de arquivos.

Binários executáveis: /bin

No diretório /bin estão localizados os binários executáveis que podem ser utilizados por qualquer usuário do sistema. São comandos essenciais, usados para trabalhar com arquivos, textos e alguns recursos básicos de rede, como o cp, mv, ping e grep.

Binários do sistema: /sbin

Assim como o /bin, este diretório armazena executáveis, mas com um diferencial: são aplicativos utilizados por administradores de sistema com o propósito de realizar funções de manutenção e outras tarefas semelhantes. Entre os comandos disponíveis estão o ifconfig, para configurar e controlar interfaces de rede TCP/IP, e o fdisk, que permite particionar discos rígidos, por exemplo.

Programas diversos: /usr

Se você não encontrar um comando no diretório /bin ou /sbin, ele certamente está aqui. O /usr reúne executáveis, bibliotecas e até documentação de softwares usados pelos usuários ou administradores do sistema. Além disso, sempre que você compilar e instalar um programa a partir do código-fonte, ele será instalado nesse diretório.

Configurações do sistema: /etc

No diretório /etc ficam arquivos de configuração que podem ser usados por todos os softwares, além de scripts especiais para iniciar ou interromper módulos e programas diversos. É no /etc que se encontra, por exemplo, o arquivo resolv.conf, com uma relação de servidores DNS que podem ser acessados pelo sistema, com os parâmetros necessários para isso.

Bibliotecas: /lib

Neste ponto do sistema de arquivos ficam localizadas as bibliotecas usadas pelos comandos presentes em /bin e /sbin. Normalmente, os arquivos de bibliotecas começam com os prefixos ld ou lib e possuem "extensão" so.

Opcionais: /opt

Aplicativos adicionais, que não são essenciais para o sistema, terminam neste diretório.

Aquivos pessoais: /home

No diretório /home ficam os arquivos pessoais, como documentos e fotografias, sempre dentro de pastas que levam o nome de cada usuário. Vale notar que o diretório pessoal do administrador não fica no mesmo local, e sim em /root.

Inicialização: /boot

Arquivos relacionados à inicialização do sistema, ou seja, o processo de boot do Linux, quando o computador é ligado, ficam em /boot.

Volumes e mídias: /mnt e /media

Para acessar os arquivos de um CD, pendrive ou disco rígido presente em outra máquina da rede, é necessário "montar" esse conteúdo no sistema de arquivos local, isso é, torná-lo acessível como se fosse apenas mais um diretório no sistema.

Em /media ficam montadas todas as mídias removíveis, como dispositivos USB e DVDs de dados. Já o diretório /mnt fica reservado aos administradores que precisam montar temporariamente um sistema de arquivos externo.

Serviços: /srv

Dados de servidores e serviços em execução no computador ficam armazenados dentro desse diretório.

Arquivos de dispositivos: /dev

No Linux, tudo é apresentado na forma de arquivos. Ao plugar um pendrive no computador, por exemplo, um arquivo será criado dentro do diretório /dev e ele servirá como interface para acessar ou gerenciar o drive USB. Nesse diretório, você encontra caminhos semelhantes para acessar terminais e qualquer dispositivo conectado ao computador, como o mouse e até modems.

Arquivos variáveis: /var

Todo arquivo que aumenta de tamanho ao longo do tempo está no diretório de arquivos variáveis. Um bom exemplo são os logs do sistema, ou seja, registros em forma de texto de atividades realizadas no Linux, como os logins feitos ao longo dos meses.

Processos do sistema: /proc

Lembra da história de que tudo funciona como um arquivo no Linux? Pois o /proc é a prova disso. Nesse diretório são encontrados arquivos que revelam informações sobre os recursos e processos em execução no sistema. Quer um exemplo? Para saber há quanto tempo o Linux está sendo usado desde a última vez em que foi iniciado, basta ler o arquivo /proc/uptime.

Arquivos temporários: /tmp

Arquivos e diretórios criados temporariamente tanto pelo sistema quanto pelos usuários devem ficar nesse diretório. Boa parte deles é apagada sempre que o computador é reiniciado.

# data[].attributes.body
Uma das coisas que os usuários mais estranham quando migram para o Linux é a existência de diversas interfaces gráficas, coisa que não é comum no Windows nem no Mac OS X, a não ser quando o fabricante decide fazer alguma alteração.

Diferente do que acontece nesses outros sistema operacionais, no Linux é possível mudar a interface gráfica do sistema.

Mudando a interface gráfica do sistema, a distribuição Linux continua sendo a mesma mas toda a aparência é alterada.

Quem não conhece a diferença entre sistema operacional e interface gráfica pode pensar que se trata de outra distribuição ou até mesmo de outro sistema operacional.

Qual é a interface gráfica mais usada:

As interfaces gráficas mais conhecidas são Unity, Gnome, KDE, XFCE, LXDE, Cinnamon e Mate.

No momento a mais usada no Linux é o Unity por ser a interface gráfica padrão do Ubuntu.

# data[].attributes.body
O KDE é bastante famoso por ser muito similar à interface do Windows, e por isso é muito indicado aos iniciantes no Linux que buscam uma familiaridade com o sistema da Microsoft. Foi escrito usando a biblioteca QT, muito utilizada em toda interface, e por isso os programas sempre são parecidos e possuem um mesmo padrão.

O projeto ganhou a versão 4 há poucos anos, e vem se demonstrando cada vez mais estável e estilosa. O KDE é uma das interfaces livres mais elegantes e modernas que existem. Ela é regida por um sistema batizado como Plasma que permite que o usuário adicione widgets na sua área de trabalho. Os widgets nada mais são do que alguns aplicativos que você pode adicionar livremente no seu sistema. Eles podem ser desde pequenos bloquinhos de papel de lembrete, simulando um post-it, até quadros negros para desenhar.

# data[].attributes.body
Assim como o KDE, o GNOME é um gerenciador de janelas responsável pelo tratamento dos programas de um sistema. Entenda isso como o seguinte: Os programas gráficos são escritos sem aquelas bordas e sem aqueles botões(como minimizar maximizar e restaurar), essas partes(chamados janelas) são tratadas pelo gerenciador de janelas.

Além disso existem bibliotecas(lib) que auxiliam na criação dos programas , no caso do GNOME a biblioteca gráfica é a GTK+.

O grande problema de misturar aplicativos é que o Gnome utiliza uma biblioteca diferente, isto quer dizer quando carregamos qualquer programa do KDE no Gnome ou vice-versa o sistema terá que carregar também a biblioteca que corresponde, o que leva alguns segundos a mais, e prejudica o desempenho do sistema.

# data[].attributes.body
Muito parecida em funcionalidade com a interface dos Windows XP,  2000, Vista e 7, é tida por muitos como a melhor opção para os novos usuários que deles tenham migrado. É uma interface que pode ser amplamente personalizada pois conta com temas, extensões, widgets e aplicativos que podem ser instalados de acordo com a necessidade e preferência dos usuários.

# data[].attributes.body
XFCE é um ambiente de trabalho gráfico, executado sobre o sistema de janelas X (daí vem a origem de Xfce) em sistemas Unix, seus derivados e Linux. Assim como GNOME 2, o Xfce utiliza a biblioteca GTK+2 para fazer a interface com o usuário, o que os tornam ligeiramente parecidos. Porém, não se engane, ele é composto por diversos componentes que combinados fornecem um ambiente de trabalho completo. Além disso, o Xfce pode funcionar em hardware com poucos recursos ou de baixa configuração.

Vantagem

Devido à sua modularidade, os componentes podem não ser usados todos em conjunto e podem ser combinados com outros ambientes. É possível usar aplicações do GNOME ou KDE, sem instalar esses ambientes. No caso de aplicações GNOME, por usarem as mesma bibliotecas, a integração é boa. O projeto xfce tem firmado-se como plataforma de desenvolvimento. Sendo possível desenvolver aplicações em C/C++, Python e Perl recorrendo às bibliotecas oferecidas pelo ambiente.

# data[].attributes.body
Unity foi uma interface para o ambiente desktop, desenvolvido pela comunidade Ayatana e adaptado pela Canonical para o seu sistema operativo Ubuntu. O Unityestreou na versão para netbook do Ubuntu 10.10 e foi desenhado inicialmente para fazer um uso mais eficiente do espaço das telas limitadas dos netbooks, porém devido ao sucesso tornou-se a interface padrão do Ubuntu 11.04 que também incluía ainda o GNOME como opção. Ele foi desenhado exclusivamente para Ubuntu, porém, diferente do GNOME, KDE, Xfce e LXDE, o Unity não incluía aplicações, já que foi feito para usar programas em GTK+ (GUI) já existentes. A partir da versão 11.10 do Ubuntu, o Unity passou a ser a única interface padrão.

No dia 5 de Abril de 2017, foi anunciado que o Unity não será mais desenvolvido. A partir da versão 18.04 LTS, o Ubuntu terá como desktop padrão o GNOME.

# data[].attributes.body
O Pantheon Desktop é originário do projeto elementary OS, uma distribuição que sempre focou no design e na elegância. O Patheon ainda não é um projeto amplo, porém, possui várias aplicações de desenvolvimento próprio, além da interface em si, o Pantheon Shell, o gerenciador de arquivos do sistema, o Pantheon Files, entre outros.

# data[].attributes.body
MATE é um ambiente de desktop derivado (como a maioria) do GNOME. Foi criado devido a mudança “agressiva” de visual do seu sucessor, GNOME 3, que não agradou todos. Pode ser descrito como a re-leitura do GNOME 2, com os recursos do GNOME 3, porém, com o visual intuitivo e bem mais tradicional que sua versão anterior. É distribuido oficialmente pelas distribuições: Arch Linux, Gentoo, Mageia, openSUSE, Fedora, Linux Mint, Debian, entre outras. Também, utiliza somente a biblioteca GTK+ 3 desde a versão 1.18. Não é um ambiente que se tenha muito o que falar, porém, utiliza o Caja, Gerenciador de arquivos baseado no Nautilus, Pluma, Editor de textos, baseado no Gedit, entre outros aplicativos bastante funcionais e de fácil manuseio.

# data[].attributes.body
De origem chinesa, o Deepin Desktop Enviroment passou por muitas transformações ao longo dos anos. Ele também começou como uma modificação do Gnome, porém, hoje já possui aplicações próprias para praticamente todas as funcionalidades, até pouco tempo atrás o Deepin Linux utiliza ainda o Nautilus como gerenciador de arquivos, mas até ele na última versão lançada no Deepin Linux, deu espaço para um novo gerenciador de arquivos chamado "Deepin File Manager" com funções similares.