25 Aprile 2024
In un precedente articolo ho illustrato come installare Debian + OpenBox su un portatile Mac. L'esperienza è stata piuttosto piacevole ed interessante tanto che ho pensato di ripeterrla con Arch Linux.
La scelta è caduta su Arch piuttosto che su qualche altra distro, per due motivi principali: il primo per una sorta di sfida, visto che la distribuzione la si può installare solo manualmente senza l'ausilio di qualche installer grafico; il secondo per poter imparare qualcosa di nuovo sul mondo di Linux.
A onor del vero, esiste uno script, "ArchInstall", non distribuito dalla comunità ufficiale, che consente di ridurre l'installazione a pochi semplici domande, rispondendo alle quali si può ottenere sia un sistema base (solo terminale), sia un sistema completo corredato di Desktop Grafico .
C'ho impiegato un pò di tempo e diversi tentativi di installazione prima di arrivare alla versione definitiva perfettamente funzionante che descriverò di seguito.
Il pc di destinazione è lo stesso dell'esperimento eseguito con Debian: un Mac Book Pro 13" [8.1] dell'inizio 2011. Ovviamente, a parte l'installazione del sistema base di Linux Arch e dei driver per le periferiche del portatile, tutto il resto è dettato da una mia personale scelta dovuta ai gusti del sottoscritto e alla mia esperenza in merito alla tipologia di applicazioni che sono solito usare. Ovviamente non mi aspetto che dobbiate scegliere i programmi che utilizzo io, ma spero vi sia utile per capire come muoversi in questo terreno dove ogni cosa deve essere eseguita a mano.
Cominciamo!!!
- Scaricare l'ultima versione di Linux Arch dal Sito Ufficiale
- Rendere avviabile una chiavetta USB di almeno 8GB salvondoci sopra il file ISO appena scaricato utilizzando Balena Etcher, programmi similari o l'utility del terminale "dd".
- Collegare il cavo Ethernet tra Router e computer, poi inserire la chiavetta nel PC e accenderlo in modo che possa essere letta e inizi il processo di installazione di Arch.
- Impostare la tastiera Italiana:
# loadkeys it
- Controllare quali interfacce di rete sono presenti nel PC e se sono attive (UP). In questo caso la rete Ethernet enp2s0f0 lo è.
# ip link 1: lo: <LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp2s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 10:9a:dd:6e:fa:b4 brd ff:ff:ff:ff:ff:ff
- Verificare se la connesione funziona. In caso affermativo, come il seguente, il sistema invia alcuni pacchetti dati, al sito indicato e valuta il tempo di risposta.
# ping -c 4 archlinux.org
PING archlinux.org (95.217.163.246) 56(84) bytes of data.
64 bytes from archlinux.org (95.217.163.246): icmp_seq=1 ttl=48 time=64.3 ms
64 bytes from archlinux.org (95.217.163.246): icmp_seq=2 ttl=48 time=63.7 ms
64 bytes from archlinux.org (95.217.163.246): icmp_seq=3 ttl=48 time=63.4 ms
64 bytes from archlinux.org (95.217.163.246): icmp_seq=4 ttl=48 time=64.3 ms
---archlinux.org ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rrt min/avg/max/mdev = 65.355/63.889/64.276/0.396ms
- Verificare se il pc ha la modalità EFI
# ls /sys/firmware/efi/efivars
- Se viene mostrata una lista di file siamo in presenza di modalità EFI altrimenti Legacy.
La procedura di installazione seguente è adatta alla modalità EFI.
- Verificare come è impostato l'orologio:
# timedatectl Local time: Thu 2024-04-11 16:40:46 UTC Universal time: Thu 2024-04-11 16:40:46 UTC RTC time: Thu 2024-04-11 16:40:46 Time zone: UTC (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no
- Se non è corretto recuperare la nostra zona:
# timedatectl list-timezones ... ... Europe/Moscow Europe/Nicosia Europe/Oslo Europe/Paris Europe/Podgorica Europe/Prague Europe/Riga Europe/Rome Europe/Samara Europe/San_Marino Europe/Sarajevo Europe/Saratov Europe/Simferopol Europe/Skopje Europe/Sofia Europe/Stockholm Europe/Tallinn Europe/Tirane Europe/Tiraspol Europe/Ulyanovsk Europe/Uzhgorod Europe/Vaduz Europe/Vatican lines 461-483
Premere q per uscire dalla lista:
- Impostare il fuso orario italiano:
# timedatectl set-timezone Europe/Rome
- Controllare se è corretta:
# timedatectl Local time: Thu 2024-04-11 18:43:43 CEST Universal time: Thu 2024-04-11 16:43:43 UTC RTC time: Thu 2024-04-11 16:43:43 Time zone: Europe/Rome (CEST, +0200) System clock synchronized: yes NTP service: active RTC in local TZ: no
- In questo caso è attiva, ma qualora fosse necessario impostare la sincronizzazione dell'orologio attraverso internet, impartire il seguente comando:
# timedatectl set-ntp true
- Verificare se l'impostazione è stata attivata correttamente:
# timedatectl Local time: Thu 2024-04-11 18:44:23 CEST Universal time: Thu 2024-04-11 16:44:23 UTC RTC time: Thu 2024-04-11 16:44:23 Time zone: Europe/Rome (CEST, +0200) System clock synchronized: yes NTP service: active RTC in local TZ: no
- Sono necessarie tre partizioni: boot in modalita UEFI, swap e root.
- Controllare le partizioni presenti sul disco:
# fdisk -l Disk /dev/sda: 298.09 GiB, 320072933376 bytes, 625142448 sectors Disk model: Hitachi HTS54503 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: FCF4EDDB-A815-4BB8-A4F9-196AB3050BF0 Device Start End Sectors Size Tipo /dev/sda1 2048 625141759 25139712 298.1G Microsoft basic data
- Entrare nella shell di fdisk per creare le partizioni necessarie (/dev/sda nel mio caso):
# fdisk /dev/sda Welcome to fdisk (util-linux 2.39.3). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. A hybrid GPT was detected. You have to sync the hybrid MBR manually (expert command 'M'). Command (m for help):
- Digitare m seguito da INVIO per l'help dei comandi:
Command (m for help): m
Help:
GPT
M enter protective/hybrid MBR
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
Command (m for help):
- Creare una tabella di partizioni GPT con g seguito da INVIO:
Command (m for help): g
Created a new GPT disklabel (GUID: FF581116-CC28-46B0-A5C9-B95D6923C2A4).
Command (m for help):
- Creare la prima partizione, quella di boot, digitando n seguito da INVIO.
Accettare il valore di default [1] per il numero identificativo, stessa cosa per il valore del primo settore, ma impostare +512M come dimensione della partizione; infine rispondere y alla richiesta, se presente come in questo caso, di rimuovere la firma del filesystem attualmente presente nella partizione stessa, se diverso da EFI System.
Command (m for help): n Partition number (1-128, default 1): First sector (2048-625142414, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-625142414, default 625141759): +512M Created a new partition 1 of type 'Linux filesystem' and of size 512 MiB. Partition #1 contains a exfat signature. Do you want to remove the signature''? [Y]es/[N]o: y The signature will be removed by a write command. Command (m for help):
- Impostare il tipo di partizione digitando t seguito da INVIO.
Inserire 1 come numero della partizione; digitare L per visionare la lista di tutti i filesystem utilizzabili e annotare che EFI System corrisponde al codice [1] mentre Linux swap al codice [19]; premere q per uscire dalla lista; inserire 1 come valore per impostare EFI System.
Command (m for help): t Partition number (1-128, default 1): 1 Partition type or alias (type L to list all): L 1 EFI System C12A7328-F81F-11D2-BA4B-00A0C93EC93B 2 MBR partition scheme 024DEE41-33E7-11D3-9D69-0008C781F39F 3 Intel Fast Flash D3BFE2DE-3DAF-11DF-BA40-E3A556D89593 4 BIOS boot 21686148-6449-6E6F-744E-656564454649 5 Sony boot partition F4019732-066E-4E12-8273-346C5641494F 6 Lenovo boot partition BFBFAFE7-A34F-448A-9A5B-6213EB736C22 7 PowerPC PReP boot 9E1A2D38-C612-4316-AA26-8B49521E5A8B 8 ONIE boot 7412F7D5-A156-4B13-81DC-867174929325 9 ONIE config D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149 10 Microsoft reserved E3C9E316-0B5C-4DB8-817D-F92DF00215AE 11 Microsoft basic data EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 12 Microsoft LDM metadata 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3 13 Microsoft LDM data AF9B60A0-1431-4F62-BC68-3311714A69AD 14 Windows recovery environment DE94BBA4-06D1-4D40-A16A-BFD50179D6AC 15 IBM General Parallel Fs 37AFFC90-EF7D-4E96-91C3-2D7AE055B174 16 Microsoft Storage Spaces E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D 17 HP-UX data 75894C1E-3AEB-11D3-B7C1-7B03A0000000 18 HP-UX service E2A1E728-32E3-11D6-A682-7B03A0000000 19 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F 20 Linux filesystem 0FC63DAF-8483-4772-8E79-3D69D8477DE4 21 Linux server data 3B8F8425-20E0-4F3B-907F-1A25A76F98E8 22 Linux root (x86) 44479540-F297-41B2-9AF7-D131D5F0458A 23 Linux root (x86-64) 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709 ... ... Partition type or alias (type L to list all): 1 Changed type of partition 'Linux filesystem' to 'EFI System'. Command (m for help):
- Creare la seconda partizione, quella di swap, digitando n seguito da INVIO.
Accettare il valore di default [2] per il numero identificativo, stessa cosa per il valore del primo settore, ma impostare +2G come dimensione della partizione; infine rispondere y alla richiesta, se presente come in questo caso, di rimuovere la firma del filesystem attualmente presente nella partizione stessa, se diverso da Linux swap.
Command (m for help): n Partition number (2-128, default 2): First sector (1050624-625142414, default 1050624): Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-625142414, default 625141759): +2GB Created a new partition 2 of type 'Linux filesystem' and of size 1.9 GiB. Partition #2 contains a exfat signature. Do you want to remove the signature''? [Y]es/[N]o: y The signature will be removed by a write command. Command (m for help):
- Impostare il tipo di partizione premendo t seguito da INVIO.
Inserire 2 come numero della partizione; digitare 19 come valore per impostare Linux swap.
Command (m for help): t Partition number (1-128, default 2): 2 Partition type or alias (type L to list all): 19 Changed type of partition 'Linux filesystem' to 'linux swap'. Command (m for help):
- Creare l'ultima partizione, quella di root, digitando n seguito da INVIO.
Accettare il valore di default [3] per il numero identificativo, stessa cosa per il valore del primo e dell'ultimo settore. E' inutile impostare il filesystem in quanto di default viene usato esattamente Linux filesystem che è quello che ci serve.
Command (m for help): n
Partition number (3-128, default 3):
First sector (4956160-625142414, default 4956160):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (4956160-625142414, default 625141759):
Created a new partition 3 of type 'Linux filesystem' and of size 295.7 GiB.
Command (m for help):
- Salvare le modifiche ed uscire da fdisk con w seguito da INVIO.
Command (m for help): w
The partition table has altered.
Calling ioctl to re-read partition table.
Syncing disks.
- Verificare il risultato:
# fdisk -l Disk /dev/sda: 298.09 GiB, 320072933376 bytes, 625142448 sectors Disk model: Hitachi HTS54503 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: FF581116-CC28-46B0-A5C9-B95D6923C2A4 Device Start End Sectors Size Tipo /dev/sda1 2048 1050623 1048576 512M EFI System /dev/sda2 1050624 4956159 3905536 1.9G Linux swap /dev/sda3 4956160 625141759 620185600 295.7G Linux filesystem
- Iniziare con la prima, quella di boot:
# mkfs.fat -F32 /dev/sda1
mkfs.fat 4.2 (2021-01-31)
- Continuare con quella di swap:
# mkswap /dev/sda2
Setting up swapspace version 1, size = 1.9 GiB (1999630336 bytes)
no label, UUID=58ecd671-9622-436f-a6df-a18c842f43b8
- Infine quella di root; accettare le opzioni proposte premendo invio.
# mkfs.ext4 /dev/sda3
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 77523200 4K blocks and 19382272 inodes
Filesystem UUID: 6da8389b-e42f-46aa-8526-b7947688c28e
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks):
done
Writing superblocks and filesystem accounting information: done
- Iniziare con quella di boot:
# mount --mkdir /dev/sda1 /mnt/boot
- Proseguire con quella di swap:
# swapon /dev/sda2
- Finire con quella di root:
# mount /dev/sda3 /mnt
- Impartire il seguente comando:
# reflector --verbose --country Italy --sort rate --save /etc/pacman.d/mirrorlist
[2024-04-11 19:08:15] INFO: rating 4 mirror(s) by download speed
[2024-04-11 19:08:15] INFO: Server Rate Time
[2024-04-11 19:08:20] WARNING: failed to rate http(s) download (http://archlinux.mirror.garr.it/archlinux/extra/os/x86_64/extra.db): Download timed out after 5 second(s).
[2024-04-11 19:08:20] INFO: http://archlinux.mirror.garr.it/archlinux/ 0.00 KiB/s 0.00 s
[2024-04-11 19:08:25] WARNING: failed to rate http(s) download (https://archmirror.it/repos/extra/os/x86_64/extra.db): Download timed out after 5 second(s).
[2024-04-11 19:08:25] INFO: https://archmirror.it/repos/ 0.00 KiB/s 0.00 s
[2024-04-11 19:08:31] WARNING: failed to rate http(s) download (http://archlinux.mirror.server24.net/extra/os/x86_64/extra.db): Download timed out after 5 second(s).
[2024-04-11 19:08:31] INFO: http://archlinux.mirror.server24.net/ 0.00 KiB/s 0.00 s
[2024-04-11 19:08:36] WARNING: failed to rate http(s) download (https://archlinux.mirror.server24.net/extra/os/x86_64/extra.db): Download timed out after 5 second(s).
[2024-04-11 19:08:36] INFO: https://archlinux.mirror.server24.net/ 0.00 KiB/s 0.00 s
- Controllare se il file è stato creato correttamente:
# cat /etc/pacman.d/mirrorlist
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################
# With: reflector --verbose --country Italy --sort rate --save /etc/pacman>
# When: 2024-04-28 04:59:31 UTC
# From: https://archlinux.org/mirrors/status/json/
# Retrieved: 2024-04-28 04:59:10 UTC
# Last Check: 2024-04-28 04:50:44 UTC
Server = http://archlinux.mirror.garr.it/archlinux/$repo/os/$arch
Server = https://archmirror.it/repos/$repo/os/$arch
Server = http://archlinux.mirror.server24.net/$repo/os/$arch
Server = https://archlinux.mirror.server24.net/$repo/os/$arch
# pacstrap -K /mnt base base-devel linux linux-firmware nano
- Generare la tabella fstab:
# genfstab -U /mnt >> /mnt/etc/fstab
- Passare al nuovo sistema:
# arch-chroot /mnt
# ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime
- Impostare l'orologio del pc su UTC:
# hwclock --systohc --utc
- Modificare il file /etc/locale.gen con nano, decommentando, cioè toglendo il [#] dalla linea che contiene le specifiche per la lingua italiana
# nano /etc/locale.gen
...
#hy_AM.ARMSCII-8 ARMSCII-8
#ia_FR UTF-8
#id_ID.UTF-8 UTF-8
#id_ID ISO-8859-1
#ig_NG UTF-8
#ik_CA UTF-8
#is-IS.UTF-8 UTF-8
#is_IS ISO-8859-1
#it_CH.UTF-8 UTF-8
#it_CH ISO-8859-1
it_IT.UTF-8 UTF-8
#it_IT ISO-8859-1
#it_IT@euro ISO-8859-15
#iu-CA UTF-8
...
- Impartire il seguente comando:
# locale-gen
Generating locales...
it_IT.UTF-8... done
Generation complete
- Creare il file /etc/locale.conf con nano:
# nano /etc/locale.conf
- e inserire l'istruizione seguente:
LANG=it_IT.UTF-8
- Impostare la tastiera creando con nano il seguente file:
# nano /etc/vconsole.conf
- e aggiungere l'istruzione:
KEYMAP=it
- Abilitare systemd-networkd:
# systemctl enable systemd-networkd.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.network1.service > /usr/lib/systemd/system/systemd-networkd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.service > /usr/lib/systemd/system/systemd-networkd.service.
Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.service > /usr/lib/systemd/system/systemd-networkd.socket.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-network-generator.service > /usr/lib/systemd/system/systemd-network-generator.service.
Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service > /usr/lib/systemd/system/systemd-networkd-wait-online.service.
- Creare il file /etc/hostname con nano per inserirvi il proprio hostname (ad esempio "archlinux"):
# nano /etc/hostname
- e scrivere il nome:
archlinux
- Impostare la password di root:
# passwd
New password:
Retype new password:
passwd: password update successfully
- Creare un nuovo utente:
# useradd -m -G wheel -s /bin/bash gandalfrank
- dove al posto di gandalfrank, deve essere inserito il vostro nome. Quindi proseguire impostando la relativa password:
# passwd gandalfrank
New password:
Retype new password:
passwd: password update successfully
- Creare la directory che ospiterà Grub:
# mkdir /boot/efi
- Montare la partizione di boot nella cartella appena creata:
# mount /dev/sda1 /boot/efi
- Installare Grub:
# pacman -S grub
resolving dependencies...
looking for conflicting packages...
Packages (1) grub-2:2.12-2
Total Download Size: 6.04 MiB
Total Installed Size: 33.67 MiB
:: Proceed with installation? [Y/n] y
:: Retrieving packages...
grub-2:2.12-2-x86_64
...
...
- Installare efibootmgr:
# pacman -S efibootmgr
resolving dependencies...
looking for conflicting packages...
Packages (2) evivar-39-1 efibootmgr-18-3
Total Download Size: 0.17 MiB
Total Installed Size: 0.61 MiB
:: Proceed with installation? [Y/n] y
:: Retrieving packages...
efivar-39-1-x86_64
efibootmgr-18-3-x86_64
...
...
- Se Arch viene installato a fianco di uno o più sistemi operativi installare anche os-prober (non è il mio caso).
# pacman -S os-prober
- Usare grub-install:
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
- Generare il file di configurazione:
# grub-mkconfig -o /boot/grub/grub.cfg
- Uscire da chroot:
# exit
exit
arch-chroot /mnt 4.81s user 2.36s system 0% cpu 27:24:98 total
- Smontare tutto:
# umount -R /mnt
- Spegnere sistema:
# shutdown now
- Rimuovere la chiavetta USB di installazione e accendere il PC. Autenticarsi come root:
archlinux login: root
Password:
- Accertarsi che il cavo Ethernet sia collegato e verificare la rete:
# ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp2s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 10:9a:dd:6e:fa:b4 brd ff:ff:ff:ff:ff:ff
- Se la rete Ethernet (enp2s0f0 nel mio caso) non ha il termine UP nella definizione 2: enp2s0f0: <BROADCAST,MULTICAST>... deve essere attivata come segue:
# ip link set enp2s0f0 up
- Controlliamo se è attivata:
# ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp2s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000 link/ether 10:9a:dd:6e:fa:b4 brd ff:ff:ff:ff:ff:ff
- Verificare lo stato del servizio systemd.networkd-service:
# systemctl status systemd-networkd.service systemd-networkd.service - Network Configuration Loaded: loaded (usr/lib/systemd/system/systemd-networkd.service; enabled; preset: enabled) Active: active (running) since Sun 2024-04-14 12:41:16 CEST; 9min ago TriggeredBy: systemd-networkd.socket Docs: man:systemd-networkd.service(8) man:org.freedesktop.network1(15) Main PID: 273 (systemd-network) Status: "Processing request..." Tasks: 1 (limit: 4572) FD store: 0 (limit: 512) Memory: 3.2M (peak: 3.7M) CPU: 57ms CGroup: /system.slice/systemd-networkd.service 273 /usr/lib/systemd/systemd-networkd apr 14 12:41:14 archlinux systemd[1]: Starting Network Configuration... apr 14 12:41:16 archlinux systemd-networkd[273]: lo: Link UP apr 14 12:41:16 archlinux systemd-networkd[273]: lo: Gaimed carrier apr 14 12:41:16 archlinux systemd-networkd[273]: lo: Enumeration completed apr 14 12:41:1 archlinux systemd[1]: Started Network Configuration... apr 14 12:41:16 archlinux systemd-networkd[273]: eth0: Interface name change detected, renamed enp2s0f0. apr 14 12:46:20 archlinux systemd-networkd[273]: enp2s0f0: Link UP apr 14 12:46:23 archlinux systemd-networkd[273]: enp2s0f0: Gained carrier apr 14 12:46:24 archlinux systemd-networkd[273]: enp2s0f0: Gained IPv6LL
- Come si può vedere dai termini in azzurro, il servizio è ABILITATO e ATTIVO; provare dunque a connettersi ad internet:
# ping -c 4 archlinux.org
ping archlinux.org: Errore temporaneo nella risoluzione del nome
- L'errore che è apparso indica che non sono configurati i server DNS cui connettersi per poter navigare in internet scrivendo i normali indirizzi dei siti da visitare. Quindi procedere con la configurazione del file resolved.conf con nano:
# nano /etc/systemd/resolved.conf
- Aggiungere le seguenti due linee in coda al file:
nameserver 8.8.8.8 nameserver 8.8.4.4
- Configurare la rete Ethernet scrivendo le linee seguenti nel file 20-wired.network usando nano:
# nano /etc/systemd/network/20-wired.network
[Match] Name=enp2s0f0 [Network] DHCP=yes [DHCPv4] RouteMetric=100 [IPv6AcceptRA] RouteMetric=100
- Aavviare il servizio systemd-resolved.service:
# systemctl enable systemd-resolved.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.resolve1.service » /usr/lib/systemd/system/systemd-resolved.service.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-resolved.service » /usr/lib/systemd/system/systemd-resolved.service.
# systemctl start systemd-resolved.service
- Riavviare il sistema:
# reboot
- Autenticarsi come root:
archlinux login: root
Password:
- Digitare il seguente comando:
# pacman -S sudo
- Le impostazioni di sudo sono contenute in un file per modificare il quale si deve richiamare visudo con nano:
# EDITOR=nano visudo
- Nell'editor cercare la riga seguente (se non esiste createla):
# Defaults env_editor, editor=...
- E sostituirla con la seguente ricordando di togliere il [#]. Il suo scopo, come è facilmente intuibile, serve ad indicare quali sono gli editori testuali di default per la console. Ho inserito vi e vim che però devono essere installati.
Defaults env_editor,editor=/usr/bin/vi:/usr/bin/nano:/usr/bin/vim
- Aggiungere le seguenti istruzioni colorate in rosso e decommentare la linea %wheel ALL=(ALL:ALL) ALL (in blu nel riquadro sottostante):
## User privilege specification ## root ALL=(ALL:ALL) ALL gandalfrank ALL=(ALL:ALL) ALL ##Uncomment to allow members of group of wheel to execute any command %wheel ALL=(ALL:ALL) ALL ... ... gandalfrank archlinux=NOPASSWD: /usr/bin/pcmanfm, /usr/lib/pcmanfm, /usr/share/pcmanfm, /usr/bin/mousepad, /usr/lib/mousepad ## Read drop-in files from /etc/sudoers.d @includedir /etc/sudoers.d
- Ovviamente al posto di gandalfrank inserite il vostro nome utente, al posto di archlinux il vostro hostname e correggete le cartelle indicate, qualora vogliate usare due programmi diversi da pcmanfm come file manager e mousepad come editor di testi. Le 2 linee rosse sopra aggiunte, servono ad assegnare i privilegi di amministratore al nostro utente usando la clausola "sudo", la prima; a usare il file manager (pcmanfm) e l'editor di testo (mousepad) con i privilegi di amministratore senza dovere inserire la password, la seconda.
- Terminare la sessione come amministratore:
# exit
- Ed effettuare il login con il nostro utente:
archlinux login: gandalfrank
Password:
- Chiaramente al posto di gandalfrank inserire il vostro username.
- Per prima cosa fare un aggiornamento di sistema:
$ sudo pacman -Syu
- Adesso è la volta del Windows Manager OpenBox:
$ sudo pacman -S openbox xorg-xinit xorg-server
- ...e di un paio di font:
$ sudo pacman -S ttf-dejavu ttf-liberation
- Copiare il file di configurazione /etc/X11/xinit/xinitrc nella propria HOME:
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
- Modificare il file appena creato con nano:
$ nano ~/.xinitrc
- Commentare , aggiungendo [#], le ultime 5 righe del file e inserire la linea scritta in rosso:
#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name -login
exec openbox-session
- Creare le due cartelle annidate dentro la propria HOME:
$ mkdir -p ~/.config/openbox
- e copiarci i file di configurazione di /etc/xdg/openbox/:
$ cp -a /etc/xdg/openbox/ ~/.config/
- Adesso bisogna installare tutti quei programmi che sono utili al sistema e quelli necessari per le nostre normali attività quotidiane. Ovviamente ognuno deve scegliere in base alle proprie esigenze. Quello che segue è un elenco di applicazioni selezionate dal sottoscritto dopo avere compreso cosa mi serve veramente.
- git | strumento per scaricare manulamente i pacchetti AUR |
- pcmanfm | file manager |
- gvfs | gestione cestino e montaggio volumi in pcmanfm |
- xarchiver | gestione file compressi in pcmanfm |
- unzip | gestione file compressi .zip in pcmanfm |
- lxterminal | terminale |
- man-db | pagine man degli strumenti del terminale |
- obconf | configurazione di OpenBox |
- lxrandr | configurazione del monitor |
- pulseaudio | driver scheda audio |
- pavucontrol | gestione scheda audio |
- font-manager | gestione fonts |
- gpicview | visualizzatore immagini |
- htop | visualizzatore processi evoluto per terminale |
- scrot | cattura screenshot da terminale |
- atril | lettore PDF |
- gimp | fotoritocco |
- qcad | CAD - Disegno Tecnico |
- cherrytree | editor testuale per prendere appunti |
- flowblade | video editor |
- mousepad | editor di file txt |
- firefox | web browser |
- flowblade | videomontaggio |
- vlc | lettore multimediale |
sul sito di Arch esiste una sezione dedicata a tutte le applicazioni e i giochi disponibili per questa distro.
- per installarli è necessario usare pacman in questo modo:
$ sudo pacman -S git
$ sudo pacman -S pcmanfm
$ sudo pacman -S gvfs
...e così via per ogni applicazione.
- Riavviare il sistema ed effettuare il login con il vostro utente:
$ reboot
archlinux login: gandalfrank
Password:
In OpenBox non esiste un pulsante di avvio con il quale visionare la lista delle applicazioni che sono installate sul sistema, ma soltanto un menù per accedere al quale si deve Cliccare-DX in un qualunque punto della scrivania.
- Modificare il file ~/.config/openbox/menu.xml in modo che il menù proponga le applicazioni appena installate:
$ nano ~/.config/openbox/menu.xml
<?xml version="1.0" encoding="UTF-8"?> <openbox_menu xmlns="http://openbox.org/3.4/menu"> <menu id="root-menu" label="OpenBox 3"> <separator label="Applcazioni"/> <item label="Atril" icon="/home/gandalfrank/Icone/Atril.png"> <action name="Execute"> <command>atril</command> </action> </item> <item label="CherryTree" icon="/home/gandalfrank/Icone/CherryTree.png"> <action name="Execute"> <command>cherrytree</command> </action> </item> <item label="Firefox" icon="/home/gandalfrank/Icone/Firefox.png"> <action name="Execute"> <command>firefox</command> </action> </item> <item label="Flowblade" icon="/home/gandalfrank/Icone/FlowBlade.png"> <action name="Execute"> <command>flowblade</command> </action> </item> <item label="Font Manager" icon="/home/gandalfrank/Icone/Fonts.png"> <action name="Execute"> <command>font-manager</command> </action> </item> <item label="GIMP" icon="/home/gandalfrank/Icone/GIMP.png"> <action name="Execute"> <command>gimp</command> </action> </item> <item label="GPicView" icon="/home/gandalfrank/Icone/GPicView.png"> <action name="Execute"> <command>gpicview</command> </action> </item> <item label="LxRandr" icon="/home/gandalfrank/Icone/LxRandr.png"> <action name="Execute"> <command>lxrandr</command> </action> </item> <item label="LxTerminal" icon="/home/gandalfrank/Icone/LxTerminal.png"> <action name="Execute"> <command>lxterminal</command> </action> </item> <item label="MousePad" icon="/home/gandalfrank/Icone/MousePad.png"> <action name="Execute"> <command>mousepad</command> </action> </item> <item label="PavuControl" icon="/home/gandalfrank/Icone/Volume.png"> <action name="Execute"> <command>pavucontrol</command> </action> </item> <item label="PCMan File Manager" icon="/home/gandalfrank/Icone/PCManFM.png"> <action name="Execute"> <command>pcmanfm</command> </action> </item> <item label="QCAD" icon="/home/gandalfrank/Icone/CAD.png"> <action name="Execute"> <command>qcad</command> </action> </item> <menu id="amministratore" label="Root" icon="/home/gandalfrank/Icone/Root_2.png"> <item label="MousePad" icon="/home/gandalfrank/Icone/MousePad.png"> <action name="Execute"> <command>sudo mousepad</command> </action> </item> <item label="PCMan File Manager" icon="/home/gandalfrank/Icone/PCManFM.png"> <action name="Execute"> <command>sudo pcmanfm</command> </action> </item> </menu> <item label="Vlc" icon="/home/gandalfrank/Icone/Vlc.png"> <action name="Execute"> <command>vlc</command> </action> </item> <separator /> <item label="OB Conf" icon="/home/gandalfrank/Icone/OBConf.png"> <action name="Execute"> <command>obconf</command> </action> </item> <item label="Riconfigura OpenBox" icon="/home/gandalfrank/Icone/OB_Riconfigura.png"> <action name="Reconfigure" /> </item> <item label="Riavvia OpenBox" icon="/home/gandalfrank/Icone/OB_Riavvia.png"> <action name="Restart" /> </item> <separator /> <menu id="exit" label="Esci" icon="/home/gandalfrank/Icone/Esci.png"> <item label="Chiudi Sessione" icon="/home/gandalfrank/Icone/Chiudi_Sessione.png"> <action name="Execute"> <command>openbox --exit</command> </action> </item> <item label="Riavvia" icon="/home/gandalfrank/Icone/Riavvia.png"> <action name="Execute"> <command>systemctl reboot</command> </action> </item> <item label="Spegni" icon="/home/gandalfrank/Icone/Esci.png"> <action name="Execute"> <command>systemctl poweroff</command> </action> </item> </menu> </menu> </openbox_menu>
- L'icona da associare ad un programma deve essere indicata attraverso il suo percorso assoluto ... icon="/home/gandalfrank/Icone/Atril.png". Naturalmente tale percorso varia da PC a PC. Controllare il vostro.
- Riavviare il sistema ed autenticarsi con il proprio utente:
$ reboot
archlinux login: gandalfrank
Password:
- Creare qualche cartella utile nella HOME.
$ cd
$ mkdir Documenti Immagini Sfondi Icone Programmi Download Aiuto
- Ovviamente queste sono le cartelle che uso io, ognuno crei quello che vuole..
- Avviare OpenBox:
$ startx
- Cliccare-DX in un qualunque punto dello schermo fa apparire il menù seguente (non ci sono icone perché ancora non sono state salvate sul pc):
- Provare ad avviare ogni singolo programma per accertarsi che funzioni correttamente. Qualora Flowblade non si avvii, provate a farlo aprtire da LxTerminal.
$ flowblade
...se Flowblade genera questo errore:
Launch script dir: /usr/bin Running from installation... modules path: /usr/lib/python3.11/site-packages/Flowblade MLT found, version: 7.22.0 Failed to import module app.py to launch Flowblade! ERROR: No module named 'usb1' Installation was assumed to be at: /usr/lib/python3.11/site-packages/Flowblade
...rimediare installando la seguente libreria:
$ sudo pacman -S python-libusb1
***CONSIGLIO*** Se per caso vi rendete conto che non c'è una corrispondenza esatta fra i tasti premuti e i caratteri che appaiono sullo schermo impartire questo comando:
$ sudo localectl set-x11-keymap it
- e riavviare usando il menù:
- Inserire nella cartella ~/Icone tutte quelle immagini da associare ai programmi installati.
- Nel menù selezionare la voce Riconfigura OpenBox...
- ...e le icone appariranno a fianco dei progroammi nel menù stesso.
- yay è uno strumento che semplifica l'installazione dei pacchetti AUR (Arch User Repository). E' anch'esso un programma appartenente al gruppo AUR pertanto per installarlo lo si deve dapprima scaricare, poi compilare/installare in questo modo:
- Sul sito di Arch-AUR, digitare nell'apposita casella di ricerca, il termine yay e premere INVIO. Dalla lista che appare Cliccare-SX sul pacchetto yay; in alternativa si può installare yay.bin
- Nella pagina che appare Cliccare-SX sull'indirizzo del pacchetto, evidenziato con rettangolo rosso nell'immagine sottostante, per copiare il percorso completo.
- Usando il terminale entrare nella cartella Programmi:
$ cd ~/Programmi
- Digitare la seguente istruzione:
$ git clone INCOLLARE_INDIRIZZO_YAY
- Questo il risultato:
$ git clone https://aur.archlinux.org/yay.git
Entrare nella cartella che porta il nome del programma installato.
$ cd yay
Avviare la compilazione / installazione.
$ makepkg -si
Come anticipato poco prima, qualora l'installazione di yay produca errori è possibile provare ad installare yay.bin usando la stessa procedura.
- Adesso che yay è funzionante, installare la suite da ufficio FreeOffice che si sitrova in AUR:
$ yay -S freeoffice
- Aprire con MousePad ~/.config/openbox/menu.xml per aggiungere il pacchetto ufficio, le linee in rosso, all'elenco dei programmi installati.
...
<item label="Font Manager" icon="~/Icone/Fonts.png">
<action name="Execute">
<command>font-manager</command>
</action>
</item>
<menu id="office" label="FreeOffice" icon="/home/gandalfrank/Icone/FreeOffice.png">
<item label="PlanMaker" icon="/home/gandalfrank/Icone/PlanMaker.png">
<action name="Execute">
<command>freeoffice-planmaker</command>
</action>
</item>
<item label="Presentations" icon="/home/gandalfrank/Icone/Presentations.png">
<action name="Execute">
<command>freeoffice-presentations</command>
</action>
</item>
<item label="TextMaker" icon="/home/gandalfrank/Icone/TextMaker.png">
<action name="Execute">
<command>freeoffice-textmaker</command>
</action>
</item>
</menu>
<item label="GIMP" icon="~/Icone/GIMP.png">
<action name="Execute">
<command>gimp</command>
</action>
</item>
...
- Adesso è la volta del driver per la scheda wifi BroadComm BCM4331 del mio Mac Book Pro 13" del 2011:
$ yay -S b43-firmware
- Riavviare il sistema per rendere effettive le modifiche e autenticarsi nuovamente con il proprio utente:
$ reboot
archlinux login: gandalfrank
Password:
- Avviare OpenBox:
$ startx
- Usando LxTerminal controllare se adesso la scheda WiFi viene riconosciuta.
$ ip link 1: lo:mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp2s0f0: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 10:9a:dd:6e:fa:b4 brd ff:ff:ff:ff:ff:ff 3: wlp3s0b1: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether e0:f8:47:42:62:6c brd ff:ff:ff:ff:ff:ff
- Installazione riuscita. Adesso è apparsa la terza voce wlp3s0b1 che corrisponde alla scheda WiFi (la mia...). Adesso va configurata. Dapprima installare wpa-supplicant:
$ sudo pacman -S wpa_supplicant
[sudo] password di gandalfrank:
- Creare il file di configurazione /etc/systemd/network/25-wireless.network con nano:
$ sudo nano /etc/systemd/network/25-wireless.network
[Match] Name=wlp3s0b1 [Network) DHCP=yes [DHCPv4] RouteMetric=600 [IPv6AcceptRA] RouteMetric=600
- Creare il file di configurazione di wpa_supplicant:
$ sudo wpa_passphrase NOME_RETE_WiFi PASSWORD_DI_RETE > /etc/wpa_supplicant/wpa_supplicant.conf
- Eliminare la PASSWORD_DI_RETE che risulta in chiaro nel file appena creato:
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="NOME_RETE_WiFi"
#psk="PASSWORD_DI_RETE"
psk=6285080e311393454b7ab402ceadd22af9aba0a14456ddd499fa7374d3adfcf1
}
- Deve diventare:
network={ ssid="NOME_RETE_WiFi" psk=6285080e311393454b7ab402ceadd22af9aba0a14456ddd499fa7374d3adfcf1 }
- Creare e configurare il file /etc/systemd/system/wpa_supplicant.service:
$ sudo cp /lib/systemd/system/wpa_supplicant.service /etc/systemd/system/wpa_supplicant.service
$ sudo nano /etc/systemd/system/wpa_supplicant.service
[Unit]
Description=WPA supplicant
Before=network.target
After=dbus.service
Wants=network.target
IgnoreOnIsolate=true
[Service]
Type=dbus
BusName=fi.w1.wpa_supplicant1
ExecStart=/usr/bin/wpa_supplicant -u -s -O /run/wpa_supplicant
[Install]
WantedBy=multi-user.target
Alias=dbus-fi.w1.wpa_supplicant1.service
- Sostituire la ExecStart evidenziata di rosso in questo modo:
[Unit]
Description=WPA supplicant
Before=network.target
After=dbus.service
Wants=network.target
IgnoreOnIsolate=true
[Service]
Type=dbus
BusName=fi.w1.wpa_supplicant1
ExecStart=/usr/bin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlp3s0b1
Restart=always
[Install]
WantedBy=multi-user.target
Alias=dbus-fi.w1.wpa_supplicant1.service
- Abilitare wpa_supplicant.service:
$ sudo systemctl enable wpa_supplicant.service
Created symlink /etc/systemd/system/dbus-fi.w1.wpa_supplicant1.service → /etc/systemd/system/wpa_supplicant.service.
Created symlink /etc/systemd/system/multi-user.target.wants/wpa_supplicant.service → /etc/systemd/system/wpa_supplicant.service.
- Riavviare il sistema e autenticarsi nuovamente con il proprio utente:
$ reboot
archlinux login: gandalfrank
Password:
- Avviare OpenBox:
$ startx
- Scollegare il cavo Ethernet dal PC e verificare se la connessione WiFi funziona correttamente avviando Firefox.
- Installare i seguenti pacchetti usando LxTerminal:
$ sudo pacman -S lightdm
$ sudo pacman -S lightdm-gtk-greeter
$ sudo pacman -S accountsservice
- Abilitare il servizio lightdm.service:
$ sudo systemctl enable lightdm.service
Created symlink /etc/systemd/system/display-manager.service → /usr/lib/systemd/system/lightdm.service.
- Creare un'immagine png di 96x96 pixel (esempio gandalfrank.png) e copiarla nella directoty /var/lib/AccountsService/icons/gandalfrnk.png:
- Creare/modificare il file /var/lib/AccountsService/users/gandalfrank aggiungendo la seguente linea:
$ sudo nano /var/lib/AccountsService/users/gandalfrank
Icon=/var/lib/AccountsService/icons/gandalfrank.png
- Copiare l'immagine che farà da sfondo nella cartella /usr/share/pixmaps/sfondo.jpg:
- Modificare il file /etc/lightdm/lightdm-gtk-greeter.conf in questo modo:
$ sudo nano /etc/lightdm/lightdm-gtk-greeter.conf
... [greeter] background=/usr/share/pixmaps/sfondo.jpg ...
- Riavviare il sistema e autenticarsi nuovamente con il proprio utente, questa volta usando il menù e il login del display Manager:
- Per poter gestire l'immagine di fondo del desktop è necessario caricare all'avvio una piccola applicazione; pertanto aprire con nano il file ~/.config/openbox/autostart:
$ nano ~/.config/openbox/autostart
- Aggiungere il comando evidenziato in rosso nele codice sottostante::
#
# These things are run when an Openbox X Session is started.
# You may place a similar script in $HOME/.config/openbox/autostart
# to run user-specific things.
#
# If you want to use GNOME config tools...
#
#if test -x /usr/lib/openbox/gnome-settings-daemon >/dev/null; then
# /usr/lib/openbox/gnome-settings-daemon &
#elif which gnome-settings-daemon >/dev/null 2>&1; then
# gnome-settings-daemon &
#fi
# If you want to use XFCE config tools...
#
#xfce-mcs-manager &
pcmanfm --desktop &
- Al file ~/.config/openbox/menu.xml aggiungere la voce relativa alla gestione del Desktop in questo modo:
...
<item label="Vlc" icon="/home/gandalfrank/Icone/Vlc.png">
<action name="Execute">
<command>vlc</command>
</action>
</item>
<separator />
<item label="Desktop" icon="/home/gandalfrank/Icone/Desktop.png">
<action name="Execute">
<command>pcmanfm --desktop-pref</command>
</action>
</item>
<item label="OB Conf" icon="/home/gandalfrank/Icone/OBConf.png">
<action name="Execute">
<command>obconf</command>
</action>
</item>
...
- Nel menù fare Cliccare sulla voce Riconfigura Openbox:
- Riavviare il sistema usando il menu ed effettuare il login con il vostro utente:
- Cliccare-DX sullo schermo. Dal menu che appare scegliere la voce Preferenze della scrivania quindi sulla scheda Avanzate e mettere il segno di spunta sull'opzione "Mostra i menù forniti dai window manager quando si fa clic sulla scrivania".
- Da questo momento in poi, per cambiare sfondo alla scrivania, scegliere la voce Desktop dal menu e nella scheda Aspetto selezionare un'immagine per lo sfondo.
- Scaricare un tema dal sito GNOME-LOOK.org e decomprimerlo in /urs/share/grub/themes/.
- Aprire /etc/default/grub con nano:
$ sudo nano /etc/default/grub
- Decommentare, ossia togliere il simbolo del cancelletto [#], dalla linea che segue e al posto di NOME_TEMA inserire il nome della cartella che contiene il tema da usare:
GRUB_THEME="/usr/share/grub/themes/NOME_TEMA/theme.txt"
Quindi rigenerare il file di configurazione di Grub. Nell'output deve apparire la linea che conferma la corretta impostazione del tema (in azzurro nel testo sottostante):
$ sudo grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ... Found theme: /usr/share/grub/themes/devuan/theme.txt Found linux image: /boot/vmlinuz-linux Found initrd image: /boot/initramfs-linux.img Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img Warning: os-prober will not be executed to detect other bootable partitions. Systems on them will not be added to the GRUB boot configuration. Check GRUB_DISABLE_OS_PROBER documentation entry. Adding boot menu entry for UEFI Firmware Settings ... done
- Le icone del cestino sono entrambe file svg di 128x128 pixels e devono essere sostituite con altrettante immagini di eguali dimensioni e stesso formato.
Sono contenute in due cartelle distinte. Consiglio di rinominare le immagini originali con il suffisso OLD, o quello che volete, e assegnare il nome originale alle nuove.
Le due cartelle sono le seguenti:
/usr/share/icons/Adwaita/scalable/places/user-trash.svg
/usr/share/icons/Adwaita/scalable/status/user-trash-full.svg
E' necessario riavviare il PC per apprezzare le nuove immagini.
- Per l'installazione di uno strumento da usare con il terminale:
$ sudo pacman -S bluez
$ sudo pacman -S bluez-utils
- Per abilitare il servizio:
$ sudo systemctl enable bluetooth.service
Created symlink /etc/systemd/system/dbus-org.bluez.service → /usr/lib/systemd/system/bluetooth.service.
Created symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service → /usr/lib/systemd/system/bluetooth.service.
- Per una sommaria lista dei comandi di uso del Bluetooth consultare il File di Aiuto - Comandi Utili del quale farò menzione più avanti; per una guida più dettagliata riferirsi alla pagina di Arch - Bluetooth o alla pagina man ufficiale del sistema:
$ man bluetoothctl
- Installare il driver per il Touchpad:
$ sudo pacman -S libinput
- Installare la libreria per la configurazione delle gestures:
$ yay -S libinput-gestures
- Installare lo strumento per la modifica delle impostazioni:
$ sudo pacman -S xorg-xinput
- Modificare il file /usr/share/X11/xorg.conf.d/40-libinput.conf aggiungendo queste linee:
$ sudo nano /usr/share/X11/xorg.conf.d/40-libinput.conf
# Match on all types of devices but joysticks
#
# If you want to configure your devices, do not copy this file.
# Instead, use a config snippet that contains something like this:
#
# Section "InputClass"
# Identifier "something or other"
# MatchDriver "libinput"
#
# MatchIsTouchpad "on"
# ... other Match directives ...
# Option "someoption" "value"
# EndSection
#
# This applies the option any libinput device also matched by the other
# directives. See the xorg.conf(5) man page for more info on
# matching devices.
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "bcm5974"
Driver "libinput"
Option "Tapping" "true"
Option "NaturalScrolling" "false"
EndSection
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
...
...
- Dove bcm5974 è il nome della periferica, e le due Option sono recuperabili da man 4 libinput; inoltre i loro valori devono essere inseriti tra virgolette anche se si tratta di valori numerici.
Per recuperare il nome della periferica ho usato il comando dmesg cercando il termine bcm che è la contrazione di Broadcomm ossia il nome della scheda in mio possesso.
$ sudo dmesg | grep bcm [ 18.633353] bcma-pci-bridge 0000:03:00.0: bus0: Found chip with id 0x4331, rev 0x02 and package 0x09 [ 18.633397] bcma-pci-bridge 0000:03:00.0: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x25, class 0x0) [ 18.633429] bcma-pci-bridge 0000:03:00.0: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x1D, class 0x0) [ 18.633486] bcma-pci-bridge 0000:03:00.0: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x13, class 0x0) [ 18.683418] bcma-pci-bridge 0000:03:00.0: bus0: Bus registered [ 19.080291] input: bcm5974 as /devices/pci0000:00/0000:00:1a.7/usb3/3-1/3-1.2/3-1.2:1.2/input/input12 [ 19.080407] usbcore: registered new interface driver bcm5974 [ 21.287439] b43 bcma0:1 wlp3s0b1: renamed from wlan0
- Installare il programma:
$ yay -S macbook-lighter
- Creare il seguente file:
$ sudo nano /etc/udev/rules.d/90-backlight.rules
SUBSYSTEM=="backlight", ACTION=="add", \ RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness", \ RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
- Di seguito le istruzioni per la modifica della retro-illuminazione della tastiera [range valori 0-255].
- Aggiustamento automatico illuminazione
$ sudo systemctl start macbook-lighter
- Incrementare di 50 unità l'illuminazione
$ sudo macbook-lighter-kbd --inc 50
- Diminuire di 40 unità l'illuminazione
$ sudo macbook-lighter-kbd --dec 40
- OPPURE
$ sudo macbook-lighter-kbd --inc -40
- Impostare l'illuminazione al max
$ sudo macbook-lighter-kbd --max
- Impostare l'illuminazione al min
$ sudo macbook-lighter-kbd --min
- Installare il driver della scheda video:
$ sudo pacman -S xf86-video-intel
- Installare l'applicazione per la gestione della lumnosità dello schermo:
$ sudo pacman -S xorg-xbacklight
- E' necessario riavviare per poter modificare la luminosità dello schermo.
Istruzioni per la gestione della lumnosità dello schermo [range valori 0-100]:
- Impostare la luminosità al 67%:
$ xbacklight -set 67
- Impostare la luminosità al 100%:
$ xbacklight -set 100
- Impostare la luminosità allo 0%:
$ xbacklight -set 0
- Installare conky:
$ sudo pacman -S conky
- Nella HOME creare il file .conkyrc e copiarci queste linee:
$ nano ~/.conkyrc
conky.config = { alignment = 'top_right', background = false, border_width = 1, cpu_avg_samples = 2, default_color = '00ffff', default_outline_color = '999999', default_shade_color = 'white', double_buffer = true, draw_borders = true, draw_graph_borders = true, draw_outline = false, draw_shades = false, extra_newline = false, font = 'Courier:size=10', gap_x = 30, gap_y = 30, minimum_height = 5, minimum_width = 5, net_avg_samples = 2, no_buffers = true, out_to_console = false, out_to_ncurses = false, out_to_stderr = false, out_to_x = true, own_window = true, own_window_class = 'Conky', own_window_type = 'normal', show_graph_range = false, show_graph_scale = false, stippled_borders = 0, update_interval = 1.0, uppercase = false, use_spacer = 'none', use_xft = true, } conky.text = [[ ${font Courier:size=32}${color ffffff}${alignc}${voffset 10}${time %k:%M} ${font Courier:size=10}${color}${alignc}${voffset 10}${time %A %e %B %Y} ${font Arial:size=10}${color ff8800}${offset 5}C A L E N D A R ${hr 2}${font}${color} ${exec cal} ${font Arial:size=10}${color ff8800}${offset 5}S Y S T E M ${hr 2}${font} ${color ffffff}${offset 15}Hostname: ${color}${alignr}${nodename} ${color ffffff}${offset 15}OS: ${color}${alignr}${distribution} ${color ffffff}${offset 15}Kernel: ${color}${alignr}${kernel} ${color ffffff}${offset 15}Architecture: ${color}${alignr}${machine} ${color ffffff}${offset 15}Uptime: ${color}${alignr}${uptime} ${font Arial:size=10}${color ff8800}${offset 5}P E R F O R M A N C E ${hr 2}${font} ${color ffffff}${offset 15}Frequency: ${color}${alignr}${freq} MHz ${color ffffff}${offset 15}RAM: ${color}${alignr}${mem}/${memmax} ${color ffffff}${offset 15}Swap: ${color}${swapperc}%${alignr}${color ffff00}${swapbar 10,120} ${color ffffff}${offset 15}CPU: ${color}${cpu}%${alignr}${color ff0000}${cpubar 10,120} ${color ffffff}${offset 15}Battery: ${color}${battery_percent}% ${alignr}${color 00ff00}${battery_bar 10, 120 } ${font Arial:size=10}${color ff8800}${offset 5}N E T W O R K ${hr 2}${font} ${color ffffff}${offset 15}WiFi:${alignr}${color}${wireless_essid wlp3s0b1} ${color ffffff}${offset 15}Ethernet: ${alignr}${color}${if_existing /sys/class/net/enp2s0f0/operstate up}CONNESSO${else}${alignr}DISCONNESSO${endif} ${color ffffff}${offset 15}Bluetooth: ${alignr}${color}${if_running bluetoothd}ATTIVO${else}INATTIVO${endif} #${color ffffff}${offset 15}Architecture: ${alignr}${color}${exec hostnamectl | grep 'Architecture'| cut -c19-26} #${color ffffff}${offset 15}WiFi: ${alignr}${color}${if_existing /sys/class/net/wlp3s0b1/operstate up}${exec sudo iw dev | grep 'ssid '| cut -c8-19}${else}${alignr}NESSUNA${endif}${font} ]]
- Aprire il file ~/.config/openbox/autostart aggiungere il collegamento a conky:
$ nano ~/.config/opebox/autostart
#
# These things are run when an Openbox X Session is started.
# You may place a similar script in $HOME/.config/openbox/autostart
# to run user-specific things.
#
# If you want to use GNOME config tools...
#
#if test -x /usr/lib/openbox/gnome-settings-daemon >/dev/null; then
# /usr/lib/openbox/gnome-settings-daemon &
#elif which gnome-settings-daemon >/dev/null 2>&1; then
# gnome-settings-daemon &
#fi
# If you want to use XFCE config tools...
#
#xfce-mcs-manager &
pcmanfm --desktop &
conky &
- Le modifiche hanno effetto solo dopo un riavvio.
- Scaricare un nuovo font da siti come dafont.com o 1001freefonts.com e decomprimerli nella cartella ~/.local/share/fonts, quindi aggiornare la lista dei caratteri.
$ fc-cache
- Il colore di default delle cartelle nel terminale è blu e, a mio avviso, risulta difficile da leggere, preferisco cambiarlo con un colore più chiaro come il giallo.
- Inserire nel file ~/.bashrc la lista della configurazione dei colori di default:
$ dircolors -b >> ~/.bashrc
- Adesso editare il file con nano
$ nano ~/.bashrc
- Sostituire :di=01;34 che imposta il blu come colore per le directory con :di=01;93 che le colora di giallo.
LS_COLORS='rs=0:di=01;93:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:>
export LS_COLORS
- Riavviare il terminale per apprezzare le nuove impostazioni.
- Mi sono creato un file di testo contenente alcuni comandi che possono tornarmi utili e l'ho inserito nel menù in modo da poterlo consultare all'occorrenza.
$ nano ~/Aiuto/Comandi_Utili
SCORCIATOIE DA TASTIERA -------------------------------------------------------------------------------------------------------------------------------------------- Ctrl + Alt + F2 Avvia terminale F1 Browser Web F10 Menu applicaziojne attiva Cmd + Alt + Sx/Dx Scorre avanti/indietro finestra desktop Shift + Alt + Sx/DX Invia applicazione aperta al Desktop precedente/successivo Cmd + [F1, F2, F3, F4] Sceglie quale desktop aprire Cmd + d Nasconde tutto quello che sta sul desktop Alt + F4 Chiude Applicazione Alt + ESC Annulla Alt + Spazio Mostra menu finmestra Alt + TAB Scorrimento su tutte le applicazioni aperte Alt + Shift + TAB Scorrimento in ordine inverso su tutte le applicazioni aperte Cmd + Shift + Frecce Scorrimento su applicazioni in base alla posizione usando le frecce GESTIONE RETI -------------------------------------------------------------------------------------------------------------------------------------------- sudo ip link set enp2s0f0 up Avvia la rete ethernet sudo ip link set enp2s0f0 down Arresta la rete ethernet sudo ip link set wlp3s0b1 up Avvia la rete wifi sudo ip link set wlp3s0b1 down Arresta la rete wifi GESTIONE BLUETOOTH -------------------------------------------------------------------------------------------------------------------------------------------- sudo systemctl status bluetooth.service Fornisce informazioni sullo stato del servizio. sudo systemctl start bluetooth.service Avvia il servizio. sudo systemctl restart bluetooth.service Riavvia il servizio. sudo systemctl stop bluetooth.service Arresta il servizio. sudo systemctl enable bluetooth.service Abilita il servizio all'avvio del sistema. sudo systemctl disable bluetooth.service Disabilita il servizio dall'avvio del sistema. digitare bluetoothctl per entrare nella shell dei comandi del bluetooth discoverable on Attiva visibilità dell'interfaccia devices Lista dei dispositivi attivi scan on Ricerca del MAC del dispositivo voluto pair A1:B2:C3:D4:E5:F6 Associa il dispositivo voluto al sistema connect A1:B2:C3:D4:E5:F6 Connette un dispositivo già associato paired-devices Lista dei dispositivi associati archiviati trust A1:B2:C3:D4:E5:F6 Assegna fiducia al dispositivo untrust A1:B2:C3:D4:E5:F6 Rimuove fiducia al dispositivo remove A1:B2:C3:D4:E5:F6 Dissocia il dispositivo voluto al sistema disconnect A1:B2:C3:D4:E5:F6 Disconnette un dispositivo dal sistema block A1:B2:C3:D4:E5:F6 Blocca il dispositivo a connettersi al sistema unblock A1:B2:C3:D4:E5:F6 Sblocca il dispositivo a connettersi al sistema help Elenco comandi della shell IMPOSTAZIONE GESTURES -------------------------------------------------------------------------------------------------------------------------------------------- xinput set-prop "bcm5974" "libinput Tapping Enabled" 1 Abilita il tap per il click xinput set-prop "bcm5974" "libinput Natural Scrolling Enabled" 0 Disabilita lo scrolling naturale xinput list-props "bcm5974" Elenca le proprietà del touchpad del mac xinput list Elenca tutte le periferiche interessate da libinput GESTIONE RETROILLUMINAZINE TASTIERA -------------------------------------------------------------------------------------------------------------------------------------------- [valori 0-255] sudo systemctl start macbook-lighter Avvia l'auto-bilanciamento macbook-lighter-kbd --inc 50 Incrementa la luminosità di 50 macbook-lighter-kbd --dec 40 Diminuisce la luminosità di 40 macbook-lighter-kbd --max Imposta la luminosità al max macbook-lighter-kbd --min Imposta la luminosità al min GESTIONE ILLUMNAZIONE SCHERMO -------------------------------------------------------------------------------------------------------------------------------------------- [valori 0-100%] xbacklight -set 100 Imposta la retroilluminazione dello schermo al 100% xbacklight -set 67 Imposta la retroilluminazione dello schermo al 67% xbacklight -set 0 Imposta la retroilluminazione dello schermo allo 0% USO PACMAN -------------------------------------------------------------------------------------------------------------------------------------------- pacman -Sy Aggiorna i repository pacman -Su Aggiorna Arch pacman -Syu Aggiorna i repository & Arch pacman -Ss nome_pacchetto Cerca "nome_pacchetto" nei repository pacman -Qs nome_pacchetto Cerca "nome_pacchetto" fra i programmi installati pacman -S nome_pacchetto Installa/aggiorna "nome_pacchetto" pacman -U nome_pacchetto.pkg.tar.xz Installa un pacchetto precedentemente scaricato di nome "nome_pacchetto" pacman -U http://www.esempio.com/repo/esempio.pkg.tar.xz Installa un pacchetto scaricandolo da un link pacman -R nome_pacchetto Rimuove il pacchetto "nome_pacchetto" pacman -Rs nome_pacchetto Rimuove un pacchetto e tutte le sue dipendenze inutilizzate pacman -Rs $(pacman -Qtdq) Rimuove pacchetti inutilizzati YAY -------------------------------------------------------------------------------------------------------------------------------------------- yay nome_pacchetto Cerca "nome_pacchetto" yay -Ss nome_pacchetto Cerca "nome_pacchetto" nei repository e su AUR yay -S nome_pacchetto Installa "nome_pacchetto" yay -G nome_pacchetto Ottiene solo il PKGBUILD di nome_pacchetto yay -R nome_pacchetto Rimuove "nome_pacchetto" yay -Rns nome_pacchetto Rimuove un pacchetto e tutte le sue dipendenze yay -Yc Rimuove pacchetti inutilizzati GIT -------------------------------------------------------------------------------------------------------------------------------------------- git clone [nome pacchetto aur.git] cd NOME_DIRECTORY makepkg -si DATI BATTERIA -------------------------------------------------------------------------------------------------------------------------------------------- cat /sys/class/power_supply/BAT0/uevent Informazioni sulla batteria cat /sys/class/power_supply/BAT0/capacity Percentuale di carica della batteria
- Infine ho scaricato dal sito di Arch una serie di link ad argomenti inerenti questa installazione (OpenBox, Grub, Systemd, wpa-supplicant...) e li ho salvati direttamente nella cartella ~/Aiuto in modo da poterli consultare anche in assenza di internet.
- Aggiungere al file ~/.config/openbox/menu.xml le seguenti linee collocandole come ultima voce delle applicazioni, subito dopo Vlc:
<menu id="aiuto" label="Aiuto" icon="/home/gandalfrank/Icone/Aiuto.png"> <item label="AUR" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Arch_User_Repository.html</command> </action> </item> <item label="Backlight" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Backlight.html</command> </action> </item> <item label="Bluetooth" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Bluetooth.html</command> </action> </item> <item label="File Manager Functionality" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/File_manager_functionality.html</command> </action> </item> <item label="General recommendations" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/General_recommendations.html</command> </action> </item> <item label="GRUB" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/GRUB.html</command> </action> </item> <item label="GRUB tips and tricks" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/GRUB_tips_and_tricks.html</command> </action> </item> <item label="Installation guide" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Installation_guide.html</command> </action> </item> <item label="Keyboard backlight" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Keyboard_backlight.html</command> </action> </item> <item label="libinput" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/libinput.html</command> </action> </item> <item label="LightDM" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/LightDM.html</command> </action> </item> <item label="List of applications" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/List_of_applications.html</command> </action> </item> <item label="List of games" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/List_of_games.html</command> </action> </item> <item label="MacBookPro8,x" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/MacBookPro8,x.html</command> </action> </item> <item label="Network configuration" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Network_configuration.html</command> </action> </item> <item label="Network configuration Ethernet" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Network_configuration_Ethernet.html</command> </action> </item> <item label="Network configuration Wireless" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Network_configuration_Wireless.html</command> </action> </item> <item label="Official repositories" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Official_repositories.html</command> </action> </item> <item label="Openbox" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/Openbox.html</command> </action> </item> <item label="pacman" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/pacman.html</command> </action> </item> <item label="PCManFM" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/PCManFM.html</command> </action> </item> <item label="systemd" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/systemd.html</command> </action> </item> <item label="systemd-boot" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/systemd-boot.html</command> </action> </item> <item label="systemd-networkd" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/systemd-networkd.html</command> </action> </item> <item label="systemd-resolved" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/systemd-resolved.html</command> </action> </item> <item label="udisks" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/udisks.html</command> </action> </item> <item label="wpa__supplicant" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/wpa_supplicant.html</command> </action> </item> <item label="xinput" icon="/home/gandalfrank/Icone/Manuale.png"> <action name="Execute"> <command>firefox /home/gandalfrank/Aiuto/xinput.html</command> </action> </item> <item label="Comandi Utili" icon="/home/gandalfrank/Icone/Appunti.png"> <action name="Execute"> <command>mousepad /home/gandalfrank/Aiuto/Comandi_Utili</command> </action> </item> </menu>
- E questo è tutto.