Translate

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 / dash, 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