Translate

Mostrando postagens com marcador ArchLinux. Mostrar todas as postagens
Mostrando postagens com marcador ArchLinux. Mostrar todas as postagens

sábado, 18 de abril de 2020

Arch Linux com KDE Plasma (UEFI-GPT)

Arch Linux KDE

Esta nova instalação do Arch Linux foi feita em cerca de 4 horas, — o dobro do tempo da instalação anterior, — devido a uma tentativa de “facilitar” o processo:

  • Preparei um roteiro em TXT, com todos os comandos, em Pendrive
  • Carreguei o Arch Linux a partir de um DVD
  • Usei o celular para navegar e tirar dúvidas na Arch Wiki
  • Aproveitei outro celular, antigo, para fotografar o processo

Desta vez, a preparação do roteiro foi rápida, — copiei os comandos do registro da instalação anterior, com pequenas adaptações ao novo hardware, — mas na hora de instalar, perdi muito tempo tentando copiar os comandos, do roteiro em TXT para o prompt do zsh, sem sucesso.

Semanas depois, repeti a experiência, — com outra estratégia, para recuperar os comandos do roteiro em TXT para o bash, — e terminei em 2 horas, sem me apressar.

  • Isto não é um “tutorial”. — Apenas um registro, para lembrar o que fiz (inclusive os erros), — e as estratégias que tentei para “facilitar” o processo.

Índice

  • Download, verificação, K3b
  • Roteiro inicial
  • Instalação (1)
  • Sessão Live
  • chroot
  • Instalação do KDE
  • UEFI, Grub, Login
  • Configuração do KDE
  • Pacotes instalados
  • Making of
  • Instalação (2)
  • Antes do chroot
  • chroot, reboot & KDE
  • Conclusão
  • Wallpaper
  • 2023 - Desastre e recuperação

Experiências anteriores

Download, verificação, K3b

Download da imagem ISO por KTorrent

Baixei a imagem archlinux-2020.04.01-x86_64.iso, — e deixei o KTorrent semeando por mais 7 horas, — um mínimo de contribuição, para aliviar a carga dos servidores da comunidade e das instituições que a apoiam.

Verificação da imagem ISO do Arch Linux por md5sum e sha1sum

Em seguida, verifiquei a integridade da imagem ISO por md5sum e sha1sum, — usando o CTRL-F do KWrite, para evitar a fadiga dos olhos.

Queimando a imagem archlinux-2020.04.01-x86_64.iso em DVD, pelo K3b

Por fim, usei o K3b para “queimar” a imagem archlinux-2020.04.01-x86_64.iso em DVD, para ficar à mão, caso eu ainda venha a precisar dele, depois da instalação.

Roteiro inicial

Arquivo TXT com os comandos copiados da instalação anterior e adaptados

Desta vez, não tive paciência para copiar o roteiro à mão. — Copiei os comandos para um arquivo TXT, — com as alterações necessárias para o novo hardware UEFI / GPT.

Considerei as seguintes partições:

    EFI      ---------   sda1
    Linux2   ---------   sda3
     Home2   ---------   sdb3
    Swap     ---------   sdb14

O roteiro em TXT ficou assim, — com várias correções feitas depois de concluir a instalação:

1) ========== Live DVD ==========

# ping google.com
# loadkeys br-abnt2
# mount /dev/sda3 /mnt
# mkdir /mnt/home
# mount /dev/sdb3 /mnt/home
# swapon /dev/sdb14
---------------------------
# mkdir /mnt/boot
# mkdir /mnt/boot/efi
# mount /dev/sda1 /mnt/boot/efi
---------------------------
# nano /etc/pacman.d/mirrorlist                  ###   moved Brazilian mirrors to top
# pacstrap /mnt base linux linux-firmware
# genfstab -U -p /mnt >> /mnt/etc/fstab
# arch-chroot /mnt


2) ========== chroot ==========

# echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc
                                                 ###   it was zsh !
# ln -sf /usr/share/zoneinfo/America/Sao_Paulo/etc/localtime /etc/localtime
# hwclock --systohc
# timedatectl set-ntp true

# pacman -S nano
# pacman -S intel-ucode
# pacman -S man-db man-pages texinfo
# pacman -S dosfstools os-prober mtools
# pacman -S networkmanager network-manager-applet wpa_supplicant wireless_tools dialog sudo
# pacman -S grub-efi-x86_64 efibootmgr

# nano /etc/locale.gen                           ###   enabled:  "en_GB.UTF-8 UTF-8"

# locale-gen
# echo LANG=pt_BR.UTF-8 >> /etc/locale.conf
# echo KEYMAP=br-abnt2 >> /etc/vconsole.conf
# nano /etc/hostname                             ###   added:    "Linux2"

# nano /etc/hosts                                ###   added:    127.0.0.1 hostname.localdomain
                                                                 ::1
                                                                 127.0.1.1 Linux2.localdomain

# passwd
# useradd -m -g users -G wheel flavio
# nano /etc/sudoers                              ###   added:    flavio ALL=(ALL) ALL

# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
# grub-mkconfig -o /boot/grub/grub.cfg

# exit


3) ==== Exit chroot === REBOOT ====

# systemctl start NetworkManager
# systemctl enable NetworkManager

# ping google.com

# pacman -S xorg-server
# pacman -S xf86-video-intel libgl mesa
# pacman -S sddm
# systemctl enable sddm
# pacman -S plasma kdebase

# reboot


4) ========== KDE ===========

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

# nano /etc/polkit-1/rules.d/99-udisks2.rules
# pacman -S conky
# pacman -S ncurses
# pacman -S pcurses
# pacman -S lm_sensors
# sensors-detect
# echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc

# nano /etc/polkit-1/rules.d/99-udisks2.rules    ###   added:    // 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; } });

# pacman -S kwallet-manager

Como se vê, dividi o roteiro em 4 etapas, para maior clareza:

  1. Comandos a serem usados no início da sessão Live DVD
  2. Comandos a serem usados durante o chroot
  3. Instalação do KDE, — após encerrar o chroot, reiniciar o computador e carregar o Arch já instalado
  4. Configuração do KDE

Naturalmente, o roteiro “original” continha várias alternativas em aberto, para testar e decidir na hora, — além de vários erros, que tive de corrigir na hora. — Aqui (acima), optei por corrigir os erros e manter só as opções que de fato funcionaram.

Desse modo, fica menos confuso, — e talvez possa ser útil, para quem quiser aproveitá-lo como ponto de partida, com as devidas adaptações ao seu próprio hardware.

Acesso ao roteiro

O Arch Linux foi carregado a partir do DVD, — e automaticamente se loga como root, no tty1.

Para acessar o roteiro roteiro em TXT, montei o Pendrive em /media/pen.

Criei o usuário “flavio”, loguei no tty2 e abri o arquivo com o nano.

Infelizmente, não consegui descobrir um modo de copiar os comandos do TXT e colar no prompt do zsh, — e acabei optando por digitá-los, para não perder mais tempo.

Em alguns casos, usei o cat + grep para obter determinado comando no tty1, sem ter de ficar indo e vindo o tempo todo. — Isso foi útil no caso do comando echo quilométrico para datação do histórico do zsh / bash, em especial.

Teria sido mais prático imprimir o TXT em papel, como todos fazem, — mas há muitos anos deixei de usar impressora, e naquele momento de quarentena não havia lojas de conveniência (nem eu sairia de casa só para isso). — Também poderia mandar o TXT para o celular, mas isso não atendia às minhas expectativas naquele momento.

Tudo isso contribuiu para que a instalação demorasse 4 horas, — e continuei pensando no assunto, nos dias que se seguiram.

Duas semanas depois, fiz uma experiência de “importar” o roteiro em TXT para o histórico do zsh e do bash, — de modo que bastou usar as setas (↑↓) para dispor de todos os comandos pré-digitados, — e consegui instalar outra cópia do Arch em cerca de 2 horas.

Por acaso, deu ao roteiro o nome “Install.txt”. — Não confundir com o arquivo “install.txt” que vem na imagem ISO, — e que é considerado útil.

Instalação (1)

1) Início da sessão Live

Limitações do comando history no zsh

Apenas alguns comandos dessa primeira etapa não ficaram preservados, pois eu ignorava que a ISO Live do Arch Linux utiliza zsh — cujo comando history exibe só as últimas 16 entradas.

Tentei salvar o histórico dos comandos no Pendrive, várias vezes, — mas ficaram lacunas:
   # history >> /media/pen/history_01.txt
   # history >> /media/pen/history_02.txt
   # history >> /media/pen/history_03.txt

Para salvar o histórico inteiro, desde o primeiro comando, os comandos teriam de ser:

   # history 1 >> /media/pen/history_01.txt
   # history 1 >> /media/pen/history_02.txt
   # history 1 >> /media/pen/history_03.txt

Para simplificar a vida, eu poderia ter criado um alias especificando esse parâmetro:

   # alias history="history 1"

Por isso, tive de recuperar os comandos que faltavam, — e cuja numeração não sei, — pelas fotos feitas durante a instalação:

    (automatic login Root: tty1)

    # mkdir /media
    # mkdir /media/pen
    # mount /dev/sde1 /media/pen

15  # useradd flavio
16  # passwd flavio
-----------------
    (login flavio tty2)

    $ nano /media/pen/Install.txt
-----------------
18  # cat /media/pen/Install.txt | grep echo
20  # loadkeys br-abnt2
21  # echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc
22  # source ~/.bashrc
23  # cat ~/.bashrc
24  # exec bash
26  # exit
-----------------
    (logout / login Root)

    (try bash history...)
-----------------
 31  # ping google.com

 35  # mount /dev/sda3 /mnt
 37  # mkdir /mnt/home
 38  # mount /dev/sdb3 /mnt/home
 45  # swapon /dev/sdb14

 50  # ls /
 52  # mkdir /mnt/boot
 53  # mkdir /mnt/boot/efi

 55  # ls /mnt/boot
 56  # mount /dev/sda1 /mnt/boot/efi
 57  # ls /mnt/boot/efi      ------------> EFI, System, mach_kernel

 58  # nano /etc/pacman.d/mirrorlist    -------- 11:40

 59  # cp /etc/pacman.d/mirrorlist /media/pen/

 61  # ip link

 63  # pacstrap /mnt base linux linux-firmware

     # genfstab -U -p /mnt >> /mnt/etc/fstab

     # cat /mnt/etc/fstab  --------------- Ok

     # mc     --------------- copy ~/.bashrc --> /mnt/root
                              (it was in / ─ not in /root)

     # ls -a /mnt/root     --------------- none .bashrc !

     # arch-root /mnt

Sem saber que estava usando o zsh, perdi um bom tempo tentando “datar” o histórico dos comandos, sem resultado algum, — até desistir, e prosseguir com o que importava, afinal.

Poderia ter usado o bash, em vez do zsh

No entanto, ao tentar um # exec bash, poderia ter entendido que este era um caminho possível.

Semanas depois, confirmei que — pelo comando # exec bash — poderia ter feito tudo pelo bash até o chroot.

Até então, tinha apenas carregado o teclado ABNT2.

Testei então a conexão pelo ping, montei a partição-raiz, a /home, ativei a partição Swap e montei a partição EFI.

Para uma medida do tempo que perdi, a sessão começou às 10:16, — e só às 11:40 abri o arquivo /etc/pacman.d/mirrorlist, — onde movi os 5 espelhos do Brasil para o topo.

O passo seguinte foi executar o pacstrap, para instalar os pacotes básicos do Arch na partição-raiz. — Desta vez, optei pelo kernel corrente (linux), em vez do LTS (linux-lts), — pois nunca tive problemas com isso em outras distros, como openSUSE Tumbleweed, PCLinuxOS, Void, Sabayon, Mageia, Fedora e Debian testing, no antigo PC.

Eu receei que o genfstab incorporasse o Pendrive, — mas afinal, ele estava montado em /media, — portanto, fora do parâmetro /mnt usado no comando.

Me parece que o chroot também não incluiu o usuário Live, — caso contrário eu teria perdido o acesso ao Pendrive.

Em boa hora, tive a ideia de copiar o arquivo “~/.bashrc” para /mnt/root.

Com isso, todos os comandos do chroot — onde finalmente reina o bash (não o zsh) — foram datados desde o início.

Pelas fotos do celular Nokia Lumia (NL), o tempo gasto nessa primeira etapa foi de 2h 14min:

10:16 - NL -   Arch-Linux-auto-Login-root-Live
10:23 - NL -   mkdir-media-Pen-mount-media-Pen
10:35 - NL -   useradd-flavio-passwd
11:12 - NL -   echo-export-HISTTIMEFORMAT-bashrc
11:19 - NL -   ping-Google
11:24 - NL -   mount-dev-sda3-OK-ls
11:37 - NL -   mkdir-mnt-boot-efi-Mount
11:40 - NL -   nano-etc-pacman-d-mirrorlist
11:48 - NL -   mirrorlist-OK-Brazil
11:56 - NL -   ip-link-pacstrap-mnt-base-linux-firmware
11:57 - NL -   pacstrapping-117-packages
12:13 - NL -   pacstrap-OK
12:20 - NL -   genfstab
12:29 - NL -   mc-copy-bashrc-mnt-root
12:30 - NL -   arch-chroot-mnt

2) chroot

Histórico e configuração do bash, desde o arch-root

A partir daqui, todos os comandos finalmente ficaram datados, desde o início, — e preservados no /mnt/root/.bash_history — o que simplifica rastrear o que foi feito, e quando.

12:31 -    1  # history
12:33 -    2  # ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
12:33 -    3  # date
12:34 -    5  # hwclock --systohc
12:35 -    6  # timedatectl set-ntp true
12:35 -    7  # timedatectl status
12:37 -    8  # pacman -S nano mc
12:38 -    9  # pacman -S intel-ucode
12:39 -   10  # pacman -S man-db man-pages texinfo
12:40 -   11  # pacman -S dosfstools mtools os-prober
12:41 -   12  # pacman -S networkmanager network-manager-applet wpa_supplicant wireless_tools dialog sudo
13:00 -   13  # pacman -S grub efibootmgr
13:01 -   14  # pacman -S grub-efi-x86_64 efibootmgr
13:03 -   15  # nano /etc/locale.gen
13:05 -   17  # locale-gen
13:08 -   18  # echo LANG=pt_BR.UTF-8 >> /etc/locale.conf
13:09 -   19  # echo KEYMAP=br-abnt2 >> /etc/vconsole.conf
13:11 -   20  # nano /etc/hostname
13:11 -   21  # nano /etc/hosts
13:14 -   22  # passwd
13:35 -   29  # useradd -d /home/flavio -m flavio
13:35 -   30  # passwd flavio
13:37 -   34  # useradd -G wheel flavio
13:38 -   38  # nano /etc/sudoers
13:42 -   41  # mc
14:03 -   42  # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
14:05 -   43  # date && grub-mkconfig -o /boot/grub/grub.cfg && date
14:08 -   46  # exit

Pela numeração dos comandos:

2) Fuso horário configurado para BRT (UTC-0300)

5) Relógio do hardware definido para o relógio do sistema

6) Configurada a sincronização do relógio com servidores NTP

8 ~ 14) Instalação dos pacotes mais necessários — alguns já estavam instalados

15) Edição do /etc/locale.gen — habilitado en_GB.UTF-8 (retirar # do início da linha)

17) Geração do arquivo de localização

Correção do /etc/locale.conf, 3 dias depois

18) Configuração do idioma do sistema ---> LANG=pt_BR.UTF-8

Essa escolha resultou em uma interface parcialmente em Inglês e parcialmente em Português do Brasil, — o que torna as capturas de tela pouco inteligíveis, quando se tenta obter ou oferecer ajuda em fóruns internacionais. — Dias depois, alterei para en_GB.UTF-8.

19) Configuração do idioma do teclado ---> br-abnt2

20) Configuração do hostname “Linux2”

21) Inclusão de “Linux2” em /etc/hosts

22) Criação da senha de root

29 ~ 38) Criação do usuário, senha, inclusão no grupo Wheel.

A criação do usuário seria mais amigável pelo comando adduser, mas não estava disponível. — Perdi uns 15 minutos em luta com o comando useradd até conseguir (+/-) o que queria, — apesar de ter pesquisado antes, e anotado várias “receitas de bolo”.

No final, acabei apelando, — e editei o arquivo /etc/sudoers

Desabilitando os-prober em /etc/default/grub

41) Pelo mc, editei o /etc/default/grub — e desabilitei os-prober, pois não há necessidade de o Grub do Arch detectar outras distros, já que o Menu de inicialização da máquina é gerenciado pelo Grub do openSUSE (atualização: UEFI / GPT). — De qualquer modo, o Grub do Arch raramente se atualiza, pois o Kernel será sempre “linux” (ou “linux-lts”, por exemplo), sem referência aos números de versão / revisão.

42) Instalação do Grub do Arch Linux

43) Geração do arquivo de configuração /boot/grub/grub.cfg

46) Encerramento do chroot e...

... finalmente, Reboot — comando executado fora do chroot (de volta à sessão Live), e por isso, não preservado no histórico do Arch instalado.

3) Instalação do KDE

Histórico de comandos do usuário na sessão de instalação do Plasma KDE

A instalação do Plasma KDE demorou cerca de 40 minutos e envolveu tanto comandos executados pelo root quanto pelo usuário:

14:16 - NL -    tty2 login flavio
--    -    7  $ echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc
14:25 -   12  $ systemctl start NetworkManager       ---> passwd
14:27 -   16  $ systemctl enable NetworkManager      ---> passwd
14:28 -   17  $ sudo su
14:29 -   50  # pacman -S xorg-server
14:31 -   51  # pacman -S xf86-video-intel libgl mesa
14:31 -   52  # pacman -S sddm
14:39 -   53  # systemctl enable sddm
14:40 -   54  # pacman -S plasma kdebase
14:54 -   19  $ history

Pela numeração dos comandos:

Data e hora (10-digit Posix time), do 10º comando em diante, no ~/.bash_history

7) Datação do ~/.bash_history do usuário. — Entrou em vigor a partir do comando nº 10, após um logout / login. — Os primeiros 9 comandos exibem sempre a data “atual”, a cada vez que se executa um novo comando history.

11 ~ 16) Ainda como usuário, iniciei o NetworkManager (start) e já o deixei habilitado (enable) para iniciar automaticamente desde a primeira sessão KDE

Deveria ter feito isso como root, mas me distraí, tentei como usuário, — o Arch pediu a senha de root, e seguiu em frente. — Depois usei sudo su, talvez por preguiça de ficar alternando entre os consoles virtuais, e segui adiante.

50 ~ 52) Instalação dos pacotes necessários ao KDE

A seleção levou em conta o processador Intel, — montado em placa-mãe Asus com vídeo integrado (iGPU), — sem placa de vídeo:

Mobo:     ASUSTeK TUF B360M-PLUS Gaming/BR    UEFI / Sata III / USB 3.1 (Gen 1, 2)
CPU:      6 × Intel® Core™ i5-9400 CPU @ 2.90 GHz (min/max: 800/4100 MHz)
Memory:   16 GiB speed: 2400 MT/s type: DDR4   (max: 4 x 16 = 64 GiB)
Graphics: Intel UHD Graphics 630 driver: i915 v: kernel
SSD:      480 GB Kingston A400 Sata III

53) Habilitação do SDDM

54) Instalação do Plasma e dos pacotes básicos do KDE

19) Um último history marcou o final desta sessão e fixou as atividades do usuário até ali.

UEFI, Grub, Login

Recolocando o Grub do openSUSE no topo das prioridades de Boot

Ao reiniciar o computador, apertei DEL, e entrei no UEFI Bios Utility para colocar o Grub do openSUSE no topo, novamente, — pois raramente vou usar o Grub do Arch.

Grub do openSUSE atualizado para detectar o Arch Linux

Carreguei o openSUSE e atualizei seu Grub, — para incluir o Arch Linux.

Já faz pelo menos 10 meses que o Grub do openSUSE Tumbleweed se mostra capaz de gerar entradas completas para o Arch Linux, — sem que eu precise editar manualmente o arquivo /boot/grub/grub.cfg para adicionar o caminho (path) do initramfs, após ucode.img.

Inclusão do Arch Linux no Conky das demais distros

Enfim, recuperei do Pendrive os arquivos com a documentação da instalação, — e ajustei o Conky do openSUSE, para incluir as partições do Arch Linux. — Sim, o Conky já estava no limite de altura da tela, e tive de reduzir o tamanho das letras no cabeçalho.

Meus arquivos de trabalho atuais ficam na partição “Storage” ext4, comum a todas as distros, — pois seria incômodo dispersá-los nas partições /home de cada uma delas.
O Pendrive Fat32 não conhece nem guarda atributos típicos do ext4 e outros sistemas de arquivos, tais como owner, permissions etc., — portanto, esses atributos foram criados pelo openSUSE, ao montar o Pendrive e copiar para “Storage”, — daí, o group ID (GID=100), que não afeta meu trabalho, desde que todos os arquivos agora pertencem ao mesmo user ID (UID=1000), comum a todas as distros, inclusive o PCLinuxOS instalado este ano, a partir de uma ISO Live KDE de 2019-07.
Tela de Login para iniciar a primeira sessão KDE Plasma no Arch Linux

Coloquei em dia alguns assuntos pessoais e, no final de 1 hora, voltei a carregar o Arch Linux, — e fiz o Login na sessão Plasma KDE, para iniciar sua configuração básica.

4) Configuração do KDE

Configuração de Login automático do usuário em sessão Plasma KDE

A configuração de uma distro Linux e do Plasma KDE é uma coisa que, há anos, tento anotar de modo sistemático, mas nunca consegui, — pois não vejo como seguir uma ordem rígida, passo-a-passo, do começo até o fim, — afinal, cada coisa depende de, primeiro, configurar parcialmente alguma outra coisa.

Por isso, no primeiro dia faço as configurações mais urgentes, — para retomar minhas atividades normais, logo após a instalação, — e sigo configurando por vários dias, semanas, meses.

A meu ver, a configuração de uma distro e do ambiente Plasma KDE nunca termina, — nem cabe numa postagem típica do Blogger. — Seria preciso desdobrar em várias postagens.

Portanto, as configurações do primeiro dia refletem o que considerei mais urgente:

  • Atualizar o sistema pelo # pacman -Syyu
  • Instalar gnome-screenshot e redefinir os atalhos de PrtScn, Shift-PrtScn
  • Instalar o Conky, criar e ajustar o arquivo ~/.config/conky/conky.conf
  • Configurar o lm_sensors pelo # sensors-detect
  • Instalar e configurar o Gwenview (Esc para fechar etc.)
  • Configurar Dolphin, Konsole, Kate
  • Configurar o ambiente Plasma KDE
  • Auto-Login no SDDM
  • Montagem automática de partições extras, sem autenticação
  • Desabilitar Busca de arquivos (File search)
  • Desabilitar a Carteira de senhas (KWallet)
  • Instalar pcurses, para pesquisa de pacotes
  • Instalar Chromium, VLC, Youtube-DL
  • Instalar fontes Verdana
  • Configurar o Chromium como navegador padrão
  • Instalar speedtest-cli, corona-cli

O Login automático é uma das coisas que costumo configurar logo na primeira sessão Plasma KDE, para evitar perda de tempo (sou o único usuário), e para poder medir o tempo de Boot (uptime) e o uso inicial de Memória RAM, pelo Conky, — mas evito Auto-Login após Log Out, pois há casos em que convém dispor de uma pausa, para logar como root em tty2 e realizar determinadas tarefas de manutenção, — sem nenhum ambiente gráfico em execução, por exemplo.

Criando arquivo que autoriza montagem de partições sem autenticação

Outra configuração urgente é a montagem automática de partições adicionais, — “Storage”, por exemplo, onde centralizo os arquivos de trabalho, — com permissão de gravação para o usuário UID=1000, comum a todas as distros em dualboot.

Até este momento, eu não tinha montado nenhuma partição adicional, — pois, ao digitar a senha, criaria pontos de montagem pertencentes ao root, — o que não resolve, e ainda gera mais trabalho para corrigir depois.

Nas distros como o Arch Linux, em que a montagem de partições adicionais pelo Dolphin / udisks2 exige senha, eu crio um arquivo de configuração /etc/polkit-1/rules.d/99-udisks2.rules, que autoriza a montagem sem autenticação:

// 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; } });
Atenção! - Não faça isto sem a supervisão de um adulto. — Ignoro se isto pode quebrar a segurança do sistema. — Consulte um perito.

Este é um dos muitos casos em que uso os relatos deste blog Byteria para recuperar recursos que usei em instalações anteriores. — Neste momento, usei o Konqueror, pois ainda não tinha instalado o Chromium. — Muitas coisas talvez pudessem ser mais fáceis, nos estágios iniciais da instalação, se eu já usasse navegadores web em modo texto, como Lynx ou ELinks, por exemplo; mas não tenho certeza.

Desabilitando Busca de arquivos (baloo_file) no KDE System settings

Por hábito, sempre desabilito a “Busca de arquivos” (File search) pelo KDE System settings, desde 2016, — e isto jamais afetou o desempenho ou a velocidade de buscas simples (CTRL-F), por nome ou conteúdo, no Dolphin, — nem a “Busca avançada”, por vários parâmetros, no KFind.

Desabilitando a “Carteira de senhas” do KDE, no System settings

Há vários anos adquiri o hábito de desabilitar a “Carteira de senhas” (KWallet), — embora eu não possa recomendar isso a ninguém, pois nunca estudei se isso afeta a segurança da navegação.

O KWallet veio ativado, mas sem seu módulo de gerenciamento pelo KDE System settings. — Esse módulo é o kwalletmanager (sem hífen!). — Tentei com hífen, não deu certo, então lembrei de instalar logo o pcurses, para facilitar a pesquisa de pacotes e de seus nomes exatos, dependências etc.

Instalando Verdana da pasta /usr/share/fonts/truetype/msttfcorefonts do KDE Neon (Linux5)

Eu costumava instalar fontes Verdana a partir da pasta /.wine na /home de outras distros, mas neste novo hardware parece que ainda não criei uma situação em que isto seja possível.

Fui encontrar os pacotes na pasta /usr/share/fonts/truetype/msttfcorefonts do KDE Neon (Linux5). — A necessidade é a mãe das descobertas.

Legibilidade no Chromium, antes e depois de instalar as fontes Verdana

Pessoalmente, acho textos em Verdana muito mais legíveis, na tela do computador, do que textos em qualquer outra fonte, no mesmo tamanho, — e escrever é minha atividade principal, por isso vale a pena cuidar do conforto dos olhos.

Economia de espaço vertical, alinhamento e legibilidade do Conky, com Verdana

Além de ser mais legível, mesmo a 60+ cm da tela do monitor, — por ter o corpo principal das letras maior, e serifas bem nítidas () nos caracteres que precisam delas, — as fontes Verdana apresentam ótimo aproveitamento de espaço, em especial na altura (entrelinhamento); e mono-espaçamento parcial (números, ponto, vírgula), ideal para o alinhamento das colunas do Conky.

Nas partições das distros, basta esperar que a nova /home ultrapasse 1 GiB, — para que surja o ponto separador das casas decimais e o M de MiB seja substituído pelo G de GiB, — e as colunas ficam alinhadas.

Infelizmente, ainda não encontrei fontes de código aberto que preencham todos esses requisitos.

Configurações de navegador-padrão dispersas no KDE System settings

Para tornar o Chromium meu “navegador-padrão”, no KDE, não basta só clicar no botão que ele mesmo apresenta, ao ser aberto pela primeira vez, — pois existem outras configurações dispersas no KDE System settings que, se não forem ajustadas, acabam gerando surpresas. — Por isso, costumo seguir esses passos:

1) No próprio Chromium: “Set as default browser”

2) No KDE System settings - Applications - Default applications - Web browser

3, 4) Idem, idem - File associations - filtrar “htm”: - xhtml-xml, html

5) Idem, idem - File associations - filtrar “bookmark”: - x-mozilla-bookmarks, x-xbel

Em 2), marcar Chromium como aplicativo-padrão para abrir URLs http e https.

Em 3), 4), 5), mover Chromium para o topo — acima do Konqueror e demais aplicativos.

Observações diárias da velocidade da conexão, IPv4, IPv6

Desde quando mudei minha conexão de “10 megas” para “200 megas”, com novo provedor, fiquei viciado em monitorar a velocidade da rede todos os dias, ao ligar o Modem e o computador, — e o speedtest-cli é a ferramenta mais prática que encontrei para medir rapidamente e copiar o resultado para um arquivo TXT.

Em outras distros, também anoto o IPv4 e o IPv6 do dia, pelo inxi, — mas no Arch tive de adotar o comando $ ip address show | grep inet, enquanto não ativo o AUR.

Instalação e atualização do corona-cli pelo npm

Em tempos de Covid19, o aplicativo corona-cli se mostrou o caminho mais simples para monitorar regularmente a situação. — Infelizmente, não oferece a opção de listar os estados do Brasil, — só os states dos Estados Unidos.

13 Jun 2020 - Até o momento, só não funcionou no KDE Neon e no Mageia.

Um resumo dessas configurações do primeiro dia, — em capturas de tela (A) e comandos de usuário ($) e de super-usuário (#), — mostra a alternância entre diferentes itens que preciso configurar por etapas, por serem requisitos para a configuração de outros itens:

15:56   55    # pacman -Syyu
16:00   56    # pacman -S gnome-screenshot
16:01   57    # pacman -S conky
16:09 -   A -   1st-PrtScn
16:12 -   A -   1st-Shift-PrtScn
16:15   58    # pacman -S gwenview
16:16   60    # sensors-detect
16:20 -   A -   Dolphin-toolbars
16:21 -   A -   Dolphin-View Properties         --> remember-each-folder
16:22 -   A -   Dolphin-Previews-config         --> enable TXT
16:22 -   A -   Dolphin-Services                --> enable DELETE
16:23 -   A -   Dolphin-View-Properties-default --> apply to all folders
16:24 -   A -   Conky-conf
16:29 -   A -   Konsole                         --> margin --> 10px
16:31   22    $ conky &
16:31 -   A -   Conky                           --> BEGIN config
16:35 -   A -   Gwenview
16:39 -   A -   Taskbar
16:42 -   A -   Audio
16:43 -   A -   Notifications-Plasma-Workspace  --> enable sound Login, Logout
16:45 -   A -   SDDM                            --> enable Auto-Login
16:47 -   A -   Conky                           --> Autostart at Login
16:48 -   A -   Background-Services             --> disable many
16:48 -   A -   Start-Empty-Session
16:50 -   A -   Polkit                          --> allow mount w/o auth
16:57   62    # nano /etc/polkit-1/rules.d/99-udisks2.rules
16:59 -   A -   global-Theme
16:59 -   A -   Plasma style                    --> Maia transparent
17:01 -   A -   Window decorations              --> Transparent oxygen
17:03 -   A -   Menu-icon                       --> Arch logo
17:04 -   A -   Menu-KFind-blur-ok
17:05 -   A -   Kate                            --> load-last-saved-session
17:07 -   A -   Kate                            --> Save session
17:08 -   A -   Restart
17:10 -   A -   Boot time: 14s                  --> 476 MiB RAM after 1 minute
17:12 -   A -   Keyboard                        --> Left-Win --> 3rd Level
17:15 -   A -   Night-color
17:16 -   A -   don't Lock screen
17:16 -   A -   Energy-saving
17:17 -   A -   Screen edges                    --> disable
17:18 -   A -   Desktop-effects                 --> disable many
17:18 -   A -   File search                     --> disable
17:22 -   A -   Dolphin                         --> hide most Places
17:26 -   A -   Restart
17:28 -   A -   Boot time: 26s                  --> 497 MiB RAM after 1 minute
17:32 -   A -   Removable devices               --> Auto-mount - Ok
17:33 -   A -   Restart
17:35 -   A -   Boot time: 21s                  --> 486 MiB RAM after 1 minute
17:39   63    # lsblk
17:40   64    # blkid
17:42 -   A -   Dolphin                         --> start-page: "Storage" partition
17:43 -   A -   Conky                           --> PATH to all partitions
17:51 -   A -   1st-PrtScn                      --> save to "Storage" partition
17:51 -   A -   1st-Shift-PrtScn                --> save to "Storage" partition
17:54   36    $ pacman -Q                        >> packages_2020-04-15_01.txt
18:07 -   A -   System settings                 --> KWallet - Oops
18:10   68    # pacman -S ncurses
18:10   69    # pacman -S pcurses
18:11   70    # pcurses                         --> search KWallet
18:13   71    # pacman -S kwalletmanager
18:15   72    # pacman -S chromium
18:23   73    # pacman -S speedtest-cli
18:26   39    $ date && speedtest-cli | grep "Hosted\|Download\|Upload" && date
18:28   40    $ ip link
18:30 -   A -   Conky                           --> eth0-eno1
18:35   77    # pacman -S chromium
18:35 -   A -   pcurses                         --> inxi - Not found
18:52   78    # pacman -S kdialog
18:52 -   A _   KWallet                         --> disable
18:54 -   A -   remove-Widget-Show-desktop
20:11 -   A -   Wallpaper Ok
20:14   79    # pacman -S youtube-dl
20:27 -   A -   Restart
20:30 -   A -   Boot time: 21s                  --> 479 MiB RAM after 1 minute
20:32 -   A -   Chromium                        --> set default browser
21:04 -   A -   Verdana-fonts                   --> install from Home1 (openSUSE)
21:07 -   A -   Chromium                        --> before & after Verdana
21:09 -   A -   Conky                           --> before & after Verdana
21:45   48    $ konsole -v
21:46   49    $ dolphin -v
21:46   50    $ kate -v
21:46   51    $ gwenview -v
21:49 -   A -   file-associations               --> set Chromium default browser
21:50 -   A -   file-associations               --> set Chromium default for *HTM* files
21:53   80    # pacman -S vlc
21:59   86    # pacman -S npm
22:09 -   A -   Audio-volume                    --> VLC vs. Chromium
22:15 -   A -   Wired-connection                --> IPv6, details
22:17 -   A -   Touch-screen                    --> disable

Pacotes instalados

Tenho uma planilha com todos os pacotes que costumo instalar em todas as distros, — com indicação de quais pacotes cada distro Linux não oferece (ou não precisa), — mas também neste caso evito seguir essa lista de modo rígido.

A tendência de uma lista como essa, após algum tempo, é acumular pacotes que já deixei de usar, ou que atualmente uso com pouca frequência.

Uma lista parcial, de um caso real e recente, — com os pacotes efetivamente instalados, à medida em que senti necessidade de cada um, — ajuda a visualizar os que de fato uso hoje em dia:

2020-04-15

12:37       8    # pacman -S nano mc
12:38       9    # pacman -S intel-ucode
12:39      10    # pacman -S man-db man-pages texinfo
12:40      11    # pacman -S dosfstools mtools os-prober
12:41      12    # pacman -S networkmanager network-manager-applet wpa_supplicant wireless_tools dialog sudo
13:00      13    # pacman -S grub efibootmgr
13:01      14    # pacman -S grub-efi-x86_64 efibootmgr
14:29      50    # pacman -S xorg-server
14:31      51    # pacman -S xf86-video-intel libgl mesa
14:31      52    # pacman -S sddm
14:40      54    # pacman -S plasma kdebase

16:00      56    # pacman -S gnome-screenshot
16:01      57    # pacman -S conky
16:15      58    # pacman -S gwenview
18:10      68    # pacman -S ncurses
18:10      69    # pacman -S pcurses
18:13      71    # pacman -S kwalletmanager
18:23      73    # pacman -S speedtest-cli
18:35      77    # pacman -S chromium
18:52      78    # pacman -S kdialog
20:14      79    # pacman -S youtube-dl
21:53      80    # pacman -S vlc

2020-04-18

15:52      99    # pacman -S libreoffice
16:39     100    # pacman -S okular
17:19     102    # pacman -S krename
17:20     103    # pacman -S kim4
19:27     106    # pacman -S qt5-xmlpatterns
22:57     113    # pacman -S android-file-transfer
23:06     115    # pacman -S mtpfs

2020-04-20

15:26     128    # pacman -S gimp
18:47     130    # pacman -S npm
18:53     134    # npm i -g corona-cli

2020-04-21

19:47     148    # pacman -S kruler

2020-04-22

18:29     157    # pacman -S dolphin-plugins
18:40     160    # pacman -S kdesdk-thumbnailers
18:44     162    # pacman -S marble
18:48     163    # pacman -S kdesdk-thumbnailers
18:49     165    # pacman -S ffmpegthumbs
18:51     168    # pacman -S kimageformats
18:57     170    # pacman -S kdegraphics-thumbnailers
19:29     172    # pacman -S qt5-imageformats
19:57     175    # pacman -S kdiff3
19:58     177    # pacman -S filelight

      uncomment [multilib] section in /etc/pacman.conf

20:33     183    # pacman -S wine-staging
20:37     186    # pacman -S wine-gecko
20:38     187    # pacman -S wine-mono
20:39     188    # pacman -S winetricks

20:57     190    # pacman -S xsane

2020-04-26 - Naturalmente, esta é uma lista incompleta, em atualização com o passar do tempo.

Making of

Cronologia dos comandos (numerados) e fotos (NL) da instalação do Arch

A estratégia de copiar o /root/.bashrc para /mnt/root fez com que todos os comandos usados no chroot fossem datados, desde o início, — e o /mnt/root/.bash_history ficou naturalmente preservado.

Histórico dos comandos com datação, desde o início do chroot

Como essa “datação” se faz em horário UTC (system clock), pode ser recuperada em hora local a qualquer momento, pelo comando history, para um arquivo TXT.

Renomeando as fotos (NL) para o mesmo formato de data+hora pelo KRename

As fotos de celular são facilmente renomeadas para o mesmo formato, usando o KRename. — Depois, bastou examinar todas as fotos pelo Gwenview, acrescentando palavras-chave no final dos nomes, — e listá-las pelo comando ls -1 para outro arquivo TXT.

Comandos e fotos reunidos para colocá-los em ordem cronológica

Uma vez coladas as 2 sequências em um arquivo TXT unificado, bastou um comando sort para colocar os comandos e as fotos em ordem cronológica, — com as fotos sempre mostrando os comandos executados imediatamente antes.

Antes de entremeá-los em ordem cronológica, eliminei a data e os segundos, e usei os recursos do KWrite para fazer alguns arranjos visuais, de modo a deixar a lista mais legível. — As linhas com “NL” são as fotos (Nokia Lumia) e as linhas com números indicam os comandos.

Restaram 6 comandos sem numeração e sem data, entre o nº 54 (14:40) e o nº 55 (15:56), — ou seja, entre a instalação do Plasma, a reinicialização do PC e o início da primeira sessão KDE.

Instalação (2)

Montagem do Pendrive para “importar” os comandos para o histórico do zsh e do bash

2020-04-30 - Duas semanas depois, fiz uma nova instalação, apenas para verificar a viabilidade de “importar” o roteiro em TXT para os históricos do zsh e do bash, — de modo que bastaria usar as setas (↑↓) para obter os comandos pré-digitados.

Para isso, copiei em papel apenas os comandos iniciais, — só o necessário para montar o Pendrive e “importar” os demais comandos do roteiro:

Comandos iniciais, ainda usando o zsh

Essa tentativa inutilizou o histórico do zsh, mas funcionou bem no histórico do bash, — então tentei um # exec bash, e segui com ele até o chroot, — onde o bash é o shell padrão.

Deixando de lado o que não deu certo, os comandos zsh efetivos foram:

# mkdir /media
# mount /dev/sde1 /media
# cat /media/Install.txt >> ~/.bash_history
# exec bash

Antes do chroot

Comandos bash, antes do chroot

Portanto, ao iniciar o bash, eu tinha um “histórico” com 89 linhas “importadas”, — incluindo os comandos que seriam utilizados em todas as etapas, — no chroot, ou após reiniciar o computador e carregar o Arch já instalado, e mesmo ao iniciar a primeira sessão KDE.

Naturalmente, essas primeiras 89 linhas, “importadas” do arquivo em TXT, não têm data, — pois não são comandos realmente executados.

Quase todas 89 linhas “importadas” começam por um “#”, — que eu devia eliminar, antes de usá-las como comandos efetivos.
# history
    1                       # alias history="history 1"
    2                       # mkdir /media
    3                       # mkdir /media/pen
    4                       # mount /dev/sde1 /media/pen
    5                       # ------------------------
    6                       # cat /media/pen/Install.txt >> ~/.zsh_history
    7                       # cat /media/pen/Install.txt >> ~/.bash_history
    8                       # history -n
    9                       # ------------------------
   10                       # echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.zshrc
   11                       # source ~/.zshrc
   12                       # echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc
   13                       # ------------------------
   14                       # ping google.com
   15                       # loadkeys br-abnt2
   16                       # mount /dev/sda8 /mnt
   17                       # mkdir /mnt/home
   18                       # mount /dev/sdb8 /mnt/home
   19                       # swapon /dev/sdb14
   20                       # mkdir /mnt/boot
   21                       # mkdir /mnt/boot/efi
   22                       # mount /dev/sda1 /mnt/boot/efi
   23*                      cp ~/.zsh_history /mnt/root
   24                       # cp ~/.bash_history /mnt/root
   25                       # cp ~/.zshrc /mnt/root
   26                       # cp ~/.bashrc /mnt/root
   27                       # -----------------------------
   28                       # nano /etc/pacman.d/mirrorlist                  ###   move Brazilian mirrors to top
   29                       # pacstrap /mnt base linux-lts linux-firmware
   30                       # genfstab -U -p /mnt >> /mnt/etc/fstab
   31                       # arch-chroot /mnt
   32                       # ========== chroot ==========
   33                       # history -n                                                                  ###   is it needed?
   34                       # echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc                    ###   is it needed?
   35                       # ln -sf /usr/share/zoneinfo/America/Sao_Paulo/etc/localtime /etc/localtime
   36                       # hwclock --systohc
   37                       # timedatectl set-ntp true
   38                       # ------------------------
   39                       # pacman -S nano
   40                       # pacman -S intel-ucode
   41                       # pacman -S man-db man-pages texinfo
   42                       # pacman -S dosfstools os-prober mtools
   43                       # pacman -S networkmanager network-manager-applet wpa_supplicant wireless_tools dialog sudo
   44                       # pacman -S grub-efi-x86_64 efibootmgr
   45                       # ------------------------
   46                       # nano /etc/locale.gen                           ###   enabled:  "en_GB.UTF-8 UTF-8"
   47                       # ------------------------
   48                       # locale-gen
   49                       # echo LANG=pt_BR.UTF-8 >> /etc/locale.conf
   50                       # echo KEYMAP=br-abnt2 >> /etc/vconsole.conf
   51                       # nano /etc/hostname                             ###   add:    "Linux7"
   52                       # echo 'Linux7' >> /etc/hostname
   53                       # nano /etc/hosts                                ###   add:
   54                       # echo '127.0.0.1 hostname.localdomain' >> /etc/hosts
   55                       # echo '::1 >> /etc/hosts'
   56                       # echo '127.0.1.1 Linux2.localdomain' >> /etc/hosts
   57                       # ------------------------
   58                       # passwd
   59                       # useradd -m -g users -G wheel flavio
   60                       # nano /etc/sudoers                              ###   add:    flavio ALL=(ALL) ALL
   61                       # echo 'flavio ALL=(ALL) ALL' >> /etc/sudoers
   62                       # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
   63                       # grub-mkconfig -o /boot/grub/grub.cfg
   64                       # exit
   65                       # ==== Exit chroot === REBOOT ====
   66                       # systemctl start NetworkManager
   67                       # systemctl enable NetworkManager
   68                       # ping google.com
   69                       # pacman -S xorg-server
   70                       # pacman -S xf86-video-intel libgl mesa
   71                       # pacman -S sddm
   72                       # systemctl enable sddm
   73                       # pacman -S plasma kdebase
   74                       # reboot
   75                       # ========== KDE ===========
   76                       $ echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc       ###   is it needed?
   77                       # nano /etc/polkit-1/rules.d/99-udisks2.rules
   78                       # pacman -S conky
   79                       # pacman -S ncurses
   80                       # pacman -S pcurses
   81                       # pacman -S lm_sensors
   82                       # sensors-detect
   83                       # echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc
   84                       # nano /etc/polkit-1/rules.d/99-udisks2.rules    ###   added:
   85                       # -----------------------
   86                       // Allow udisks2 to mount devices without authentication
   87                       polkit.addRule(function(action, subject) {
   88                       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; } });
   89                       # -----------------------
--------------------------
   91  2020-04-30_12-28-35  echo 'export HISTTIMEFORMAT="%F_%H-%M-%S "' >> ~/.bashrc
   95  2020-04-30_12-30-35  source ~/.bashrc
  100  2020-04-30_12-34-12  ping google.com
  101  2020-04-30_12-35-51  loadkeys br-abnt2
  106  2020-04-30_12-37-44  mkdir /mnt
  107  2020-04-30_12-42-46  mount /dev/sda8 /mnt
  109  2020-04-30_12-44-28  mkdir /mnt/home
  111  2020-04-30_12-45-58  mount /dev/sdb8 /mnt/home
  112  2020-04-30_12-47-08  swapon /dev/sdb14
  113  2020-04-30_12-47-40  mkdir /mnt/boot
  115  2020-04-30_12-48-38  mkdir /mnt/boot/efi
  116  2020-04-30_12-49-45  mount /dev/sda1 /mnt/boot/efi
  120  2020-04-30_12-56-28  mkdir /mnt/root
  121  2020-04-30_12-57-43  cp ~/.bash_history /mnt/root
  123  2020-04-30_12-58-50  cp ~/.bashrc /mnt/root
  124  2020-04-30_13-01-03  nano /etc/pacman.d/mirrorlist                ###   move Brazilian mirrors to top
  126  2020-04-30_13-06-19  pacstrap /mnt base linux-lts linux-firmware
--------------------------
  141  2020-04-30_13-19-55  genfstab -U -p /mnt >> /mnt/etc/fstab
  144  2020-04-30_13-23-25  history > /mnt/root/history-pre-chroot.txt
                            arch-chroot /mnt

Do nº 91 em diante, estão os comandos realmente executados, — para datar o histórico, testar a conexão, carregar o teclado ABNT2, montar as partições de destino / e /home, habilitar a partição Swap, montar a partição EFI, colocar os espelhos do Brasil no topo da mirrorlist, instalar os pacotes básicos do Arch pelo pacstrap, e gerar o arquivo /etc/fstab.

Aproveitei para copiar o bashrc e o bash_history para a partição de destino, para não ter de repetir esse trabalho, — configurar a datação, importar o TXT, — ao entrar no chroot.

Um erro de digitação no roteiro me fez gastar mais de 10 minutos (nº 127 ~ 140), até conseguir gerar o arquivo /etc/fstab. — Eliminei os comandos falhados (abaixo), bem como ls, cat, mc e outros, para não confundir a leitura. — Só o roteiro está mantido, incluindo os erros de digitação.

Por via das dúvidas, direcionei um comando history para um arquivo TXT, — antes de iniciar o chroot. — Foi a única documentação que ficou dessa etapa (além das fotos), em horário UTC:

chroot, reboot & KDE

Erro de digitação em comando importado do roteiro

Apesar de ter copiado o bash_history da sessão Live, — depois de já ter executado vários comandos, — ao entrar no chroot, o histórico apresentou só as linhas “importadas” (que agora eram 90).

Portanto, a numeração começou de novo (nº 91), — e isso foi o que ficou, ao reiniciar o computador e carregar o Arch instalado.

Um erro de digitação frustrou a configuração do fuso horário, — que só foi corrigido horas depois (comandos nº 172 a 174, após deletar o link errado).

   95  2020-04-30_10-26-50  ln -sf /usr/share/zoneinfo/America/Sao_Paulo/etc/localtime /etc/localtime
   97  2020-04-30_10-27-32  hwclock --systohc
   98  2020-04-30_10-27-48  timedatectl set-ntp true
--------------------------
  108  2020-04-30_10-34-05  pacman -S nano
  109  2020-04-30_10-34-33  pacman -S intel-ucode
  110  2020-04-30_10-34-57  pacman -S man-db man-pages texinfo
  111  2020-04-30_10-35-14  pacman -S dosfstools os-prober mtools
  112  2020-04-30_10-35-37  pacman -S networkmanager network-manager-applet wpa_supplicant wireless_tools dialog sudo
  113  2020-04-30_10-36-21  pacman -S grub-efi-x86_64 efibootmgr
  115  2020-04-30_10-37-31  nano /etc/locale.gen                           ###   enabled:  "en_GB.UTF-8 UTF-8"
  116  2020-04-30_10-39-03  locale-gen
  118  2020-04-30_10-40-26  echo KEYMAP=br-abnt2 >> /etc/vconsole.conf
  119  2020-04-30_10-40-55  echo 'Linux7' >> /etc/hostname
  122  2020-04-30_10-44-17  echo '127.0.0.1 hostname.localdomain' >> /etc/hosts
  124  2020-04-30_10-44-59  echo '::1' >> /etc/hosts
  126  2020-04-30_10-46-01  echo '127.0.1.1 Linux7.localdomain' >> /etc/hosts
  129  2020-04-30_10-47-15  passwd
  130  2020-04-30_10-48-31  echo LANG=en_GB.UTF-8 >> /etc/locale.conf
  139  2020-04-30_10-54-23  useradd -m -g users -G wheel flavio
  140  2020-04-30_10-54-52  echo 'flavio ALL=(ALL) ALL' >> /etc/sudoers
  141  2020-04-30_10-55-24  passwd flavio
  142  2020-04-30_10-56-38  grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
  143  2020-04-30_10-57-16  grub-mkconfig -o /boot/grub/grub.cfg
  144  2020-04-30_10-58-16  exit      ### Exit chroot & reboot
--------------------------
  146                       systemctl start NetworkManager
  147                       ping google.com
  148                       systemctl enable NetworkManager
  149                       pacman -S xorg-server
  150                       pacman -S xf86-video-intel libgl mesa
  151                       pacman -S sddm
  152                       systemctl enable sddm
  153                       pacman -S plasma kdebase
  154                       reboot
--------------------------
  156  2020-04-30_11-19-50  pacman -Syyu
  157  2020-04-30_11-20-30  pacman -S gnome-screenshot
  160  2020-04-30_11-26-52  pacman -S gwenview
  169  2020-04-30_23-53-57  date && pacman -Syyu && date
  170  2020-04-30_23-54-36  pacman -S mc
  172  2020-04-30_23-57-57  ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
  174  2020-04-30_23-58-49  timedatectl set-ntp true
  176  2020-05-01_00-10-26  nano /etc/polkit-1/rules.d/99-udisks2.rules
  177  2020-05-01_00-42-41  pacman -S chromium
--------------------------
  179  2020-05-01_08-19-41  date && pacman -Syyu && date
  180  2020-05-01_08-20-54  pacman -S speedtest-cli
  184  2020-05-01_09-25-41  pacman -S kwalletmanager
  185  2020-05-01_10-05-35  pacman -S qt5-xmlpatterns
  186  2020-05-01_10-14-04  date && pacman -Syyu && date
  187  2020-05-01_10-15-15  pacman -S conky
  191  2020-05-01_10-27-17  pacman -S ncurses
  192  2020-05-01_10-27-25  pacman -S pcurses
  193  2020-05-01_10-28-13  pcurses
  194  2020-05-01_10-28-45  pacman -S lsb-release
  195  2020-05-01_10-54-36  pacman -S npm
  196  2020-05-01_10-55-57  npm i -g corona-cli
  197  2020-05-01_13-12-27  pacman -S youtube-dl
  198  2020-05-01_13-13-15  pacman -S vlc
  199  2020-05-01_13-14-24  pacman -S libreoffice
  200  2020-05-01_13-16-07  pacman -S okular
  201  2020-05-01_13-17-02  pacman -S krename
  202  2020-05-01_13-17-30  pacman -S kim4
  203  2020-05-01_13-18-52  pacman -S android-file-transfer
  204  2020-05-01_13-19-25  pacman -S mtpfs
  205  2020-05-01_13-19-51  pacman -S gimp
  206  2020-05-01_13-20-42  pacman -S kruler
  207  2020-05-01_13-21-14  pacman -S dolphin-plugins
  208  2020-05-01_13-22-14  pacman -S kdesdk-thumbnailers
  209  2020-05-01_13-22-48  pacman -S marble
  210  2020-05-01_13-23-26  pacman -S kdesdk-thumbnailers
  211  2020-05-01_13-24-26  pacman -S ffmpegthumbs
  212  2020-05-01_13-25-06  pacman -S kimageformats
  213  2020-05-01_13-25-38  pacman -S kdegraphics-thumbnailers
  214  2020-05-01_13-26-21  pacman -S qt5-imageformats
  215  2020-05-01_13-26-48  pacman -S kdiff3
  216  2020-05-01_13-27-40  pacman -S filelight
  217  2020-05-01_13-28-09  pacman -S xsane
  219  2020-05-01_13-32-08  date && pacman -Syyu && date
  220  2020-05-01_13-32-27  pacman -S wine-staging
  221  2020-05-01_13-33-54  pacman -S wine-gecko
  222  2020-05-01_13-34-38  pacman -S wine-mono
  223  2020-05-01_13-35-10  pacman -S winetricks
  225  2020-05-01_20-36-40  history

Conclusão

Comando echo com várias linhas, delimitadas por aspas simples, no bash_history

Podem-se simplificar, ainda mais, algumas tarefas, — por exemplo, um comando echo permite criar arquivos com várias linhas, desde que enquadradas dentro de um par de aspas simples, — mesmo que dentro delas existam aspas duplas (mas não aspas simples).

O exame posterior do bash_history mostra como isso pode ser usado no roteiro em TXT, — em vez de recorrer ao nano e digitar ou colar várias linhas, manualmente:

 $ echo '// 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; } });' > Test.txt

$ cat Test.txt
// 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; } });

Enquanto batia cabeça, anotei alguns atalhos para console virtual, — tanto no bash, quanto no zsh:

Ctrl+k : Limpa o conteúdo da linha após o cursor e o copia na área de transferência.

Ctrl+y : (yank) Adiciona o conteúdo da área de transferência a partir da posição do cursor.

Não resolveram, porque não consegui descobrir um modo de trazer para esta “área de transferência” os comandos copiados do nano. — Ficam anotados, pois ainda podem ser úteis em outras situações.

Infelizmente, nunca investi tempo no vi / vim, — por isso, não sei se seria uma solução.

Entretanto, preparar previamente todos os comandos em um arquivo TXT — e “importar” para o bash_history — se mostrou o caminho mais simples e cômodo.

Wallpaper


Efeito fumê nas janelas, ao desdobrar o Conky

Centro Histórico de Pacatu perspectiva”, by Ederlucio Melo, 20 November 2005, 14:20:17.

23 Julho 2020 - Ao desdobrar o Conky, foi necessário aplicar um efeito fumê na parte de baixo das janelas, para as informações ficarem legíveis.

2023 - Desastre e recuperação

“kernel doesn't support EFI handover”
“kernel doesn't support EFI handover”

No início de Março, ocorreu uma atualização do Kernel para a revisão linux-6.2.2, e depois isso o Grub do openSUSE e do Mageia não conseguia mais carregar o Arch Linux: — “kernel doesn't support EFI handover”.

Em resumo, o Kernel deixou de ser compilado com o “deprecated EFI handover protocol”, e o Arch Linux adotou essa novidade — o que o deixou incompatível com o Grub da maioria das outras distros.

Entrei nas configurações EFI da placa-mãe e selecionei o Grub do próprio Arch, mas tudo indica que o deletei em algum momento, por distração. — Ele ainda aparecia nas configurações, mas não existia mais, de fato.

Encontrei várias sugestões para solucionar o problema — fazer downgrade para Kernel 6.1, compilar com o suporte ao “EFI handover” habilitado etc. — mas decidi investir em 2 coisas mais simples:

  • Instalar o Kernel LTS
  • Reinstalar o Grub do Arch

Para isso, baixei uma imagem ISO atualizada do Arch Linux, “queimei” em DVD, e iniciei uma sessão Live:

                            ping google.com
                           mount /dev/sda3 /mnt
                           mount /dev/sdb3 /mnt/home
                           mount /dev/sda1 /mnt/boot/efi
                           arch-chroot /mnt

  488  2023-03-06_15-30-01 script
  479  2023-03-06_15-30-34 date; pacman -Syyu; date
  480  2023-03-06_15-32-15 pacman -S linux-lts
  481  2023-03-06_15-38-34 grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub2 --recheck
  482  2023-03-06_15-39-31 grub-mkconfig -o /boot/grub/grub.cfg
  483  2023-03-06_15-40-59 exit

  492  2023-03-06_15-49-30 chown 1000:1000 typescript

  498  2023-03-06_16-08-00 efibootmgr
  499  2023-03-06_16-10-05 efibootmgr -o 0000,0003,000A,0002,0005,000E,0004,000B,0001,000F,0007,0008,0009,0006

A sessão Live do Arch Linux já se loga automaticamente como Root, usando ZSH. — Comandei “bash” para mudar isso. — Em seguida, testei a Rede, montei as partições necessárias e fiz o “chroot” na partição-raiz do Arch instalado.

Executei o comando “script”, para salvar todas as saídas em um arquivo “typescript” — então, atualizei o Arch pelo “pacman”, instalei o Kernel LTS, reinstalei o Grub na partição EFI, atualizei o Grub e saí. — Mais tarde, passei a propriedade do arquivo “typescript” para o usuário.

Devolvendo o EFI para o Grub do openSUSE

Depois de testar o novo Grub do Arch Linux, devolvi o EFI para o Grub do openSUSE, atualizei o Grub do openSUSE — e tudo voltou a funcionar como antes.

____________________________
• Publicado em 18 Abril 2020.
• Desenvolvido até 26 Abril 2020.
• “Desastre e recuperação” em 6 Março 2023.

— … ≠ • ≠ … —

PC desktop UEFI / GPT

Não-debians