Interface gráfica do usuário do sistema operacional Linux

Interface gráfica do usuário do sistema operacional Linux

Atualmente, estou pesquisando sistemas operacionais por interesse e li alguns artigos e guias sobre como fazer o seu próprio. Encontrei o Linux e como é possível criar o seu próprio do zero, isso não me atrai. Então, descobri que você pode obter sistemas operacionais Linux pré-fabricados quando pode personalizar a si mesmo; no entanto, depois de analisar mais detalhadamente, não é o que estou procurando.

Estou procurando poder personalizar a parte do sistema operacional com a qual o usuário interage (o aplicativo?), Por exemplo, a barra de tarefas (no Windows), o botão Iniciar, a área de trabalho etc., pois não tenho interesse em mudar a forma de carregar arquivos e processar aplicativos, mas por onde começar a procurar?

  • também não pretendo criar um tema que tenha apenas um botão diferente e bonito. Desejo aprender o básico e potencialmente recriar a maneira como ele é exibido.

um ponto na direção certa seria bom, e qualquer coisa que eu possa precisar aprender no caminho.

(Não tenho conhecimento em sistemas operacionais, mas tenho em várias linguagens de codificação superiores)

Responder1

Existem vários ambientes gráficos de usuário diferentes disponíveis para Linux, como oGNOMO,KDEouXfceambientes de área de trabalho. Esses ambientes de desktop incluem um aplicativo de painel, comoPainel GNOMEouKicker do KDE. Esses aplicativos fornecem uma barra de tarefas e um inicializador de aplicativos (o equivalente ao botão Iniciar do Windows). Os ambientes de desktop também incluem umgerenciador de janelas, um software que controla o posicionamento e a aparência das janelas do aplicativo. A aparência de tudo isso pode ser personalizada comdiferente tiposdetemas.

Se você quiser personalizar o comportamento do seu ambiente gráfico de usuário, você também pode dar uma olhada em algunsdiferentes gerenciadores de janelas, que vêm em todos os tipos de formas e tamanhos.

A maioria das distribuições Linux vem com um dos ambientes de desktop mencionados acima, mas normalmente fornece outros ambientes gráficos de usuário para instalação através de seussistemas de gerenciamento de pacotes. Mesmo que você não goste do ambiente padrão fornecido pela distribuição, você ainda pode querer usar uma distribuição em vez de configurar o ambiente gráfico do usuário de sua escolha do zero, o que normalmente não é pouca coisa.

No ambiente de desktop, a maioria dos sistemas Linux de desktop tem uma implementação doSistema de janela X, que é a infraestrutura em nível de sistema para a interface gráfica do usuário. A implementação canônica de X é aX.org servidor de exibição, que é usado pela maioria das distribuições Linux para desktop atualmente.

Waylandé um protocolo de servidor de exibição promissor que se destina a substituir o X Window System. A implementação de referência de umgerenciador de janelas de composiçãopois Wayland é chamadoWeston. Ambos os projetos GNOME e KDE anunciaram que implementarão suporte para Wayland, mas atualmente não é uma alternativa viável no desktop, embora seja usado por alguns sistemas baseados em Linux.Infoentretenimento no veículo(IVI) sistemas.

Responder2

Estou procurando poder personalizar a parte do sistema operacional com a qual o usuário interage (o aplicativo?), Por exemplo, a barra de tarefas (no Windows), o botão Iniciar, a área de trabalho etc., pois não tenho interesse em mudar a forma de carregar arquivos e processar aplicativos, mas por onde começar a procurar?

Também sou muito exigente com minha área de trabalho. GNU/Linux tem o potencial de ser muito mais flexível desta forma do que o Windows ou o OSX devido ao design modular, mas para tirar o máximo proveito dele você precisa entender como eles se encaixam.

Além do kernel, existem três camadas envolvidas em uma GUI normal do Linux:

  1. O servidor Xorg; isso é universal - AFAIK, não há alternativa para isso (apesar de Wayland, veja a resposta de Thomas Nyman). É chamado de servidor porque é; Os aplicativos GUI são clientes do servidor. O Xorg (anteriormente X11 e também conhecido como "X Windowing System") remonta aproximadamente à mesma época que as primeiras GUIs da MS e da Apple. 1 Embora você possa usar tudo sozinho, o que ele fornece é muito rudimentar do ponto de vista do usuário. No entanto, é importante conhecer e compreender que se trata de uma entidade distinta, como o motor de um carro. Por si só, um motor não é muito útil para a maioria das pessoas, mas é claro que um carro sem motor também não é.

  2. O gerenciador de janelas, abreviado como WM. Enquanto o X fornece os recursos básicos para criar janelas, o WM adiciona coisas como barras de título, quadros e menus independentes. Alguns gerenciadores de janela são projetados exclusivamente para integração com o item 3 abaixo, porém, muitos deles também podem ser usados ​​sozinhos. Como o WM é responsável pelo comportamento e aparência da janela, um bom WM independente pode fornecer tudo o que você precisa - tendo em mente que coisas como barras de tarefas são, na verdade, formas especiais de "janela", e alguns WMs podem configurá-las e instanciá-las. Além disso, barras de tarefas e docks costumam ser aplicativos independentes que podem ser executados em um WM sem a necessidade do número 3. Eu recomendo totalmente tentar isso em algum momento, mas acho que pode ser um pouco confuso para novos usuários.

  3. O ambiente de desktop, abreviado como DE. DEs são construídos sobre WMs e muitas vezes permitem que você escolha qual WM usar, embora inicialmente você deva manter o padrão. De muitas maneiras, um DE é na verdade um front-end GUI para um WM; Os WMs geralmente são configurados com arquivos de texto e o DE fornece uma interface de apontar e clicar. Eles geralmente também incluem um conjunto de aplicativos integrado, cuja peça central é um navegador de arquivos. No entanto, esses aplicativos geralmente não precisam do DE (por exemplo, meu aplicativo de terminal favorito é o Terminal do XFCE, mas eu não uso o XFCE). As barras de tarefas, como já mencionado, também podem ser um exemplo disso. Portanto, há muito potencial para misturar e combinar aqui.

Não sou uma autoridade no estado dos principais DEs, então não posso dizer exatamente o quão flexíveis eles são na configuração WRT. Tradicionalmente, a flexibilidade é mais uma característica do WM – o DE acaba limitando isso para se adequar à sua visão particular. No entanto (você foi avisado!), um WM autônomo verdadeiramente dinâmico geralmente envolve muito trabalho com arquivos de texto quase equivalente à complexidade do HTML/CSS - não é difícil fazer algo básico, mas obter exatamente o que você deseja facilmente leva algum tempo. experiência.

Se você não se importa em gravar alguns CDs, eu cortaria alguns CDs ao vivo que usam DEs diferentes - Gnome, KDE, XFCE, etc. quero que eles olhem em um curto período de tempo. Isso pode não acontecer, mas deve lhe dar uma ideia de com qual você prefere trabalhar. Ignore os temas e cores nesse ponto e concentre-se na função.

Atualmente uso o KDE como meu ambiente principal. Como mencionei, sou muito particular e é muito configurável. Faz muito tempo que não vejo o GNOME e não sei como ele se compara, em termos de configurabilidade, mas acho que esses seriam os dois grandes candidatos à flexibilidade na categoria DE.

A última coisa que deve ser mencionada é aconjunto de widgets, que é uma espécie de camada como 1,2,3 acima (mas não realmente). 2 O conjunto de widgets é o que determina a aparência de itens genéricos dentro da moldura da janela (botões, barras de rolagem, etc.), e é por isso que existemDOISformas distintas e independentes de "tema" em jogo com a aparência da GUI: o tema do conjunto de widgets (dentro do quadro) e o tema do WM (o quadro, a barra de título). O conjunto de widgets mais comum no Linux é o GTK, que foi desenvolvido em conjunto com o GNOME, mas também é usado por outros DEs. Uma exceção significativa a isso é o KDE, que usa Qt, um kit de ferramentas multiplataforma.

1 Sim, isso é mais antigo que o Linux. X é usado em todo o mundo "semelhante ao Unix".

2 "Conjunto de widgets" é um termo um pouco vago, já que Qt e GTK (+glib) fazem significativamente mais do que apenas fornecer widgets, mas isso é bom o suficiente por enquanto.

informação relacionada