quarta-feira, 15 de janeiro de 2020

Transição para UEFI / GPT

Particionamento inicial (experimental) para 12 distros Linux em dualboot

Particionamento GPT e inicialização UEFI para 12 distros Linux em dualboot não é o bicho-papão que eu imaginava.

Isto não é um “tutorial”. — Apenas um registro (em andamento), para lembrar o que fiz, como fiz, — e já iniciar um balanço dos erros, falhas etc.

Índice


  • Planos anti-UEFI
  • Mudança de planos
  • Particionamento
  • Conteúdo da partição EFI
  • UEFI Bios Utility
  • Hardware

Planos anti-UEFI


As leituras dos últimos anos me acenavam com uma selva emaranhada de conceitos esquisitos, — que, em vez de se esclarecerem, a cada nova leitura, tornavam-se ainda mais confusos e ininteligíveis. — Faltava lidar com o assunto “na prática”.

Também me parecia absurdo, quase inaceitável, ser obrigado a adotar um esquema que repousa sobre a imposição de uma partição em formato proprietário (Fat32), — e quanto mais eu lia, mais firme era minha decisão de manter no futuro hardware o velho esquema BIOS / MBR. — Ou pelo menos, seu equivalente simulado (legacy), já que não havia como escapar ao fato de que qualquer novo hardware viria com firmware UEFI.

   HDD    320 MB    2009
   HDD    320 MB    2009
   HDD      1 TB    2016
   SSD      1 TB    2011

Com isso, pretendia reaproveitar pelo menos o HDD mais novo (1 TB) — e o SSD externo (1 TB), — o que permitiria adiar o investimento em discos.

Minha intenção era deixar pelo menos 1 HDD (320 GB) no antigo PC, bem como o velho Monitor, o velho DVD-RW etc., para não torná-lo uma peça incompleta e sem utilidade.

Mudança de planos


Essa decisão inabalável contra o UEFI desabou no momento de finalizar a configuração do novo hardware, — quando um amigo falou do incrível salto de velocidade (boot, abertura de aplicativos) ao passar do tradicional HDD mecânico para um SSD moderno.

Eu sabia disso (em tese), — só que não tinha planejado assim, por enquanto. — Mas uma conversa ao vivo opera milagres.

Acontece que o orçamento do novo hardware já estava muito além do que eu pretendia. — Não dava para escolher um SSD de 1 TB, ainda muito caro, naquele momento. — Optei por uma solução de compromisso, com um SSD de 480 GB.

Foi uma mudança de planos em cima da hora, após semanas de pesquisa de preços, — mas não é todo dia que um amigo pode te acompanhar a meia-dúzia de lojas, para adquirir componentes sob especificação, juntar tudo, mandar montar e já levar o PC pronto. — Não valia a pena adiar, repensar tudo com calma e recomeçar outro dia.

Só mais tarde, em casa, já com a máquina funcionando, — em sessão Live, para iniciar o particionamento do SSD (*), — as consequências dessa mudança de planos me atingiram em cheio.

(*) Pedi ao técnico que fizesse o teste sem instalar nada, para evitar qualquer pegada ou impressão digital da M$ no firmware (UEFI) ou no SSD.

Antigo particionamento, com velhos HDDs mecânicos + SSD externo com baixa taxa de transferência (USB2)

No antigo hardware, eu tinha 12 “slots”, — cada um com partição-raiz de 25 GiB, partição /home de 25 GiB e partição Swap de uns 4 GiB, — para instalar até 12 distros Linux em dualboot.

Espaço ocupado por diferentes distros (raiz e /home), após meses, ou vários anos, em partições de 25 GiB

Só isso, já exigiria 648 GB, — e eu queria aumentar a partição-raiz do openSUSE para 50 GiB, — e as demais para 30 GiB, pelo menos.

Acima: - Apenas openSUSE Tumbleweed ameaçava estourar o espaço disponível de 25 GiB, a cada grande atualização (são frequentes upgrades quase completos), mesmo com limitação “artificial” do número de snapshots. — Arch e Sabayon ocupavam um pouco mais de espaço, porém em ritmo bem mais lento, bastando eliminar o excesso a cada 2 ou 3 meses.

É claro que eu poderia reduzir o número de “slots”, — de 12 para 8, por exemplo, — mas me parece que posso vir a instalar 8 distros (e ficar sem espaços) em muito menos tempo do que levaria para substituir esse SSD de 480 GB por outro de 960 GB.

Talvez seja mais seguro acrescentar outro de 480 GB, em vez de substituir por um maior, — pois se um falhar, bastaria reiniciar e carregar uma distro instalada no outro.

Também poderia criar apenas 1 partição Swap para todas as distros, já que não uso Hibernar nem Suspender, — mas basta que um instalador a formate por acidente, para ter de corrigir o UUID em todas as outras distros (tanto no /etc/fstab, quanto no “Resume device”).

Teste com 11 abas no Chrome, sendo 9 do Facebook

Para não criar dificuldades para mim mesmo no futuro, optei por instalar todas as distros sem partição /home separada e sem Swap, — pois tudo funcionou muito bem em sessão Live (que ocupa mais Memória RAM, ao descompactar e montar nela o sistema de arquivos virtual), — e afinal, é muito simples adicionar essas partições a qualquer momento, no futuro.

Teste em sessão Live, com sistema de arquivos e pasta pessoal na Memória RAM, e sem partição Swap

Em uma sessão Live de 9 horas (das 15:00 às 24:00) ficou claro que os 16 MB de Memória RAM são mais do que suficientes para as tarefas modestas que costumo executar, — no máximo, abrir 10 ou 20 abas do Facebook, ou rodar o GoogleEarth, — mesmo descontando 1 GiB alocado para o vídeo onboard (iGPU).

No caso do GoogleEarth (modo web, no Chrome), também ficou claro que o “voo programado” (circular) nem chega a aquecer os núcleos. — Isto só ocorreu com vários zoom em rápida sequência.

A decisão de incluir o SSD moderno (Sata 3.0) teve outras implicações:

  • Mesmo com a intenção de usar particionamento MBR / BIOS (legacy), pretendia testar GPT / UEFI, para “ver como é”, — mas talvez fosse mais complicado, tendo apenas dispositivos já particionados em MBR e com arquivos a serem preservados. — Com um novo dispositivo, foi muito simples testar GPT / UEFI e descobrir que não era nenhum bicho-de-sete-cabeças.
  • É menos seguro ter todas as distros instaladas em um único dispositivo. — Daí a ideia de acrescentar outro de 480 GB, — em vez de substituir por um de 960 GB.

Particionamento


Criando a “Tabela de Particionamento GUID” (GUID Partition Table = GPT)

Com o SSD ainda intocado, o primeiro passo foi criar a “Tabela de Particionamento GUID”, — mais conhecida pela sigla em inglês “GPT”. — O GParted oferece “MSDOS”, por padrão, e é preciso lembrar de alterar isso.

Gerenciando as Flags da partição EFI

A primeira partição a ser criada foi a “EFI System Partition”, — não lembro se esse “nome” veio automaticamente, a partir de alguma opção, ou se digitei manualmente, para imitar o que vi em algum tutorial. — Tipo = Fat32; — Label = EFI.

Depois de ciar a partição EFI, atribuí as Flags = boot, esp.

Os tutoriais sugerem tamanhos de 100 MB, ou 256 MB, ou 512 MB, — que alguns já consideram um exagero, — e até de 1 GB, quando o autor se sente inseguro.

Optei por 2 GiB, por via das dúvidas, — e tudo indica que foi um exagero descomunal.

  • Ver “Conteúdo da partição EFI”, adiante.

Partições para instalação das primeiras 6 distros

Criei, em seguida, as partições para instalação das primeiras 6 distros escolhidas, — para mantê-las na mesma ordem do antigo PC, que já sei de cór, — pois o PCLinuxOS seria o “Linux6”.

A única alteração foi instalar o openSUSE na partição “Linux1” (de 50 GiB) e o KDE Neon na partição “Linux5”.

Começar pelo PCLinuxOS foi obra do acaso, — era o DVD mais recente que eu tinha na gaveta (exceto Arch e Void, mais complicados).

Partições Root e /boot/EFI na instalação do PCLinuxOS

No instalador do PCLinuxOS (Draklive install), escolhi a opção de Particionamento personalizado (Custom disk partitioning), — atribuí o ponto de montagem “/” à partição Linux6, — e o ponto de montagem /boot/EFI à partição EFI.

Ao clicar em “Done” para concluir a etapa de “Particionamento personalizado”, o Draklive install apresentou o sumário das operações, — formatar apenas a partição-raiz (padrão), pois presume-se que a partição EFI pode conter o Bootloader de outras distros previamente instaladas.

Instalação do Bootloader do PCLinuxOS na EFI System Partition (Boot device)

Chegando à etapa do Bootloader do PCLinuxOS, me certifiquei de que ele seria instalado na partição EFI System Partition (Boot device), — mas não lembro se esta era a opção padrão ou se tive de selecioná-la manualmente.

      Date         Live    Installed       Distro
             1st PrtScn   1st PrtScn

10-01-2020        14:02        23:51       PCLinuxOS
11-01-2020        -----        17:14       openSUSE
12-01-2020        12:28        13:59       KDE Neon
12-01-2020        15:05        17:53       Fedora

Instalação do openSUSE na partição “Linuxs1” + /boot/EFI

Guardadas as peculiaridades de cada distro e de cada instalador, estes foram os procedimentos básicos também no openSUSE e no Fedora, — cada um na respectiva partição-raiz (Linux1, Linux4), — e todos os Bootloader na mesma partição EFI, onde convivem lado a lado.

Particionamento manual do Fedora, com formatação apenas da Root

No instalador do Fedora (Anaconda), que não tem uma ordem pre-definida, comecei pelas definições de Teclado, Fuso horário, senha de Root, criação do Usuário, Rede (Hostname: Linux4), e deixei por último a definição das partições (Installation destination), — e a primeira providência foi mudar de “Automático” para “Personalizado”.

A partição de destino (Linux4) estava no último grupo (Desconhecido), — e ao definir o ponto de montagem “/”, creio que não marcou automaticamente para Formatar. — De fato, isso não era necessário, pois a partição já estava pronta e limpa; mas marquei manualmente para formatar de novo, por mero hábito. O fato de ter reconhecido e assinalado o Rótulo (Label) “Linux4” indicava que ele seria mantido ou reaplicado.

A partição EFI, encontrei logo no segundo grupo (openSUSE), embora provavelmente esteja também nos grupos KDE Neon e PCLinuxOS. — O ponto de montagem “/boot/efi” deve ter sido automático, ou escolhido de uma lista, pois se preenchesse manualmente eu teria digitado “/boot/EFI”, por via das dúvidas. — Também não foi automaticamente marcado para formatar, mas tive o cuidado de conferir.

De qualquer modo, ao clicar em “Pronto” (no alto, à esquerda) para prosseguir, ainda foi exibido um Sumário, confirmando que apenas a partição Linux4 seria formatada.

Instalador do KDE Neon (Calamares?) não indica a montagem da partição EFI

Apenas no instalador do KDE Neon (Calamares?), as imagens são equívocas, — como se eu tivesse escolhido apenas a partição-raiz.

A montagem da partição EFI não apareceu na tabela (acima), — nem no sumário das partições, antes de iniciar a instalação.

Partição EFI montada no KDE Neon, embora imagens digam que não fiz isso

No entanto, a partição EFI está montada, — e tudo está funcionando.

Na partição-raiz (esq.), o ponto de montagem é manual, e fica indicado na tabela. Na partição EFI, não e não

Para examinar em detalhe esse comportamento do instalador do KDE Neon, rodei uma nova sessão Live e simulei todos os passos de uma nova instalação.

Na etapa “Disk setup / Installation type”, escolhi a opção “Manual”, — onde você seleciona cada partição que deseja utilizar e em seguida clica em “Change” para definir o Ponto de montagem e outras opções.

Ao selecionar a partição-raiz e clicar em “Change”, o instalador do KDE Neon permite escolher o tipo (ext4), marcar para Formatar (ou não), e o Ponto de montagem, — e tudo isso aparece na Tabela (acima, à esq.), para não haver dúvida.

Mas ao editar a partição EFI, o instalador do KDE Neon identifica e pré-seleciona o tipo (EFI System Partition). — Não permite cometer a burrice de formatar (ótimo), e não pede nem mostra o Ponto de montagem no último campo, que permanece desabilitado (grayed out). — Ao clicar Ok, o Ponto de montagem não aparece na Tabela; e essa informação não aparece no sumário, antes de iniciar a instalação em disco.

Conteúdo da partição EFI


Partição EFI (sda1) montada na pasta /boot do PCLinuxOS (sda7)

Optei por criar a partição EFI com 2 GiB, por via das dúvidas, — e hoje constato que, depois de instalar 4 distros (PCLinuxOS, Fedora, KDE Neon, openSUSE), apenas 1% do espaço foi ocupado, segundo o Dolphin.

Montagem da partição EFI em sessão Live

Para obter um retrato detalhado do conteúdo, rodei uma sessão Live e montei a partição EFI na pasta /mnt, — que até aí estava vazia.

Cópia da pasta /mnt com o conteúdo da partição EFI para um Pendrive

Usando o Midnight-Commander (mc) como Root, copiei a pasta /mnt para um Pendrive, — após desmarcar a opção “Preserve attributes”.

# history
    1  apt install mc
    3  mount /dev/sda1 /mnt
    4  mc
   10  ls -o -R /mnt

Depois de listar o conteúdo “visível”, lembrei de conferir se havia algo “invisível”, — e não encontrei mais nada:

# ls -a -o -R /mnt

Para extrair a “árvore” das pastas e subpastas, usei um comando encontrado tempos atrás:

# ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/' > Tree.txt

O resultado é um pouco confuso, — mas uma edição no Kate ajuda a deixar mais claro:

   ╰-mnt
     ╰-EFI
       ╰-boot
       ╰-fedora
         ╰-fonts
       ╰-neon
       ╰-opensuse
         ╰-fw
       ╰-pclinuxos
       ╰-ubuntu
         ╰-fw
     ╰-System
       ╰-Library
         ╰-CoreServices

Esse material fica como documentação do estado das coisas até este momento, — pois ainda não entendo quase nada disso tudo.

Por enquanto, estou apenas “vendo” como são as coisas, — para que a teoria faça algum sentido, quando começar a ler mais sobre o assunto.

Conteúdo da partição EFI, copiado para um Pendrive e movido para uma partição de documentos

No momento, a partição EFI contém 2 pastas — EFI, com 27,5 MiB; e System, com 12,4 KiB, — e o total de 38 arquivos e 13 pastas / subpastas.

Pesquisa de todos os arquivos da partição EFI, pelo KFind

O Filelight indica 51 “arquivos”, — somando.as pastas. — O KFind é mais correto ao dizer que encontrou 51 “itens”.

O GParted indica ocupação de 2% da partição, com total de 31,59 MiB.

Seja como for, o uso de espaço é bem modesto (pelo menos até o momento).

Já vi um relato de que o Deepin usaria mais de 100 MiB, — mas acho muito improvável que, após instalar as 12 distros planejadas, a ocupação da partição EFI chegue perto 1 GiB.

UEFI Bios Utility


Configurações de Boot no “UEFI Bios Utility”

Ao ligar o PC, apertar DEL ou F2 para entrar no “UEFI Bios Utility”.

De imediato, apenas conferi as configurações de Boot. — Não alterei nada, que me lembre, — e tudo parece funcionar bem.

Prioridades de Boot no “UEFI Bios Utility”

O Grub do Fedora e o Grub do KDE Neon, — ambos instalados depois do openSUSE, — não conseguiram detectá-lo.

Por isso, arrastei o openSUSE para o topo das prioridades de Boot, — e desde então é seu Grub que uso para escolher qual distro vou usar.

Minha experiência recente diz que o Grub do openSUSE Tumbleweed é capaz de carregar o Arch corretamente, — e também é o único caminho para carregar seus próprios Snapshots.

A opção “openSUSE Secure Boot” é uma coisa que deixei passar durante sua instalação, — ou porque não vi, ou porque não tinha nenhuma certeza sobre isso, naquele momento. — Nem sei se funciona. Nunca testei.

Boot Menu para escolha ocasional de um DVD, Pendrive ou de outro Grub

Para Boot a partir de um DVD, tenho usado o Boot Menu, — F8, dentro do “UEFI Bios Utility”. — Basta clicar.

Esse também é o caminho para uso ocasional de outro Grub, — do Fedora, Neon, PCLinuxOS, — sem necessidade de alterar as prioridades.

\\\\

____________________
• Publicado inicialmente em 15 Janeiro 2020.
• Desenvolvido até...

— … ≠ • ≠ … —

Ferramentas &tc.


quinta-feira, 21 de novembro de 2019

Void Linux + KDE Plasma

KDE Plasma instalado no Void “mínimo”

Void Linux é um belo desafio para uso diário do Plasma KDE sem SystemD. — Não vem “pronto”, como no PCLinuxOS ou no Slackware by AlienBOB, — mas me pareceu mais fácil configurar o KDE no Void do que no antiX ou no MX Linux, por exemplo.

O aviso em destaque quase me desanimou, mas não é verdade

Adepto que me tornei do “rolling KDE”, a princípio me desanimou aquele aviso em destaque de que — “os ambientes pesados ​​de desktop, como o Gnome e o KDE, dependem cada vez mais do systemd, portanto, provavelmente estão desatualizados”, — mas logo verifiquei que isso não é verdade.

Em 24 Novembro 2019 (Domingo), o Void apresentava o mesmo KDE 5.17.3 do KDE Neon, do Arch Linux, do PCLinuxOS e do openSUSE Tumbleweed.

O KDE 5.17.4 chegou aos repositórios do Arch Linux e do KDE Non, desde 3 Dezembro, pelo menos (não verifiquei no dia 2), — e no dia 4, chegou aos repositórios do Void Linux.

Isso contrasta com o antiX / MX Linux e com o Devuan, — que têm por base o Debian stable. — Mas mesmo o Debian testing ainda está no KDE 5.14.5.

Vale notar que, em +/- 2 anos de uso regular, Slackware, PCLinuxOS, Devuan nunca me obrigaram a tomar conhecimento de seu init (SysV), — enquanto que no Void, você entra em contato com o runit a cada passo, — do mesmo modo como, no Arch, precisa lidar com o SystemD, desde a instalação.

Sim, existe um instalador “gráfico” (Void Installer), — com direito a Mate, Xfce, LXDE, LXQt, Enlightenment já prontos, — mas para obter o KDE Plasma é preciso entrar em algo parecido com o “Arch way of life”, logo no pós-instalação.

KInfocentre exibe as caracteristicas do Void Linux com KDE5 Plasma
KDE Plasma instalado no Void LXQt

20 Nov 2019 - (Linux12) - Primeiro, experimentei o Void LXQt, — na expectativa de usar seus recursos para documentar a instalação, — e na suposição de que a “herança” do LXQt não dificultaria configurar o KDE Plasma, mais tarde.

A expectativa não se confirmou, — há poucos recursos na sessão Live, — e depois foi problemático usar uma sessão LXQt para instalar o KDE.

28 Nov 2019 - (Linux11) - Experimentei então o Void “mínimo”, — e nele a instalação do Plasma KDE ocorreu sem problemas. — Aproveitei para evitar alguns erros da primeira tentativa.

As 2 instalações foram feitas lado a lado, — em dualboot, — e alternei bastante entre elas, para aprender com as diferenças que resultaram dos 2 processos:

1st    20 Nov 2019    /dev/sdd3 (Linux12)    Void LXQt         + KDE

2nd    28 Nov 2019    /dev/sdd2 (Linux11)    Void “minimal”    + KDE

Índice


  • Índice
  • Referências
  • Download
  • Live Void LXQt
  • Void Installer
  • Pós-instalação
  • Instalação do KDE
  • Live Void “mínimo”
  • Void Installer
  • Pós-instalação + KDE
  • Sessão Plasma KDE
  • Observações
  • Documentação
  • Pacotes das 2 instalações
  • Pacotes do Void “mínimo” + KDE
  • Wallpapers

Referências


Estrutura geral do Handbook do Void Linux, com índice oculto por padrão

Já vi mais de uma referência (não-oficial) de que a Wiki contém muitos erros e estaria sendo gradualmente substituída pelo Handbook, — mais consistente, e sujeito a algum tipo de controle.

Destaco (abaixo) as referências da Wiki, talvez por me identificar pessoalmente com essa liberdade maluca, — da qual, o esboço sobre a instalação do KDE seria um bom exemplo. — Ainda não encontrei nada no Handbook sobre como instalar o KDE Plasma.

Afora loucuras como essa, quase tudo que se encontra na Wiki também pode ser encontrado no Handbook, — suponho que com um pouco mais de qualidade.

  • KDE (com ressalvas)

Download


Em vez das imagens ISO “current”, baixei as mais recentes

Baixei as imagens ISO mais recentes:

  • void-live-x86_64-20191109-lxqt.iso (716 MiB)
  • void-live-x86_64-20191109.iso (411 MiB)

O link oficial aponta para “/live/current”, — cujas imagens ISO ainda eram de 2018. — Navegando por ali, pode-se encontrar pastas com ISOs muito mais recentes.

Verificação sha256sum das imagens ISO, baixadas em 17 e 21 de Novembro

As imagens ISO foram verificadas por sha256sum e “queimadas” em DVD, para guardar.

Live Void LXQt


Recursos de apoio na sessão Live Void LXQt

20 Nov 2019 - De início, escolhi a ISO Void LXQt para documentar a instalação, mas os recursos da sessão Live são fracos: — basicamente o Screenshot, o visualizador LXImage, o gerenciador de arquivos PCManFM-Qt, o navegador Falkon, o QTerminal, — e ferramentas CLI, como o particionador cfdisk, o monitor top, o editor vi etc.

O Screenshot se mostrou cansativo, — PrtScn, diálogo (delay, include mouse cursor), Enter, visualizador LXImage, CTRL-S para salvar, preenchimento manual do nome-de-arquivo + extensão (formato da imagem), Enter, Esc para fechar o LXImage, — pois na captura seguinte abre-se outra janela.

A cada captura, o diálogo volta ao padrão ─ delay zero, e sem inclusão do cursor. — O LXImage oferece recursos de edição básica, upload etc., o que é ótimo para ilustrar uma questão em um forum, mas não é produtivo para documentar uma instalação em 100 ou 200 capturas rápidas.

Criei um TXT para guardar anotações, mas descobri que não existe editor GUI. — Tenho tabelas (plastificadas) de teclas do vi, além de bookmarks para consulta pelo celular em casos de emergência, mas aquele não era o momento adequado para tentar usá-lo de modo intensivo. — Abri o Gmail no Falkon e mandei sucessivas anotações para mim mesmo.

Void Installer


Menu-roteiro do Void Installer

A senha de Administrador (Root) é voidlinux e o Void Installer roda pelo comando:

# void-installer

Após cada etapa, o Void Installer retorna ao Menu, — portanto, é possível voltar a uma etapa anterior, — e se você pular a etapa de Particionamento, ele se encarrega de voltar a selecioná-la com insistência, mesmo que você já esteja em uma etapa posterior.

Partições dos “slots” 11 e 12 formatadas e etiquetadas, semanas antes

Foi o meu caso, — pois já tinha formatado e etiquetado as partições Linux12 (sdd3), Home12 (sdd7), Swap12 (sdd11). — Apenas ignorei a insistência do Void Installer e tornei a avançar, até completar as demais etapas.

A opção Source: Network só permite instalação mínima, sem interface gráfica

As opções (pessoais) foram planejadas antes, pela leitura do guia oficial, que é bastante simples e claro:

  • Keyboard - br-abnt2
  • Network - enp2s0
  • Source - Local (packages from ISO image), — opção necessária para instalação da interface LXQt. — A opção Network só permite instalar os pacotes da instalação mínima.
  • Hostname - Linux12 — apesar da “obrigação” de só usar minúsculas
  • Locale - en_GB.UTF-8 — interface em inglês com formato de data Dia-Mês-Ano
  • Timezone - America/Sao_Paulo
  • Root password - ••••••••••••😁••••••••••••••
  • User account - grupos pré-definidos + anon:1000
  • Bootloader - /dev/sdd — Graphical? - No.
  • Partition - (Skipped)
  • Filesystems - / - sdd3; — /home - sdd7; — Swap - sdd11. — Create new filesystems? - Yes. — (ooops) — No. — Yes.
  • Install - Go! — (ooops) — Go!
  • Exit - Reboot? - No.

Relatório de erro do Void Installer no tty8

A etapa Install foi tentada pelo menos 4 vezes.

Na 1ª tentativa, solicitei “Create new filesystem” para “/” e Swap, — e falhou. — Tentei de novo, sem essa opção, e essa 2ª tentativa funcionou.

Mais tarde, resolvi re-instalar, — naturalmente, com “Create new filesystem” também na “/home”, para limpar, — mas essa 3ª tentativa também falhou.

Só então, notei um aviso para verificar o relatório de erro no tty8, — e vi que as partições tinham sido automaticamente montadas pela sessão Live, — pois são de um dispositivo USB (unidade SSD externa USB2).

Right-click para montar / desmontar partições no PCManFM-Qt do Void LXQt

Bastou desmontá-las pelo painel lateral do PCManFM-Qt, e executar de novo o Void Installer. — Ele lembra as opções feitas dentro da mesma sessão Live, o que agiliza as coisas. — Essa 4ª tentativa funcionou com “Create new filesystem” em todas as partições.

As etiquetas (Label) das 3 partições foram apagadas, — e tive de re-aplicá-las mais tarde, — sinal de que, com essa opção, o Void Installer formatou todas 3, ao reinstalar.

Ao final da instalação, optei por adiar o Reboot. — Faltava transferir as capturas de tela para um Pendrive.

Pós-instalação


Criando usuário para poder logar no Void LXQt, depois de instalado

Nas 2 instalações sucessivas do Void LXQt, o usuário não foi criado (não sei por que). — Tive de logar como Root no tty2, para criá-lo e poder fazer Login no LXQt. — Executei useradd (não havia adduser), sem parâmetros exceto o nome de usuário, e em seguida passwd para definir sua senha.

Bastou isso para criar e povoar a pasta pessoal do usuário.

Escolha do gerenciador de janelas ao iniciar o Void LXQt pela primeira vez

Ao logar pela primeira vez no LXQt, fui solicitado a escolher o gerenciador de janelas. — Optei pelo KWin, para facilitar a instalação posterior do KDE Plasma.

Não sei se as opções eram reais, — afinal, a tela de Login também oferecia sessões Openbox, Gnome-Openbox, KDE-Openbox, que não existiam.

Repetindo o comando de atualização, após atualizar () o XBPS

A primeira atualização, depois de instalado, foi automaticamente dividida em 2 etapas: — Primeiro, atualização do XBPS (se houver), — depois o resto.

# xbps-install -Su
[*] Updating `https://alpha.de.repo.voidlinux.org/current/x86_64-repodata' ...
x86_64-repodata: 1927KB [avg rate: 180KB/s]

Name    Action    Version           New version            Download size
libxbps update    0.57.1_2          0.57.1_4               108KB
xbps    update    0.57.1_2          0.57.1_4               89KB

Size to download:              199KB
Size required on disk:         199KB
Space available on disk:        23GB

Do you want to continue? [Y/n] Y

...

2 downloaded, 0 installed, 2 updated, 0 configured, 0 removed.

Nenhum aviso de que havia mais atualizações, — mas eu já tinha lido sobre isso, e repeti o comando para atualizar o resto:

# xbps-install -Su
[*] Updating `https://alpha.de.repo.voidlinux.org/current/x86_64-repodata' ...

Name                    Action    Version           New version            Download size
alsa-lib                update    1.1.9_1           1.2.1_1                355KB
alsa-plugins-pulseaudio update    1.1.9_1           1.2.1_1                15KB
attica                  update    5.63.0_1          5.64.0_1               158KB
breeze-icons            update    5.63.0_1          5.64.0_1               8521KB
cpio                    update    2.12_3            2.13_1                 196KB
dracut                  update    049_3             049_4                  188KB
elogind                 update    241.3_3           241.4_1                663KB
karchive                update    5.63.0_1          5.64.0_1               84KB
kauth                   update    5.63.0_1          5.64.0_1               89KB
kbookmarks              update    5.63.0_1          5.64.0_1               126KB
kcodecs                 update    5.63.0_1          5.64.0_1               122KB
kcompletion             update    5.63.0_1          5.64.0_1               83KB
kconfig                 update    5.63.0_1          5.64.0_1               279KB
kconfigwidgets          update    5.63.0_1          5.64.0_1               297KB
kcoreaddons             update    5.63.0_1          5.64.0_1               337KB
kcrash                  update    5.63.0_1          5.64.0_1               13KB
kdbusaddons             update    5.63.0_1          5.64.0_1               40KB
kdoctools               update    5.63.0_1          5.64.0_1               377KB
kglobalaccel            update    5.63.0_1          5.64.0_1               102KB
kguiaddons              update    5.63.0_1          5.64.0_1               38KB
ki18n                   update    5.63.0_1          5.64.0_1               1135KB
kiconthemes             update    5.63.0_1          5.64.0_1               115KB
kidletime               update    5.63.0_1          5.64.0_1               26KB
kio                     update    5.63.0_1          5.64.0_1               4032KB
kitemviews              update    5.63.0_1          5.64.0_1               80KB
kjobwidgets             update    5.63.0_1          5.64.0_1               70KB
knotifications          update    5.63.0_1          5.64.0_1               128KB
kservice                update    5.63.0_1          5.64.0_1               277KB
ktextwidgets            update    5.63.0_1          5.64.0_1               245KB
kwallet                 update    5.63.0_1          5.64.0_1               353KB
kwayland                update    5.63.0_1          5.64.0_1               390KB
kwidgetsaddons          update    5.63.0_1          5.64.0_1               1375KB
kwindowsystem           update    5.63.0_1          5.64.0_1               131KB
kxmlgui                 update    5.63.0_1          5.64.0_1               675KB
libEGL                  update    19.2.2_1          19.2.4_1               86KB
libGL                   update    19.2.2_1          19.2.4_1               6912KB
libXvMC                 update    1.0.11_1          1.0.12_1               11KB
libblkid                update    2.34_3            2.34_4                 126KB
libcrypto45             update    2.9.2_1           3.0.2_1                633KB
libelogind              update    241.3_3           241.4_1                181KB
libexif                 update    0.6.21_5          0.6.21_6               319KB
libfdisk                update    2.34_3            2.34_4                 165KB
libgbm                  update    19.2.2_1          19.2.4_1               21KB
libglapi                update    19.2.2_1          19.2.4_1               19KB
libjack                 update    1.9.13_1          1.9.14_1               356KB
libkscreen              update    5.17.2_1          5.17.3_1               255KB
libksolid               update    5.63.0_1          5.64.0_1               249KB
libmount                update    2.34_3            2.34_4                 139KB
libressl                update    2.9.2_1           3.0.2_1                214KB
libsmartcols            update    2.34_3            2.34_4                 91KB
libsoup                 update    2.66.2_1          2.66.4_1               245KB
libssl47                update    2.9.2_1           3.0.2_1                115KB
libstatgrab             update    0.91_3            0.92_1                 56KB
libtls19                update    2.9.2_1           3.0.2_1                21KB
libupower-glib3         update    0.99.10_2         0.99.11_1              39KB
libuuid                 update    2.34_3            2.34_4                 13KB
libxatracker            update    19.2.2_1          19.2.4_1               1440KB
libxkbcommon            update    0.8.4_2           0.9.1_1                90KB
libxkbcommon-x11        update    0.8.4_2           0.9.1_1                9.9KB
libxml2                 update    2.9.9_3           2.9.10_1               540KB
libxslt                 update    1.1.33_1          1.1.34_2               132KB
libzstd                 update    1.4.3_1           1.4.4_1                226KB
linux5.3                update    5.3.9_1           5.3.12_1               78MB
lxqt-globalkeys         update    0.14.1_1          0.14.3_1               182KB
mesa-ati-dri            update    19.2.2_1          19.2.4_1               15MB
mesa-intel-dri          update    19.2.2_1          19.2.4_1               4008KB
mesa-nouveau-dri        update    19.2.2_1          19.2.4_1               13MB
mesa-vmwgfx-dri         update    19.2.2_1          19.2.4_1               4493KB
orc                     update    0.4.29_2          0.4.31_1               280KB
pango                   update    1.42.4_4          1.42.4_5               158KB
pango-xft               update    1.42.4_4          1.42.4_5               13KB
perl                    update    5.30.0_1          5.30.1_1               11MB
purpose                 update    5.63.0_1          5.64.0_1               267KB
qt5                     update    5.13.2_1          5.13.2_2               8465KB
qt5-declarative         update    5.13.2_1          5.13.2_2               3414KB
qt5-location            update    5.13.2_1          5.13.2_2               2755KB
qt5-plugin-sqlite       update    5.13.2_1          5.13.2_2               24KB
qt5-serialport          update    5.13.2_1          5.13.2_2               28KB
qt5-svg                 update    5.13.2_1          5.13.2_2               120KB
qt5-translations        update    5.13.2_1          5.13.2_2               1443KB
qt5-webchannel          update    5.13.2_1          5.13.2_2               49KB
qt5-webengine           update    5.13.2_1          5.13.2_2               41MB
qt5-x11extras           update    5.13.2_1          5.13.2_2               6144B
sonnet                  update    5.63.0_1          5.64.0_1               271KB
tiff                    update    4.0.10_2          4.1.0_1                309KB
upower                  update    0.99.10_2         0.99.11_1              90KB
util-linux              update    2.34_3            2.34_4                 1938KB
xf86-input-wacom        update    0.37.0_1          0.38.0_1               80KB
xf86-video-ati          update    19.0.1_1          19.1.0_1               146KB
xfsprogs                update    5.2.1_1           5.3.0_1                892KB
xkeyboard-config        update    2.27_1            2.28_1                 614KB

Size to download:              220MB
Size required on disk:         307MB
Space available on disk:        23GB

Do you want to continue? [Y/n]

...

91 downloaded, 0 installed, 91 updated, 0 configured, 0 removed.

Como ainda não havia editor de textos (exceto o vi), mandei esses dados para mim mesmo, pelo webmail.

Instalação do KDE


Instalação do KDE no Void Linux LXQt

O guia-wiki de instalação do KDE Plasma não passa de um esboço, — 4 comandos de instalação e 2 comandos para ativar serviços. — Uma wiki-nota lembra que precisa ser desenvolvido:

# xbps-install -S kde5 xorg         ---> Ok
# ln -s /etc/sv/dbus /var/service   ---> error
# ln -s /etc/sv/sddm /var/service   ---> Ok
# xbps-install -S kde5-baseapps
# xbps-install -S NetworkManager
# xbps-install -S alsa-lib

A instalação dos meta-pacotes kde5 e xorg transcorreu sem novidades, — copiei a lista de pacotes e mandei para mim mesmo pelo Gmail.

Prompt inativo sobre tela preta (imagem meramente ilustrativa)

O comando seguinte (ativação do dbus) apresentou mensagem de erro, — imagino que já estivesse ativado (afinal eu estava em uma sessão LXQt), mas adiei a “documentação” por alguns segundos, até ativar o sddm, — e isso foi um erro cavalar.

Se tivesse pensado antes, talvez lembrasse que não pode haver 2 gerenciadores de exibição (display managers) em atividade, ao mesmo tempo. — Por outro lado, não poderia desativar o lxdm, em plena sessão LXQt, para depois ativar o sddm. — Parece um beco sem saída, tentar usar sessão LXQt (ou qualquer outra) para instalar e habilitar o KDE no Void.

Em outra distro, ao instalar um novo gerenciador de exibição (display manager), algum script se encarregou de interromper o processo para lembrar que só poderia usar 1 deles, — e perguntar qual dos 2 eu queria usar dali em diante. — Neste caso, o Void não é à prova de mentecaptos.

Fato é que não cheguei a ler a mensagem de erro. — Apertei Enter mais 2 ou 3 vezes, para destacar a saída dos comandos, antes de capturar a tela (e ler, copiar), — mas aquele 0,5 segundo foi o tempo que bastou para a tela ficar totalmente preta, com apenas uma vaga sugestão de prompt (inativo) lá no alto.

Nesses casos, costumo encerrar e sair usando Alt+PrtScn+[r, e, i, s, u, b], — mas no Void basta Alt+PrtScn+[r, e], — onde Alt+PrtScn+r retoma (do X) o controle do teclado; e Alt+PrtScn+e envia um sinal de encerramento de todos os processos.

KDE sem conexão (e LXQt, também)

21 Nov 2019 - Só pelo “Recovery mode” consegui carregar uma sessão KDE, no outro dia, — mas sem conexão, e portanto sem possibilidade de pesquisar soluções, ou instalar os pacotes que faltavam. — A sessão LXQt também ficou sem conexão.

Tentando instalar NetworkManager via chroot, a partir de nova sessão Live, às 15:36 (18:36 UTC)

O NetworkManager (dependência do networkmanager-qt5) já tinha sido instalado na véspera, no meio do conjunto xorg + kde5, — mas essas anotações estavam no Gmail, fora de alcance. — Carreguei uma sessão Live Void LXQt para instalar o NetworkManager via chroot, e fiquei sabendo que já estava instalado.

Aproveitei o chroot para instalar o kde5-baseapps, — e finalmente poder abrir documentos no Kate.

Partições adicionais montadas, capturas de tela salvas no HDD, Kate em ação

Àquela altura, deixei de lado a obsessão pela conexão de Rede, e me dediquei a configurar o ambiente, para poder trabalhar com alguma comodidade.

Não bastava o Kate. — Precisava configurar a montagem automática das demais partições, para acessar anotações, — e instalar uma captura de tela mais prática, para documentar as soluções que iria tentar.

Às 18:20 (ou antes), já tinha criado um arquivo de configuração /etc/polkit-1/rules.d/90-udisks2.rules, para dispensar o uso de senhas na montagem de partições adicionais, — de modo que pudessem ser montadas automaticamente pelo udisks, via KDE System settings:

// Allow udisks2 to mount devices without authentication
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" || action.id == "org.freedesktop.udisks2.filesystem-mount" || action.id == "org.freedesktop.udisks2.filesystem-mount-system-internal") { return polkit.Result.YES; } });

Não tenho certeza se isso é de fato necessário, em uma instalação “correta” do Void, — mas me parece que, naquele momento, sim, pois o serviço polkitd ainda não estava ativado (como se verá a seguir), — e tudo indica que meu usuário não estava no grupo polkitd.

Usando chroot em mais uma sessão Live, instalei o Gwenview, gnome-screenshot, Conky, nano, mc, e todas as ferramentas necessárias. — Desse modo, seria possível pesquisar usando outras distros, e reunir anotações para abrir e testar no Void KDE.

O comando que faltava para ativar a conexão

Afinal, ficou claro que faltava ativar dhcpcd e NetworkManager, — pela simples criação de links para eles em /var/service/, — coisas que o esboço de guia-wiki nem havia mencionado.

# ls -1 /var/service/
dbus
sddm
sulogin

# ls -1 /etc/sv/
NetworkManager
acpid
agetty-console
agetty-generic
agetty-hvc0
agetty-hvsi0
agetty-serial
agetty-tty1
agetty-tty2
agetty-tty3
agetty-tty4
agetty-tty5
agetty-tty6
agetty-ttyAMA0
agetty-ttyS0
agetty-ttyUSB0
bluetoothd
boltd
dbus
dhcpcd
dhcpcd-eth0
dmeventd
elogind
fancontrol
ip6tables
iptables
lvmetad
lxdm
mdadm
polkitd
pulseaudio
rtkit
sddm
slapd
sshd
sulogin
udevd
uuidd
wpa_supplicant

# ln -s /etc/sv/dhcpcd /var/service/
# ln -s /etc/sv/dhcpcd-eth0 /var/service/

# ls -1 /var/service/
dbus
dhcpcd
dhcpcd-eth0
sddm
sulogin

# ln -s /etc/sv/NetworkManager /var/service/

# sv status /var/service/*
run: /var/service/NetworkManager: (pid 3776) 1683s
run: /var/service/dbus: (pid 727) 2392s
run: /var/service/dhcpcd: (pid 3022) 1911s
down: /var/service/dhcpcd-eth0: 0s, normally up, want up
run: /var/service/sddm: (pid 726) 2392s
run: /var/service/sulogin: (pid 728) 2392s

O serviço dhcpcd-eth0 refere-se ao modem onboard (10 / 100), fora de uso no momento, — mas habilitei para deixar de reserva.

28 Nov 2019 - Uma semana depois, fiz várias experiências, ativando e desativando mais alguns serviços, e o quadro final ficou documentado. — Ainda eram os mesmos 6 serviços, exceto pelo acréscimo de 3 tty:

# sv status /var/service/*
run: /var/service/NetworkManager: (pid 745) 219s
run: /var/service/agetty-tty1: (pid 746) 219s
run: /var/service/agetty-tty2: (pid 744) 219s
fail: /var/service/agetty-tty7: unable to change to service directory: file does not exist
run: /var/service/dbus: (pid 741) 219s
run: /var/service/dhcpcd: (pid 740) 219s
down: /var/service/dhcpcd-eth0: 219s
run: /var/service/sddm: (pid 742) 219s
run: /var/service/sulogin: (pid 747) 219s

Só a remoção do lxdm eliminou o obstáculo ao carregamento normal do KDE

30 Nov 2019 - Persistia o problema de não conseguir carregar a sessão KDE Plasma pela entrada “principal” do Grub. — Precisava sempre entrar nas “Opções avançadas” e selecionar o “Modo de recuperação” (Recovery mode).

Afora isso, funcionava muito bem. 😉

Uma hipótese possível é que a desativação abrupta (incorreta) do lxdm tivesse deixado configurações residuais, que poderiam estar interferindo com o sddm.

Pesquisei todos os arquivos de sistema contendo a string “lxdm”, — e não consegui identificar o(s) arquivo(s) problemático(s).

Se descobrisse o arquivo exato, e qual a modificação necessária, teria aprendido um pouco mais, — mas como não consegui, restava desinstalar o lxdm, com todas as suas “dependências”. — Depois disso, a sessão KDE passou a carregar sem problema.

1º Dez 2019 - Ao documentar novamente os serviços ativos, encontrei um quadro inteiramente diferente do que havia configurado, — praticamente igual ao observado em uma sessão Live Void LXQT, — exceto pelo acréscimo do sddm:

1 Dec 2019                          Live LXQt

# ls -1 /var/service/               # ls -1 /var/service
acpid                               acpid
agetty-hvc0                         agetty-hvc0
agetty-hvsi0                        agetty-hvsi0
agetty-tty1                         agetty-tty1
agetty-tty2                         agetty-tty2
agetty-tty3                         agetty-tty3
agetty-tty4                         agetty-tty4
agetty-tty5                         agetty-tty5
agetty-tty6                         agetty-tty6
dbus                                dbus
dhcpcd                              dhcpcd
elogind                             elogind
lxdm                                lxdm
polkitd                             polkitd
rtkit                               rtkit
sddm                                sshd
sshd                                udevd
udevd                               uuidd
uuidd

# sv status /var/service/*
run: /var/service/acpid: (pid 755) 14754s
run: /var/service/agetty-hvc0: (pid 3354) 1s
run: /var/service/agetty-hvsi0: (pid 3356) 1s
run: /var/service/agetty-tty1: (pid 752) 14754s
run: /var/service/agetty-tty2: (pid 757) 14754s
run: /var/service/agetty-tty3: (pid 766) 14754s
run: /var/service/agetty-tty4: (pid 754) 14754s
run: /var/service/agetty-tty5: (pid 759) 14754s
run: /var/service/agetty-tty6: (pid 763) 14754s
run: /var/service/dbus: (pid 761) 14754s
run: /var/service/dhcpcd: (pid 753) 14754s
run: /var/service/elogind: (pid 765) 14754s
fail: /var/service/lxdm: unable to change to service directory: file does not exist
run: /var/service/polkitd: (pid 758) 14754s
run: /var/service/rtkit: (pid 822) 14751s
run: /var/service/sddm: (pid 756) 14754s
run: /var/service/sshd: (pid 760) 14754s
run: /var/service/udevd: (pid 769) 14754s
run: /var/service/uuidd: (pid 762) 14754s

Uma hipótese possível, é que algum script de remoção do lxdm tenha restabelecido os padrões do Void, — ou pelo menos, o padrão do Live Void LXQt, — com exceção das diferenças causadas pela instalação do sddm e remoção do lxdm.

Eliminação do Void Linux LXQt pelo GParted em sessão Live do PCLinuxOS KDE

5 Dez 2019 - Essa instalação do Void LXQt + KDE Plasma ainda foi mantida por mais alguns dias, para exame das diferenças em relação ao Void “mínimo” + KDE Plasma, — até ser eliminada, no início de Dezembro.

Live Void “mínimo”


Login na sessão Live Void Linux “mínimo”

28 Nov 2019 - Loguei na sessão Live Void “mínimo” como root (senha: “voidlinux”, sem aspas), para executar o Void Installer. — E para observar os processos pelo top, loguei como usuário anon (mesma senha) no tty2.

Void Installer


Baixar os pacotes dos repositórios, para instalar só o sistema básico

Alterei algumas escolhas, em relação à experiência anterior:

  • Source - Selecionei “Network”, para já baixar os pacotes atualizados.
  • User account - grupos pré-definidos: — wheel, floppy, audio, video, cdrom, optical, kvm, input, users, xbuilder. — Depois de instalado, constatei que meu usuário não foi incluído em nenhum desses grupos.
  • Filesystems - / em sdd2 — /home em sdd6 — Swap em sdd10. — Não “criar novo sistema de arquivos” (não formatar) nenhuma partição.
  • Exit - Reboot. — Não havia nada para salvar em Pendrive.

Detecção de outras 11 distros (os-prober)

18:46 ~ 19:17 - A conexão estava boa (+/-180 Mbp/s) e a instalação durou cerca de 31 minutos, — dos quais, 15 minutos gastos com a escolha das opções (e fotos), — pois não houve dúvidas, falhas, nem repetições.

          Mobo: P5KPL-AM-CKD-VISUM-SI, BIOS ... 11/24/2008 - ASUSTeK
VGA comp contr: Intel 82G33/G31 Express Integrated Graphics Controller (rev 10)
 IDE interface: Intel NM10/ICH7 Family SATA Controller [IDE mode] (rev 01)
    Processors: 2 × Intel® Core™2 Duo CPU E7300 @ 2.66GHz
        Memory: 3,8 GiB of RAM

Dos outros 16 minutos, mais de 10 correspondem às configurações de Kernel, de Firmware (CPU muito antiga) e do Grub (11 distros a detectar, em 40 partições).

Pós-instalação + KDE


Ativando dbus, sddm, NetworkManager logo após instalar o xorg e o kde5

À luz da experiência anterior, alterei a ordem de alguns comandos (a partir de anotações em papel), — e acrescentei outros, por opção pessoal. — Destaco os fundamentais em negrito:

------------------------------------------------------ 122  packages (base-system, by Void Installer)
19:32  # xbps-install -Suv                                  Nothing to do
19:35  # xbps-install -S mc                              9
19:39  # xbps-install -S gnome-screenshot nano conky    98
19:44  # xbps-install -S xorg kde5                     367

19:54  # ln -s /etc/sv/dbus /var/service
19:54  # ln -s /etc/sv/sddm /var/service
19:57  # ln -s /etc/sv/NetworkManager /var/service

19:59  # xbps-install -S speedtest-cli                   2

20:01  $ speedtest-cli                                      184 Mbits / 18 Mbits

20:03  # xbps-install -S kde5-baseapps                  18
20:05  # xbps-install -S alsa-utils                      3
-----------------------------------------------------------
                                             Total      619  packages
-----------------------------------------------------------
20:22  $ ls -1 /var/service
                              NetworkManager
                              agetty-tty1
                              agetty-tty2
                              agetty-tty3
                              agetty-tty4
                              agetty-tty5
                              agetty-tty6
                              dbus
                              dhcpcd
                              sddm
                              udevd
20:28  # Reboot Void minimal

Naturalmente, não faltava atualizar nada, — mas tinha de conferir, — e passei logo à instalação do KDE Plasma.

No entanto, também instalei uma série de pacotes que nada têm a ver com KDE, — mc, gnome-screenshot, nano, conky, speedtest-cli, — uns, para uso imediato (logado como usuário em tty2); outros, para já estarem disponíveis desde o início da primeira sessão Plasma.

Em vez de “instalar”, — ativar o NetworkManager 😉 (bem como dbus e sddm), — tão logo se concluiu a instalação do conjunto xorg + kde5.

Verificação dos serviços ativos, logo após a instalação de alsa-utils

Dessa vez, não precisei ativar manualmente dhcpcd, pois era evidente que já estava habilitado, ou não conseguiria baixar e instalar nada. — Após instalar alsa-utils (para “unmute” canais de áudio), verifiquei que ainda teria de habilitar alsa, mais tarde.

Afora isso, já tinham sido automaticamente habilitados os consoles virtuais tty (de 1 a 6) e udevd.

Essa etapa se concluiu em cerca de 1 hora, — e ao todo, ficaram instalados 619 pacotes, — incluídos os do sistema básico (Void mínimo).

Sessão Plasma KDE


Sessão Plasma KDE com falhas de composição, até selecionar XRender

A primeira sessão Plasma KDE apresentou problemas de (composição? renderização?), — wallpaper encolhido em um canto, janelas deixando rastros ao serem movidas, System settings com fechamentos inesperados, — até que consegui mudar o Compositor de tela, de OpenGL2.0 (não suportado pelo meu hardware) para XRender.

Sessão Plasma regularizada, com gnome-screenshot

Depois disso, bastou Logout / Login para carregar uma sessão Plasma normal.

Instalação do kwalletmanager, para desativar o KDE Wallet

Ainda faltavam vários pacotes do KDE, — como o kwalletmanager, para gerenciar / desativar a carteira de senhas (KDE Wallet) no System settings, — e aplicativos básicos do KDE, como Gwenview, KCalc, Okular, KRename, KRuler, KFind etc.

Instalação de udisks2 para habilitar a montagem de partições extras no KDE

Também faltava instalar udisks2, para habilitar a montagem automática de partições adicionais em System settings >> Hardware >> Removable storage >> Removable devices.

O arquivo /etc/polkit-1/rules.d/90-udisks2.rules já tinha sido criado às 21:26.

Cópia e datação dos comandos de instalação de pacotes no Kate

Uma vez que o dash da conta root não tem histórico, essas informações foram preservadas em um arquivo TXT, com datação manual pelo F7 >> date do Kate, — além das capturas de tela, datadas automaticamente:

$ cat packages-history_11_Void_b.txt | grep 'install -S '

# xbps-install -S chromium                                 20:44 (28 Nov 2019)
# xbps-install -S gwenview                                 21:37
# xbps-install -S octoxbps                                 ...
# xbps-install -S gimp
# xbps-install -S resynthesizer
# xbps-install -S kcalc okular
# xbps-install -S kimageformats
# xbps-install -S kdegraphics-thumbnailers kdegraphics-mobipocket
# xbps-install -S ffmpegthumbs
# xbps-install -S marble5
# xbps-install -S ImageMagick
# xbps-install -S kwalletmanager                           22:34
# xbps-install -S udisks2                                   0:44 (29 Nov 2019)
# xbps-install -S krename                                  ...
# xbps-install -S kruler
# xbps-install -S libreoffice
# xbps-install -S xsane
# xbps-install -S kfind
# xbps-install -S vlc
# xbps-install -S pulseaudio                               11:09
# xbps-install -S alsa-plugins-pulseaudio                  13:03
# xbps-install -S kamera                                   19:38
# xbps-install -S gvfs-mtp gvfs                            19:55
# xbps-install -S gvfs-gphoto2                             20:21
# xbps-install -S android-file-transfer-linux              20:29
# xbps-install -S ktorrent                                 ...
# xbps-install -S plasma-browser-integration               14:42 (30 Nov 2019)

  • Ver “Documentação”, adiante.

Instalando repositórios adicionais no Void Linux

Instalação de repositórios adicionais — e atualização das informações:

# xbps-install void-repo-nonfree

# xbps-install void-repo-multilib

# xbps-install void-repo-multilib-nonfree

# xbps-install -Suv

[*] Updating `https://alpha.de.repo.voidlinux.org/current/x86_64-repodata' ...
[*] Updating `https://alpha.de.repo.voidlinux.org/current/multilib/nonfree/x86_64-repodata' ...
x86_64-repodata: 9.8KB [avg rate: 155MB/s]
[*] Updating `https://alpha.de.repo.voidlinux.org/current/multilib/x86_64-repodata' ...
x86_64-repodata: 711KB [avg rate: 956KB/s]
[*] Updating `https://alpha.de.repo.voidlinux.org/current/nonfree/x86_64-repodata' ...
x86_64-repodata: 16KB [avg rate: 256MB/s]

Datando os comandos do usuário no .bash_history

A partir das 23:20, os comandos do Usuário passaram a ser datados em seu ~/.bash_history:

$ echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc

Os comandos anteriores exibem data e hora do momento atual, a cada vez que se roda o comando $ history.

Adicionar legenda

Foi necessário instalar alsa-utils para executar alsamixer no terminal (como root ou sudo), para desbloquear (m > unmute) alguns canais, — e mais tarde, acabei instalando também pulseaudio, depois alsa-plugin-pulseaudio, — mas depois de 1 semana, ainda não estou certo de ter entendido o que fiz, nem como consegui algumas coisas, ou por que não consegui outras.

2019-11-29 at 09:19      2019-11-29 at 09:23

                         # ln -s /etc/sv/alsa /var/service

# ls -1 /var/service     # ls -1 /var/service
NetworkManager           NetworkManager
agetty-tty1              agetty-tty1
agetty-tty2              agetty-tty2
agetty-tty3              agetty-tty3
agetty-tty4              agetty-tty4
agetty-tty5              agetty-tty5
agetty-tty6              agetty-tty6
dbus                     alsa
dhcpcd                   dbus
sddm                     dhcpcd
udevd                    sddm
                         udevd

2019-11-29 at 11:09

# xbps-install -S pulseaudio
...
Name                    Action    Version           New version            Download size
rtkit                   install   -                 0.11_16                24KB
webrtc-audio-processing install   -                 0.3.1_1                256KB
sbc                     install   -                 1.4_1                  38KB
pulseaudio              install   -                 13.0_1                 1030KB
...
Do you want to continue? [Y/n]
...
pulseaudio-13.0_1: post-install message:
========================================================================
The system service `/etc/sv/pulseaudio` provided by the pulseaudio package is
only needed in rare cases and should be avoided in most setups for performance
and security reasons.
========================================================================
pulseaudio-13.0_1: installed successfully.

4 downloaded, 4 installed, 0 updated, 4 configured, 0 removed.


2019-11-29 at 11:42

# sv status /var/service/*
run: /var/service/NetworkManager: (pid 640) 1653s
run: /var/service/agetty-tty1: (pid 632) 1653s
run: /var/service/agetty-tty2: (pid 637) 1653s
run: /var/service/agetty-tty3: (pid 636) 1653s
run: /var/service/agetty-tty4: (pid 634) 1653s
run: /var/service/agetty-tty5: (pid 642) 1653s
run: /var/service/agetty-tty6: (pid 638) 1653s
run: /var/service/alsa: (pid 631) 1653s
run: /var/service/dbus: (pid 628) 1653s
run: /var/service/dhcpcd: (pid 633) 1653s
run: /var/service/sddm: (pid 629) 1653s
run: /var/service/udevd: (pid 630) 1653s


2019-11-29 at 11:55

# usermod -G pulse flavio                             (??????)


2019-11-29 at 13:03

# xbps-install -S alsa-plugins-pulseaudio
...
Name                    Action    Version           New version            Download size
alsa-plugins-pulseaudio install   -                 1.2.1_1                15KB
...
Do you want to continue? [Y/n]
...
1 downloaded, 1 installed, 0 updated, 1 configured, 0 removed.


$ history | grep usermod
  242  2019-12-06_15-45-31 sudo usermod -aG audio flavio
  245  2019-12-06_15-47-53 sudo usermod -a -G audio flavio
  ...
  257  2019-12-06_15-53-44 sudo usermod -a -G wheel,users,video,cdrom,input flavio

2019-12-09 at 11:48

$ groups
flavio wheel audio video cdrom input users pulse

Acabei obtendo áudio nos vídeos online (Youtube, MeWe, Twitter, Facebook), mas ainda não nas notificações do sistema (Login, Logout, +/- volume).

Parece óbvio que andei fazendo (ou deixando de fazer) alguma coisa, muito errado.


Baixando fotos do celular pelo android-file-transfer-linux, no Void

Há vários anos, o Kamera tem sido o suficiente para abrir o Nokia Lumia (WindowsPhone) no Dolphin e arrastar / soltar fotos, para copiá-las no HDD, — e ainda foi o suficiente para baixar fotos também do Android, no Linux Mint 18 KDE, em 25 Novembro 2019.

29 Nov 2019 - No Void com KDE, não foi possível exibir a pasta de fotos do Android no Dolphin. — Instalei o Kamera (19:38), o gvfs-mtp (19:54), depois gvfs-gphoto2 (20:20), e por fim android-file-transfer-linux (20:29), — que foi o que resolveu.

Pré-visualização de arquivos no Dolphin do Void Linux com KDE

A pré-visualização de arquivos no Dolphin funcionou dentro do esperado, como em outras distros, — exceto para arquivos TIFF (que também falhou na recente instalação do Arch).

Edição do /etc/sudoers pelo visudo

De acordo com as opções-padrão durante a instalação, meu usuário deveria estar nos grupos Wheel, Floppy, Audio, Video, CDrom, Optical, KVM, Input, Users, Xbuilders, — e no /etc/sudoers a linha %wheel estava habilitada (sem # no início), — mas eu continuava sem autorização para usar o sudo.

Adotei uma solução talvez exagerada: — incluir flavio ALL=(ALL) ALL no /etc/sudoers pelo visudo, — e isso “resolveu” o problema.

Com isso, é possível aproveitar o histórico do bash para reutilizar comandos repetitivos, — como o de atualização do sistema, com a hora exata do início e do final do processo:

$ date && sudo xbps-install -Su && date

Mais tarde, o exame do arquivo /etc/group sugeriu que meu usuário não estava na maioria dos grupos em que esperava estar, — e acrescentei pelos comandos:

$ sudo usermod -a -G audio flavio
$ sudo usermod -a -G wheel,users,video,cdrom,input flavio

É possível que alguma coisa tenha ficado redundante.

Observações


Quadro comparativo das distros instaladas

À primeira vista, o KDE do Void acompanha de perto o KDE Neon, o PCLinuxOS e o Arch, — com atraso de 1 ou 2 dias, — e vai um pouco à frente do openSUSE Tumbleweed e do Sabayon.

Evolução das distros instaladas ao longo de 2 semanas (KDiff3)

As atualizações de KDE, Frameworks, Qt, Kernel e KDE Applications ao longo de 2 semanas, — de 24 Novembro a 8 Dezembro, — podem ser vistas na comparação dos registros acima, pelo KDiff3.

As 2 instalações do Void apresentaram o menor uso de Memória RAM no início da sessão KDE Plasma, — as únicas abaixo de 400 MiB com widgets Weather e Moon Phase:

RAM usage at startup, with Weather & Moon Phase widgets

385 MiB    Void LXQt + KDE       4 samples (1)
389 MiB    Void “minimal” + KDE  8 samples (2)
412 MiB    KDE Neon              6 samples
429 MiB    Arch Linux            7 samples (3)
436 MiB    Arch (by Revenge)     6 samples
446 MiB    Sabayon               5 samples
467 MiB    PCLinuxOS             3 samples
489 MiB    Mageia                6 samples (4)
493 MiB    openSUSE              4 samples (5)
522 MiB    Debian testing        4 samples
565 MiB    Fedora                5 samples

Samples from 20 November to 8 December
All without PIM, Akonadi, Baloo (Filesearch)
All without updates checking

(1) From 3 to 5 December
(2) From 3 to 8 December
(3) From 10 to 19 November
(4) Mageia with MSEC
(5) openSUSE with Snapper and BtrFS maintenance

A sequência de registros do uso inicial de Memória RAM permite acompanhar o efeito dos widgets, — e o pouco efeito de alguns serviços:

Void “minimal” + KDE

29 Nov 2019 at 00:50     330 MiB
29 Nov 2019 at 10:44     343 MiB  with Auto-Mount extra partitions
30 Nov 2019 at 11:19     356 MiB  with PulseAudio
30 Nov 2019 at 14:47     355 MiB  with Plasma Integration
 3 Dec 2019 at 10:32     364 MiB
 3 Dec 2019 at 10:52     398 MiB  + Weather & Moon widgets
 4 Dec 2019 at 22:16     393 MiB
 5 Dec 2019 at 11:53     388 MiB
 5 Dec 2019 at 14:42     393 MiB
 6 Dec 2019 at 10:36     392 MiB
 7 Dec 2019 at 10:11     385 MiB
 8 Dec 2019 at 11:27     382 MiB
 8 Dec 2019 at 16:22     383 MiB

Void LXQt + KDE

21 Nov 2019 at 20:37     301 MiB  with Auto-Mount extra partitions
21 Nov 2019 at 22:15     300 MiB
21 Nov 2019 at 23:45     352 MiB  + dhcpcd & NetworkManager services
22 Nov 2019 at 00:38     359 MiB
22 Nov 2019 at 08:53     352 MiB
23 Nov 2019 at 11:44     356 MiB
29 Nov 2019 at 14:20     361 MiB
30 Nov 2019 at 21:38     359 MiB  still Grub > Recovery mode
30 Nov 2019 at 23:37     345 MiB  from Grub’s main entry
30 Nov 2019 at 23:46     346 MiB
 1 Dec 2019 at 05:45     346 MiB  with many other services
 3 Dec 2019 at 03:47     351 MiB
 3 Dec 2019 at 10:27     383 MiB  + Weather & Moon widgets
 3 Dec 2019 at 20:09     382 MiB
 4 Dec 2019 at 15:05     390 MiB
 5 Dec 2019 at 13:52     385 MiB

xxxx

\\\\

Essas 2 experiências deixaram evidentes vários detalhes do Linux que ainda ignoro, — por nunca ter precisado lidar com eles, em outras 20 ou 30 distros. — Agora que me fizeram falta, faz sentido estudar a “teoria”.

Documentação


Pacotes das 2 instalações


Comparação dos pacotes das 2 instalações do Void

Com o comando xbps-query -l, salvei as listas completas dos pacotes instalados no Void ”mínimo” (+KDE) e no Void LXQt (+KDE), — em seguida, usei o comando diff para obter um arquivo com as diferenças, — e 2 comandos grep para extrair deste último só as linhas com os nomes dos pacotes que faltavam em um ou no outro:

$ xbps-query -l > Linux11.txt          (Void minimal + KDE)
$ xbps-query -l > Linux12.txt          (Void LXQt    + KDE)

$ diff Linux12.txt Linux11.txt > diff.txt

$ grep "< ii " diff.txt >> diffs-only.txt
$ grep "> ii " diff.txt >> diffs-only.txt

Desse modo, ficou evidente a falta do udisks2, para a montagem automática de partições adicionais, em uma instalação do Void, — bem como a presença do lxdm, como possível obstáculo ao carregamento do KDE, na outra. — Esse processo foi feito no dia 28 e repetido no dia 30, até conseguir “equalizar” as 2 instalações do Void, eliminando os problemas encontrados em uma ou na outra.

Uma vez descoberta a solução das diferenças de comportamento, o Void LXQt (+KDE) foi removido, formatando suas partições pelo GParted em sessão Live.

Pacotes do Void “mínimo” + KDE


Logado como Root em tty1 e como usuário em tty2

Ao carregar pela primeira vez o Void “mínimo” instalado no computador, fiz o Login como root em tty1 (padrão), — e como usuário em tty2, para documentar os pacotes instalados, etapa por etapa:

$ history
    3       xbps-query -l > xbps-query-l_ALL-01.txt
    5       xbps-query -l > xbps-query-l_ALL-02.txt
    6       xbps-query -l > xbps-query-l_ALL-03.txt
    9       speedtest-cli
   10       xbps-query -l > xbps-query-l_ALL-04.txt
   11       xbps-query -l > xbps-query-l_ALL-05.txt
   13       xbps-query -l > xbps-query-l_ALL-06.txt
   14       xbps-query -l > xbps-query-l_ALL-07.txt
   15       mc
   17       xbps-query -l | grep "xf86"

Usar a conta pessoal foi a solução que encontrei para fazer essa documentação, pois a conta root vem com um shell mínimo (dash), sem history e outros recursos, por padrão. — Não se pode usar “seta para cima” (para repetir um comando), nem para a esquerda (para editar um comando), — nem listar os comandos utilizados antes.

Teria sido mais fácil usar o visudo para incluir o usuário no /etc/sudoers e fazer tudo usando $ sudo xbps-install -S [package]. 😉 — mas eu ainda não sabia disso, pois na instalação do Void LXQt (+KDE) a conta de usuário também tinha vindo com o dash 😥.

Mais tarde, pude comparar esses arquivos sucessivos, para levantar quantos e quais pacotes foram instalados em cada etapa:

$ history
  138  2019-12-01_18-20-10   $ diff xbps-query-l_ALL-01.txt xbps-query-l_ALL-02.txt | grep "> ii " > dif-1-2.txt
  139  2019-12-01_18-20-56   $ diff xbps-query-l_ALL-02.txt xbps-query-l_ALL-03.txt | grep "> ii " > dif-2-3.txt
  140  2019-12-01_18-21-03   $ diff xbps-query-l_ALL-03.txt xbps-query-l_ALL-04.txt | grep "> ii " > dif-3-4.txt
  141  2019-12-01_18-21-11   $ diff xbps-query-l_ALL-04.txt xbps-query-l_ALL-05.txt | grep "> ii " > dif-4-5.txt
  142  2019-12-01_18-21-18   $ diff xbps-query-l_ALL-05.txt xbps-query-l_ALL-06.txt | grep "> ii " > dif-5-6.txt
  143  2019-12-01_18-21-24   $ diff xbps-query-l_ALL-06.txt xbps-query-l_ALL-07.txt | grep "> ii " > dif-6-7.txt
  144  2019-12-01_18-21-32   $ diff xbps-query-l_ALL-07.txt xbps-query-l_ALL-08.txt | grep "> ii " > dif-7-8.txt
  145  2019-12-01_18-21-45   $ diff xbps-query-l_ALL-08.txt xbps-query-l_ALL-09.txt | grep "> ii " > dif-8-9.txt
  146  2019-12-01_18-21-56   $ diff xbps-query-l_ALL-09.txt xbps-query-l_ALL-10.txt | grep "> ii " > dif-9-10.txt

Na falta de um comando similar ao rpm -qa --last, — que listasse todos os pacotes pela data de instalação, — combinei alguns comandos, como xbps-query -m, para listar os pacotes instalados “manualmente”; e em seguida um script com xbps-query -p install-date [PKG], para extrair a data de instalação de cada um:

28 Nov 2019
-----------
19:03 - base-system        |
19:03 - grub               |   122 packages      (Void Installer)

19:35 - mc                 |     9 packages

19:40 - conky              |                     (+ alsa-lib)
19:40 - gnome-screenshot   |
19:40 - nano               |    98 packages

19:48 - xorg                                     (+ dbus)
19:49 - NetworkManager
19:49 - kde5

19:59 - speedtest-cli

20:03 - kde5-baseapps
20:05 - alsa-utils

20:52 - chromium

21:38 - gwenview

21:50 - octoxbps

21:52 - gimp
21:53 - resynthesizer

21:55 - kcalc
21:55 - okular
21:56 - kimageformats
21:58 - kdegraphics-mobipocket
21:58 - kdegraphics-thumbnailers
21:59 - ffmpegthumbs

22:07 - void-repo-multilib
22:07 - void-repo-nonfree
22:08 - void-repo-multilib-nonfree

22:34 - kwalletmanager

 0:44 - udisks2


29 Nov 2019
-----------
 7:45 - krename

 8:17 - kruler
 8:23 - libreoffice
 8:25 - xsane
 8:49 - kfind
 8:53 - vlc

11:08 - pulseaudio

13:03 - alsa-plugins-pulseaudio

19:54 - gvfs
19:54 - gvfs-mtp

20:20 - gvfs-gphoto2
20:29 - android-file-transfer-linux


30 Nov 2019
-----------
10:20 - marble5

14:39 - ark
14:41 - ktorrent
14:42 - plasma-browser-integration


1 Dec 2019
----------
11:37 - ImageMagick

Wallpapers


Ajuste de Níveis do Wallpaper no Gimp, para tornar o Conky legível

Linux11 (2nd) - Forte da Barra PB (08:10, 20 August 2011), by DlauriniJr. Category: Forte de Santo Antônio da Barra (Salvador, BA), no Wikimedia Commons.

Esta imagem foi drasticamente “ajustada” no Gimp, — para escurecer as áreas muito claras das nuvens e da espuma / névoa das ondas do mar, de modo a deixar legíveis as informações do Conky, — sem escurecer demais as muralhas do Forte.

Linux12 (1st) - Boa Viagem (15:02, 2 July 2007), by Mauriziomk9. Category: Ilha da Boa Viagem (Niterói, RJ), no Wikimedia Commons.

— … ≠ • ≠ … —

Without-SystemD




Não-debians