Introdução ao Wayland, a nova geração de servidor gráfico

O Wayland é um projeto com a pretensão de substituir o X, como servidor ou protocolo gráfico.
De acordo com os desenvolvedores, trata-se de um protocolo criado para permitir que um compositor converse com seus clientes.
Um compositor pode ser um servidor gráfico isolado e rodando sobre um kernel Linux, pode ser uma aplicação X ou um cliente Wayland.
Por clientes, entenda-se, uma aplicação tradicional qualquer, servidores X ou outros.
wayland logo 640px
Parte do que se fala sobre o Wayland project se refere ao Weston — um compositor mínimo e rápido, adequado a uso em dispositivos móveis e embutidos. Vamos falar mais dele, ali na frente.
O X11 tem sido, até o momento o padrão da indústria, para a (quase) totalidade dos sistemas Unix-like, desde seu lançamento, em 1986.
Após estes 30 anos de bons serviços prestados, o X11 está começando a encontrar limitações que pedem alterações mais profundas em seu código — ou a criação de uma nova plataforma, do zero.
A comunidade de desenvolvedores acredita que é mais fácil introduzir uma nova plataforma, mais moderna e voltada para as atuais e futuras tendências de interfaces gráficas ao usuário.
Sem radicalismos desnecessários, os desenvolvedores também estão reaproveitando código do X11, aonde faz sentido.
Os ambientes de desktop gráfico GNOME e KDE estão migrando na direção da adoção do Wayland.
A iniciativa tem o apoio de empresas como a Intel, Red Hat, Collabora etc.
screenshot of gnome 3 on Wayland

Como o Wayland funciona

O Wayland não é um fork do X11 e não é um servidor X, tampouco.
É o sucessor do X11, mas com outra abordagem.
É um protocolo de comunicação entre um compositor e seus clientes.

O método antigo deixava para os aplicativos a responsabilidade de manipular a renderização de suas próprias janelas, diretamente, dentro da memória compartilhada, o que não traz resultados particularmente eficientes ou estáveis.
O estilo antigo, é chamado stacked window managers (ou gerenciadores de janela em pilha).
Um gerenciador de janelas de composiçao, atual, toma para si o controle sobre o espaço que cada aplicação irá ocupar no buffer de memória. A partir daí, ele faz a composição dos buffers numa imagem da memória do display.
Esta abordagem é mais estável do que a do stacking window manager, que pode congelar em virtude do mau comportamento de um única aplicação.
Um ambiente de composição continuará de pé, mesmo que alguma aplicação caia e ainda traça os gráficos mais suaves e sem flickering.

Por que a gente precisa do Wayland?

O Wayland é uma iniciativa open source, com apoio de grandes empresas e da própria comunidade Xorg.
O objetivo é produzir uma base para que as aplicações possam oferecer interfaces fluidas e modernas.
Chega para substituir o X11, integrando o OpenGL ES e o EGL em displays 3D.
Também estão incluídos o suporte a media frameworks, como o GStreamer, OpenMAX e VA-API para reprodução de vídeo, entre muitos outros.

screenshot of gnome 3 on Wayland
O princípio que sustenta a plataforma Wayland é bem simples: cada frame (quadro) tem que ser perfeito.
Isto quer dizer que o usuário final não deve ver, jamais, resultados incompletos ou em trânsito — o que, por sua vez, significa que visualizar uma janela, aparecer primeiro como um retângulo cinza e, em seguida, metade dos elementos da UI (interface do usuário) e ver o resto sendo preenchido depois, não é bom o suficiente, quando se fala de padrões atuais.
Usuários não aceitam mais animações malfeitas, congelamentos da interface ou qualquer coisa menos do que gráficos perfeitos.
No X11, os desenvolvedores precisavam lutar para conseguir os melhores resultados, muitas vezes tendo que recorrer a “gambiarras” — que também não eram portáveis.
Outro objetivo do Wayland é melhorar significativamente a história dos drivers de suporte, em relação ao X11.
O modelo de drivers do X11 é extremamente complexo e frágil — mas não vamos usar isto como desculpa para as empresas de hardware gráfico (AMD, NVIDIA, Intel etc.) não cumprirem bem seus papéis.
O fato é que o modelo do X11 requer muita integração (ou participação) dos fabricantes de hardware, para conseguir obter funcionalidade básicas.
As atualizações dos drivers das placas de vídeo para X11, são um pesadelo à parte.
No caso do Wayland, há uma área muito menor a ser coberta, neste sentido.
Ele requer apenas suporte a APIs de display básicas do kernel, bem como uma extensão EGL, para aceleração 3D.
Com isto, espera-se redução no custo e no tempo de desenvolvimento de soluções e de suporte.
screenshot of gnome 3 on Wayland

O que é Weston?

O projeto Wayland é composto pelo seguinte:

  • O núcleo do Wayland display protocol, que define como os compositores (ou display servers) interagem com os clientes (o que inclui outros servidores, tal como o próprio X.Org), bem como a interação dos dispositivos de entrada e saída.
  • Uma biblioteca de referẽncia, que implementa o protocolo Wayland, oferecendo uma API nativa em C e que dá suporte a comunicação com outras linguagens.
  • O Weston, uma implementação, que serve de referência como um compositor completo.

A Collabora trabalha intimamente com todo o ecossistema Wayland, desde o núcleo do protocolo – cujas mudanças afetam como todo o conteúdo será disposto na tela – aos novos recursos, incluídos na UI (Interface de Usuário) do Weston.
Weston running over Wayland on Gnome 3 on Debian 9 Stretch Testing.
O Weston é uma implementação de compositor, cujo objetivo é servir de modelo para ambientes móveis e desktop.
Ele provê 3 grandes componentes:

  1. O manuseio do núcleo do protocolo Wayland.
  2. Uma abstração da camada de hardware, que permite que rode sobre uma variedade grande de plataformas de hardwares e interfaces de controle gráfico.
  3. Um UI framework que permite o desenvolvimento rápido de novas interfaces.

O Weston suporta hardware de composição dedicada, com muita classe. Ele permite animações fluidas, transições suaves e decodificação de vídeo em alta qualidade.
— tudo isto, mantendo o consumo de energia e o uso dos recursos da CPU, no mínimo absoluto.

Referências

https://wayland.freedesktop.org/.

O que fazer depois de instalar o KDE

O ambiente desktop KDE está presente, por padrão, em vários sabores do GNU/Linux. Ele pode também ser encontrado (ou instalado) em sistemas operacionais Unix-like, como o FreeBSD.
Se a sua distro atual usa outro ambiente, é possível instalar o KDE a qualquer momento.
No Debian, é possível substituir o seu atual desktop environment pelo KDE, com alguns cliques, usando o tasksel.
Debian-kde-version
Você pode ter vários ambientes desktop instalados e alternar entre eles.
Neste texto, parto do pressuposto de que você já tem tudo instalado e deseja dar os primeiros passos no KDE.
Os exemplos são baseados no Debian 9 “Stretch”, ainda no canal de desenvolvimento Testing, tendo o KDE como desktop padrão.
Como é possível observar, na imagem acima, a versão do KDE, em uso é o Plasma 5.6.5.

Nenhum sistema operacional ou ambiente desktop “nasce” pronto. Os ajustes padrão são genéricos, feitos pelos desenvolvedores — baseados nos gostos da maioria.

Veja como e fácil ajustar o ambiente para que ele fique confortável para o seu uso diário.

Como ajustar o touchpad no KDE

Se você não teve a sorte de ter o seu touchpad multitoque (ou não) 100% reconhecido, é provável que ele ainda não esteja funcionando tão bem quanto poderia. Este é o meu caso — e é fácil de resolver.
Siga o procedimento:

  • Abra o menu K, no canto inferior esquerdo e selecione Configurações do sistema. Se preferir usar um atalho de teclado, pressione ‘Alt + F1’.
  • Abra o painel Dispositivos de Entrada e selecione o item referente ao Touchpad, à esquerda.
  • Habilite a opção Emulação do botão do mouse. Em seguida, clique em Aplicar, no canto inferior direito do painel.
    kde painel configuração touchpad

Use a Área de testes, à direita do painel, para verificar as configurações.

Como ajustar a barra de status no KDE

A barra de status do KDE, por padrão, é posicionada na parte inferior da tela.
Depois de passar um bom tempo transitando entre o GNOME e o Unity (no Ubuntu), me acostumei com a barra de status na parte superior.

  • Abra o menu específico da barra, levando o ponteiro do mouse para uma área vazia nela. Clique com o botão direito do mouse e selecione Opções de Painel. A seguir, selecione Configurações de painel.
    kde configuração barra de status
  • Agora, arraste o botão Borda da Tela para o canto desejado. Você pode optar pelas laterais também, se preferir.
    kde configuração barra de status

Aproveite para ajustar também a Altura da barra, para um tamanho que você ache mais confortável.

Configure a seção de favoritos do menu K

O menu K é totalmente configurável.
O atalho de teclado padrão, para acessar este item do KDE, é ‘Alt + F1’.
Ele pode ser facilmente navegado através das setas direcionais do seu teclado.
A primeira seção é a dos Favoritos, onde já há alguns aplicativos padrão listados.
Que tal incluir os seus?
Para isto, navega nas seções do menu, até encontrar o aplicativo que você gostaria de incluir na seção Favoritos. Clique sobre o item, com o botão direito do mouse e selecione Adiconar aos Favoritos.
kde adicionar aplicativo favorito
Se houver algum item, no menu Favoritos que você não deseja, toque nele com o botão direito e selecione Remover dos Favoritos.
Tome algum tempo para organizar os seus aplicativos favoritos e tornar o acesso mais fácil aos programas que você mais usa.

Altere a imagem do seu avatar no login

Novamente, abra o Painel de Configurações e selecione Detalhes da Conta.
Depois disto, selecione na lista, à esquerda, o item Gerenciador de Usuários.
Agora, clique no quadrinho do retrato, para selecionar uma imagem pronta para usar como avatar.
kde config user avatar picture

Ajustes dos efeitos especiais da interface do KDE

O KDE, em comparação com o GNOME, não tem uma interface tão limpa e minimalista.
Como ambiente desktop, o KDE tem uma proposta diferente — ame-o ou deixe-o.
O KDE nunca foi o desktop environment adequado para quem tem recursos de hardware muito limitados.
Ainda assim, pode ser interessante desligar alguns recursos visuais.
No Painel de Configurações, selecione Comportamento da Área de Trabalho.
Dentro deste painel, selecione Efeitos da Área de Trabalho.
Na janela interna, à direita, você pode desativar os recursos visuais que quiser.kde efeitos visuais

Adicione seu usuário ao grupo admin

O grupo admin, tem acesso a recursos restritos da administração do sistema.
No Ubuntu, o usuário criado durante a instalação, é adicionado automaticamente a este grupo.
No Debian isto não acontece.
Você pode configurar o SUDO, caso necessite de privilégios administrativos — para instalar/remover aplicativos etc.
Isto também pode ser feito no KDE
Volte para o painel Detalhes da Conta, que você usou, acima, para alterar a imagem do seu avatar e ligue a opção Administrador.
Em seguida, toque em Aplicar e reinicie a sessão.

Referências

Este post foi baseado no Debian 9 Testing “Stretch”, que pode ser obtido neste site: http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/weekly-live-builds/amd64/iso-hybrid/.
Leia outros posts sobre o KDE, aqui: https://elias.praciano.com/tag/kde/.

Como adicionar temas ao Openbox

Usar um gerenciador de janelas leve como o Openbox tem várias vantagens.
Ele é leve justamente por que vem com menos “recursos” do que outros gerenciadores de janelas.
A maioria destes recursos, contudo, pode ser adicionada, à medida em que você vai precisando deles.
O Openbox é recomendado para quem deseja dar um sopro de vida nova a um PC ou laptop antigo.
Se você tem um hardware atual e poderoso, pode usar um sistema operacional como Ubuntu ou o Kubuntu, cheio de efeitos especiais ou reservar os recursos preciosos da sua máquina para seus jogos, seus aplicativos 3D etc.

O Openbox é uma ótima opção também para quem deseja fazer um uso mais eficiente de hardware de última geração.
Com ele, os recursos de hardware são mais dedicados a seus aplicativos do que ao sistema operacional.

Ser leve não significa ser feio ou “castrado”.
O Openbox tem amplas possibilidades de configuração visual e admite instalar fácil novos temas, caso você não esteja satisfeito com os que já existem na instalação padrão.
Neste texto vou mostrar como escolher temas e como instalar novos.
Ao final, estão relacionados alguns sites que contém temas para Openbox, onde você poderá procurar os que lhe agradam.

Use o obconf para escolher os temas do Openbox

O aplicativo obconf é o indicado para configurar visualmente o Openbox.
Você pode executá-lo direto do terminal ou através do menu principal, clicando sobre ObConf.
openbox configuration tool obconf
Selecione o item Temas, à esquerda.
Na janela da direita, escolha o tema desejado.
O tema escolhido costuma ter efeito imediato, alterando as fontes, as cores dos textos, das bordas, das janelas etc.

Como adicionar novos temas ao Openbox

Os temas do Openbox vem agrupados em arquivos .obt e podem ser baixados de várias localidades na Internet (veja links ao final do texto).
Uma vez baixado o pacote .obt, ele já pode ser usado de imediato na tela de seleção de temas:

  • Na tela de configuração de temas, clique sobre Instalar um novo tema …
  • Vá para a pasta para a qual foram baixados os arquivos .obt e selecione um dos temas
  • O tema vai ser aplicado na hora e o sistema volta para a tela principal de escolhas

openbox com tema Windows 3.11

Como instalar pacotes de temas tar.gz

Este tipo de pacote não é reconhecido automaticamente pelo Openbox. Mas é fácil fazer a conversão com o uso de ferramentas disponibilizadas pelo próprio gerenciador.
Após o download do pacote .tar.gz, descompacte-o, de acordo com o exemplo:

tar xzf 83033-pixelstyle.tar

Verifique se no diretório criado há pacotes .obt — Se houver, volte para a seleção de temas do ObConf e escolha o seu pacote .obt recém baixado.
Se não houver qualquer pacote .obt dentro do diretório criado, volte a tela de seleção de temas do ObConf e toque no botão Criar um pacote de tema (.obt)….
Em seguida, selecione o diretório criado após a extração do pacote .tar.gz e está feito.

Referências

http://lx-pup.weebly.com/openbox-themes.html.
https://www.box-look.org/browse/ord/latest/.
http://browse.deviantart.com/customization/skins/linuxutil/winmanagers/openbox/?order=9.

Como capturar a tela no Openbox

Capturar a tela faz parte da cultura GNU/Linux, da mesma forma que personalizar e customizar o nosso desktop.
Em outros ambientes de sistemas operacionais, é comum usuários que nunca se viram antes usarem as mesmas configurações e tematizações.
Pessoas que usam Linux, comumente, amam personalizá-lo.
Capturar a tela é útil para mostrar a um técnico distante, um evento que esteja ocorrendo no seu computador, com certeza.
O mais legal, contudo, é poder mostrar pros amigos como ficou o seu desktop depois da sua última personalização, claro.
openbox logo
O gerenciador de janelas Openbox é altamente personalizável. Se quiser saber mais, leia sobre como trocar e instalar novos temas ou sobre como alterar o papel de parede aleatoriamente.

Como tirar screenshots no Openbox

O procedimento de capturar a tela, tem termos correspondentes, em inglês, como Print Screen e Screenshot.

O processo de captura de tela, no Openbox, pode ser disparado pela tecla Print Screen, como em outros gerenciadores de janelas.
A tecla faz um atalho para o aplicativo scrot, que pode ser invocado, se você quiser, do terminal.
print screen key
A pressionar a tecla, o scrot é acionado para capturar toda a área virtual — o que inclui as múltiplas telas, para quem usa vários monitores, que formam uma única área de trabalho virtual.
Para capturar apenas uma das janelas de aplicativos, pressione ‘Alt + Print Screen’ e dê clique/toque sobre a janela que deseja capturar.
Os arquivos de imagem contendo as capturas, serão armazenados na sua pasta home.

Como configurar captura de tela com o scrot

O scrot admite uma série de customizações para atender às suas necessidades.
Abra um terminal para testar algumas opções de uso do aplicativo.
Para capturar após 10 segundos e exibir uma contagem na tela:

scrot --delay 10 --count

Use o comando ls, para ver o novo arquivo criado:

ls *_scrot.png
_
2016-06-18-140911_1024x1368_scrot.png
_

O scrot nomeia, como comportamento padrão, os arquivos com a data, hora e resolução da imagem.
Mas você pode especificar o nome do arquivo, se quiser:

scrot --delay 10 --count captura-de-tela.png

Você pode especificar a qualidade da imagem (o padrão é 75%):

scrot --quality 95 captura-de-tela.png

Como configurar o atalho de teclado para o scrot

Você pode usar esta dica em outros gerenciadores de janelas.
Os atalhos de teclado no Openbox são armazenados no arquivo ‘~/.config/openbox/rc.xml’.
Saiba mais sobre atalhos de teclado no Openbox, clicando aqui.
Neste arquivo, a secção que descreve o uso do ‘Alt + Print Screen’ (captura da janela ativa) é a seguinte:

    <!-- Take a screenshot of the current window with scrot when Alt+Print are pressed -->
    <keybind key="A-Print">
      <action name="Execute">
        <command>scrot -s</command>
      </action>
    </keybind>

Para acrescentar um segundo atalho de teclado ‘Ctrl + Print Screen’, copie e cole o trecho anterior, logo abaixo.
E altere a sessão command.
No meu exemplo, vou configurar o atalho para capturar a tela após 5 segundos e mover o arquivo para dentro do diretório Imagens/temp.
Veja como ficou:

    <!-- Captura a tela com Ctrl + PrtScn e grava em Imagens/temp -->
    <keybind key="C-Print">
      <action name="Execute">
        <command>scrot --delay 5 -e "mv $f ~/Imagens/temp"</command>
      </action>
    </keybind>

A lista de teclas de atalho no Openbox

Conhecer as teclas de atalho ou as hotkeys da interface de um ambiente desktop ou de seus aplicativos favoritos é o caminho mais curto para fazer uso eficiente deles.
As hotkeys ajudam você a evitar de fazer aquela ginástica improdutiva de tirar a mão do teclado para pô-la no mouse, e vice-versa.
Neste texto, irei abordar as teclas de atalho da interface gráfica do gerenciador de janelas Openbox.
openbox logo

Hotkeys do Openbox

As teclas de atalho listadas, a seguir, se referem a versão 3.6.1 do Openbox, instalado no Debian 9 Stretch. Você pode encontrar algumas divergências em outras versões ou em outros sistemas operacionais.
Para saber a sua versão do Openbox, execute o seguinte comando no terminal:

openbox --version
Openbox 3.6.1
Copyright (c) 2004   Mikael Magnusson
Copyright (c) 2002   Dana Jansens

This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
  • Alt-F4 — fecha a janela atual.
  • Alt-Space — exibe o client menu da janela ativa.
  • Alt-Tab — alterna entre as janelas presentes na área de trabalho.
  • Alt-Shift-Tab — alterna entre as janelas presentes na área de trabalho na ordem inversa.
  • Ctrl-Alt-Tab — alterna entre painel e janelas na área de trabelho.
  • Super-D — esconde todas as janelas para exibir a área de trabalho.
  • Super-E — Roda o aplicativo kfmclient ou Konqueror file manager (Se ele estiver instalado}.
  • Alt-Escape — Move a janela ativa para baixo de todas as outras e eleva a última que estava em uso.
  • Alt-botão esquerdo do mouse/touchpad — pode ser usado para mover a janela sob o ponteiro.
  • Alt-botão direito do mouse/touchpad — pode ser usado para redimensionar a janela sob o ponteiro. A janela será redimensionada na direção do canto em que se encontra o ponteiro em relação a ela.
  • Alternância entre desktops

  • Super-F1 — vai para o primeiro desktop.
  • Super-F2 — vai para o segundo desktop.
  • Super-F3 — vai para o terceiro desktop.
  • Super-F4 — vai para o quarto desktop.
  • Ctrl-Alt-seta à esquerda — Abre a janela de alternância entre desktops e vai para o desktop à esquerda do atual
  • Ctrl-Alt-seta à direita — Abre a janela de alternância entre desktops e vai para o desktop à direita do atual.
  • Ctrl-Alt-seta para cima — abre o diálogo de alternância de área de trabalho para mover para a área de trabalho acima da atual. Só irá funcionar se o pager estiver configurado para trabalhar com múltiplas linhas.
  • Ctrl-Alt-seta para baixo — abre o diálogo de alternância de área de trabalho para mover para a área de trabalho abaixo da atual. Só será útil se o pager estiver configurado para trabalhar com múltiplas linhas.
  • Shift-Alt-seta para esquerda — Abre a caixa de diálogo de alternância entre desktops, para se mover automaticamente para a esquerda e levar junto a janela atual/ativa.
  • Shift-Alt-seta para direita — Abre a caixa de diálogo de alternância entre desktops, para se mover automaticamente para a direita e levar junto a janela atual/ativa.
  • Shift-Alt-seta para cima — abre a caixa de diálogo de alternância entre desktops, para se mover automaticamente para cima e levar a janela atual/ativa.
  • Shift-Alt-seta para baixo — abre a caixa de diálogo de alternância entre desktops, para se mover automaticamente para baixo e levar a janela atual/ativa.
  • Alt-Scroll wheel — use a tecla Alt combinada com a roda do mouse ou com o gesto de rolagem do touchpad para alternar entre as áreas de trabalho.