Passa al contenuto principale

Customizzazione del desktop

· 3 minuti di lettura
Piero Proietti
penguins-eggs author
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Partiamo dal desktop standard ed andiamo a modificare, in maniera arbitraria sia lo sfondo che la posizione del menu portando il basso. desktop-custom

Se, però andiamo a creare un nuovo utente avremo però SEMPRE la configurazione di default. desktop-standard

La configurazione di default in Linux risiede in /etc/skel ed è quindi qua che dobbiamo intervenire.

Abbiamo più strade:

  • creare un clone, tutti gli utenti ed i dati verranno copiati;
  • copiare la home dell'utente configurato direttamente in /etc/skel;
  • copiare in skel solo le modifiche necessarie alla nostra customizzazione.

Creare un clone con eggs

Utilizzando in produce l'opzione --clone, le home degli utenti saranno salvate sulla iso e reinstallate con krill.

sudo eggs produce --fast --clone

Sicuramente la più semplice ed infallibile, lo svantaggio è che copia tutti i nostri dati. Si potrebbe, forse, creare un utente denominato skel ed aggiungere un parametro per clonare solo quello.

Copiare tutto in /etc/skel

E' una soluzione un po' barbara ma ci può stare in alcuni casi. Semplicemente basterà un:

cp /home/artisan/* /etc/skel -R

Copiare solo il necessario

eggs, sulla scia di remastersys possiede un comando eggs tools skel che permette la selezione dei file di customizzazione del desktop.

Questo è un problema abbastanza complesso, considerando che esistono numerosi desktop ed ognuno ha le proprie configurazioni. Per i più conosciuti però la situazione è abbastanza soddisfacente e, con il necessario feedback, può ancora migliorare.

Quindi dando: sudo eggs tools skel eggs selezionerà i file di xfce, kde o gnome a seconda del desktop presenete e li copierà in /etc/skel, evitando però di copiare anche gli eventuali dati presenti nella home.

Ci possono però essere dei problemi, specie se si sono utilizzati icone ed background presenti solo nella home e non nelle directory canoniche: /usr/share/icons ed /usr/share/backgrounds.

Mettere delle lezioni sul Desktop

In un caso come questo nel quale stiamo operando solo in italiano, si possono inserire le lezioni direttamente in /etc/skel/Scrivania, queste verrebbero copiate per ogni nuovo utente.

Anche qua, vale lo stesso discorso, si possono trovare soluzioni migliori solo con l’uso e l’esperienza. Ad esempio inserire le lezioni in una cartella come /usr/share/local/lezioni ed solo un link in /etc/skel/Scrivania ci risparmierrebbe copie multiple, ma questo è ben più valido per le icone ed i temi utilizzati - non di rado pesanti - a livello di occupazione disco.

Conclusioni

Spero di essere stato abbastanza chiaro e che eggs possa esserti utile per l'installazione di Linux nelle scuole, per me sarebbe un grande onore rientrarci - in qualche modo - da "anziano" e, naturalmente, fonte di esperienze, suggerimenti e possibili collaborazioni.

Rimasterizzare xubuntu per una scuola

· 4 minuti di lettura
Piero Proietti
penguins-eggs author
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

xubuntu 22.04 è una LTS e ben si presta, per la sua leggerezza, ad essere rimasterizzata ed utilizzata per installazioni multiple, come ad esempio una scuola.

Vediamo i passi.

Poco da dire, ci si scarica la versione xubuntu-22.04 e la si installa con la normale procedura.

Una volta riavviata, si procede ad un aggiornamento totale, tramite:

apt update
apt full-upgrade

A questo punto si riavvia. Se si vuole una iso "più snella" si possono cancellare i kernel precedenti con sudo apt purge linux-image-5.0.15-x-generic dove al posto della x va messa la versione del kernel da rimuovere, rilevabile con un semplice ls /boot.

Fate attenzione naturalmente a non rimuovere il kernel in uso, ma sarete comumque avvisati dal sistema.

Potete dare, sempre per maggiore "pulizia" anche un sudo apt autoremove.

installazione di eggs

La nostra macchine è stata aggiornata e riavviata. Procediamo con l'installazione di eggs che potete scaricate sulla pagina penguins-eggs di sourceforge.

Una volta scaricato eggs, procediamo all'installazione:

sudo dpkg -i eggs_9.3.23_amd64.deb

Vi usciranno degli errori per dipendenze non soddisfatte, basterà dare in comando:

sudo apt install -f

OK, a questo punto eggs è installato

configurazione di eggs

eggs ha due helper: mom e dad.

eggs mom ci mostra tutti i comandi disponibili ed il link per sito, manuale e repository, mentre dad cura la configurazione.

eggs-mom

Si rimanda quindi al manuale, qua - in soldoni - date il comando:

sudo eggs dad -d

che vi configura eggs in modalità default.

produzione della iso

Per creare la iso, utilizziamo eggs produce senza alcun flag, riservandoci di creare la iso con l'opzione --max solo quando saremo sicuri del risultato finale. Questo ci darà un grosso guadagno di tempo.

sudo eggs produce --addons adapt

Ho utilizzato qui anche --addons adapt, questo addon crea semplicemente un link sul desktop per ridimensionare il monitor. E' utile e consigliato solo per iso che dovranno essere utilizzate su macchine virtuali.

eggs, poichè stiamo lavorando su una macchine con interfaccia grafica ci chiederà di installare calamares. Dato che vogliamo una iso installabile unattended possiamo anche evitare di installare calamares.

installazione

Ottenuta la iso ed installata su una chiavetta usb, magari utilizzando Ventoy, possiamo passare all'installazione.

Avviamo, quindi da chiavetta e selezioniamo la seconda riga del boot per interfaccia CLI.

boot cli

Come si può vedere ci siamo loggati automaticamente ed il sistema ci da le principali indicazioni: utente/password, password di root, indicazioni per l'installazione.

Passiamo senz'alto all'installazione, come detto la vogliamo unattended e, presumibilmente in italiano.

sudo eggs install --config it -n

Notate che se avessimo utilizzato:

sudo eggs install --unattended -n

la configurazione andrebbe su inglese/americano e, d'altra parte bisogna accontentare tutti!

Qualche minuto - forse uno o due - e l'installazione è finita. La macchina esegue autonomamente il reboot e si può accedere con l'user e la password indicati.

Normalmente user: artisan password: evolution, root password evolution.

L'host verrà denominato con lo stesso nome per tutte le installazioni e naturalmente questo è un problema in una rete. Per ovviare abbiamo la possibiltà di usare le opzioni --ip o --random che renderanno univoche le nostre installazioni.

installazione dei restanti computer con PXE

Avviamo la iso sulla macchina che fungerà da server PXE e diamo il comando:

sudo eggs cuckoo

A questo punto avviamo gli altri computer via PXE

boot cli

Il gioco è fatto!

Abbreviamo la corsa...

Questa mattina, allo scopo di scrivere questo articolo ho aggiornato sia la versione di ubuntu che quella di xubuntu, aggiungendo a quest'ultima i pacchetti per la lingua italiana.

Potete trovare entrambe le iso sulla pagina penguins-eggs.

Warbler: plasma/wayland/waydroid

· 2 minuti di lettura
Piero Proietti
penguins-eggs author
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

This is the second version of this experiment, the first - a year ago - was just named waydroid. It's a temptative to create a slim ISO to be used for develpment.

There is a motivation on the lacks of sddm in this system, unfortunately sddm bring dependencies from X11 almost in this version I'm using from Debian/bookworm.

That you get

  • waydroid
  • lineage-18.1-20230121-VANILLA-waydroid_x86_64 system.img (766 MB)
  • lineage-18.1-20230121-MAINLINE-waydroid_x86_64 vendor.img (165 MB)
  • vscode, node, git and necessary to develop
  • firmwares wifi cards (you can ask for more additions)

how to install

WARNING: the installer will completely erase your hard drive

The live is autologin, just look the instructions in console.

sudo eggs install --unattended

update

Actually I build the same image addind sddm and some others packages, so it's possible to use calamares for installation.

how to use

startplasma-wayland to get the GUI, click on waydroid to run it.

how to remaster

This system can be easily remastered with eggs:

sudo eggs produce --fast

You will get an iso of your system, without you user data.

sudo eggs produce --fast --clone

You will get an iso of your system, with you user data.

enjoy!

piero.proietti@gmail.com

download

eggs-of-debian-bookworm-warbler

dressing a warbler

This is how warbler is made, and how you can change it's definition on YAML.

dressing a colibri

I'm using eggs with wardrobe to take tracks of my way and consolidate it. This is my workstation: colibri, we can do that also for warbler.

warbler Photo by Biillyboy

XFCE4 wayland on Debian

· 2 minuti di lettura
Piero Proietti
penguins-eggs author
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Download the last "naked" version of bookworm from sf

Start it, you will autologin in CLI.

sudo eggs install --unattended

Attention: will use all your hard disk /dev/sda

After a while, your system is installed: artisan/evolution root/evolution

sudo apt install openssh-server
ip a

Open the following pages:

from terminal

Connect to the VM, to have cut and copy:

ssh artisan@192.168.1.x

clone the repo

git clone https://github.com/adlocode/xfwm4
cd xfwm4
git checkout wayland

install development tools

sudo install cmake meson pkg-config

Install prerequisites

# NO sudo apt install libwlroots10

sudo apt install weston

sudo apt install libcairo*
sudo apt install libwnck-3*
sudo apt install libbsd*

sudo apt install \
libgtk-3-dev \
libwlroots-dev \
libwnck-3-0 \
libxfce4ui-2-0 \
libxfce4ui-2-dev \
libxfce4util-dev
libxfce4util-1.0 \
gir1.2-libxfce4util-1.0

apt install xwayland

compile and install

$ meson setup build
$ ninja -C build
$ sudo ninja -C build install

start

I tryed

weston

open a terminal and:

xfwm-wayland

with not so much success!!!

xfwm-wayland

Download image (about 800K)

I did an iso image of that experiment: egg-of-debian-bookworm-xfwm4

You can download it from sf

Note

You can now install this iso, the bug was correct.

OEM installation

· 3 minuti di lettura
Piero Proietti
penguins-eggs author
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

Sto valutando la possibilità di inserire una installazione OEM all'interno di krill per semplificare il processo di distribuzione di versioni verticali di Linux.

krill, semplice installer CLI si presta bene allo scopo ed ho già provveduto nella ultima versione e rimuovere e ripulire il codice per espitare la nuova caratteristica.

Al momento, una rimasterizzazione fatta con eggs, avviata da ISO presenta la seguente schermata di boot.

boot

Se andiamo a scegliere il menu CLI (Commond Line Interface), ci troviamo dentro al sistema come utente live ed abbiamo un breve motd che ci illustra le opzioni possibili:

motd

Quello che ho già fatto è permettere una configurazione custom configurabile attraverso un semplice file YAML.

La configurazione va - per adesso - posta nel repository penguins-wardrobe sotto la directory config. Questo in futuro potrà cambiare, ma al momento è necessario:

  • eseguire il fork della repositori penguins-wardrobe per il proprio utente, ad esempio: charlie;
  • clonare la repository: git clone https://github.com/charlie/penguins-wardrobe;
  • creare la propria configurazione in /config semplicemente copiando e modificando una configurazione esistente. Ad esempio: charlie.yaml;
  • creare una PR ed avvisarmi perchè sia accettata.

A questo punto, dando il comando:

sudo eggs install --custom charlie

La configurazione di charlie verrà automaticamente impostata su ogni macchina in installazione.

Per procedere ad una installazione OEM il passo dovrebbe essere relativamente breve, occorre però creare un programma che configuri la macchine al primo avvio e predisporre krill per l'installazione di quest'ultimo.

Abbiamo due scelte possibili: utilizzare calamares - ovviamente con una configurazione differente - oppure realizzare un software ad hoc.

Al momento propendo per la seconda ipotesi, anche se a prima vista potrebbe apparire ridondante, infatti sono spaventato dal dover gestire due set di configurazioni di calamares ognuna per ogni versione.

L'idea è quella di aggiungere un ulteriore animale marino alle specie presenti, quindi diciamo che andando verso seppia che verrebbe realizzato in base alla mia esperienza come una applicazione electron e - quindi - sempre nodejs, typescript e varie, con l'aggiunta però di una interfaccia grafica.

Scrivere seppia in questo modo dovrebbe permettere anche una semplice customizzazione a chi volesse realizzare delle versioni proprie.

Collaborazioni

Naturalmente chi può e vuole può offrire la propria collaborazione: serviranno grafici - io non sono per nulla esperto - ma anche persone che abbiano già esperienza con electron, incoraggiamenti, consigli e magari donazioni - la mia stazione di lavoro è ormai vecchiotta - naturalmente tutto sarà ben accetto.

Bene, adesso a caccia di seppie!

seppia

eggs and cuckoos

· 3 minuti di lettura
Piero Proietti
penguins-eggs author
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

eggs-and-cuckoos

Nella foto di David Viani, vediamo un codirosso (a destra) che nutre un “piccolo” cuculo (a sinistra), decisamente più grande del genitore adottivo.

Uno dei motivi per crearsi una propria versione di Linux può essere quello di utilizzarlo su numerose postazioni, all'interno di un Ente, di una azienda o di una scuola.

Sicuramente il metodo migliore per effettuare un gran numero di installazioni è quello di utilizzare un server PXE che avvii le macchine della rete e consenta una installazione più veloce del DVD o della chiavetta.

D'altra parte, La configurazione di un server PXE richiede tempo ed esperienza e non è sempre disponibile, l'immagine iso del sistema da installare si.

Ecco, in eggs abbiamo aggiunto un server PXE autoconfigurante che vi permette tranquillamente di installare contemporaneamente più macchine semplicemebte avviandole dalla rete.

Avvio del server PXE

Tutto quello che c'è da fare è avviare una live della distribuzione rimasterizzata con eggs, aprire una finestra di terminale ed avviare il comando: sudo eggs cuckoo. A questo punto la macchina si comporterà da server di boot per la nostra rete locale e noi potremo avviare altri computer utilizzando la rete locale stessa.

eggs-and-cuckoos

Avvio delle macchine da installare

Bisognerà entrare necessariamente nella configurazione BIOS del sistema ed abilitare il boot dalla scheda di rete, nomarlmente dovrete abilitare PXE sulla scheda di rete e controllare le priorità di avvio.

A questo punto, avviate la vostra macchina selezionando il boot da rete:

eggs-and-cuckoos

Selezionando la prima opzione, verrà caricato il sistema operativo contenuto nella immagine, nel nostro caso una versione di MX Linux21.x rimasterizzata con eggs.

eggs-and-cuckoos

Non resta altro che effettuare l'installazione potremo scegliere sia calamares

eggs-and-cuckoos

che l'installazione con krill: sudo eggs install --unattended

eggs-and-cuckoos

Per l'installazione unattended sono disponibili alcuni flag:

ommand-line system installer - the egg became a penguin!

USAGE
$ eggs install [-u] [-i] [-r] [-d <value>] [-S] [-s] [-n] [-k] [-p]
[-h] [-v]

FLAGS
-S, --suspend Swap suspend: RAM x 2
-d, --domain=<value> Domain name, defult: .local
-h, --help Show CLI help.
-i, --ip hostname as ip, eg: ip-192-168-1-33
-k, --crypted Crypted CLI installation
-n, --none Swap none: 256M
-p, --pve Proxmox VE install
-r, --random Add random to hostname, eg: colibri-ay412dt
-s, --small Swap small: RAM
-u, --unattended Unattended installation
-v, --verbose Verbose

DESCRIPTION
command-line system installer - the egg became a penguin!

EXAMPLES
$ eggs install
Install the system using krill installer

che consentono facilmente installazioni multiple.

Commenti: Facebook group. Telegram, Github issue

eggs 9.3.x manual

· Lettura di 1 minuto
Piero Proietti
penguins-eggs author
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

The move to eggs 9.3.x was mainly characterized by the introduction and improvement of the cuckoo command to get a PXE server directly from our live. While previously I used dnsmasq to get services proxy-dhcpd and dhcpd, actually thanks to FOGProject/node-dhcproxy we use just node and only a proxy-dhcpd service.

Having found that due to a grub problem, the field next from the dhcp offer of the proxy-dhcpd server was not read, we switched to using the more versatile ipxe as a network bootloader.

So it is no longer necessary to have an option for a real dhcpd service in the cuckoo command and we do not risk overlapping the network dhcpd.

Another novelty is the introduction of the command: eggs tools ppa which adds or removes the penguins-eggs-ppa repository to our apt sources list. Example:

sudo eggs tools ppa --add

Original edition of the eggs manual is released in Italian, of course other languages can be accessed using machine translation.

eggs-linuxfs-installed-via-pxe

Community choice badge

· Lettura di 1 minuto
Piero Proietti
penguins-eggs author
Deutsch English Español  Français Italiano Polska  Portuguese  Български  Русский  Українська  やまと  中国  فارسی 

community-choice

Hi Piero Proietti,

Congratulations! Penguins' eggs has just been recognized with a Community Choice award by SourceForge. This honor is awarded only to select projects that have reached significant milestones in terms of downloads and user engagement from the SourceForge community.

This is a big achievement, as your project has qualified for this award out of over 500,000 open source projects on SourceForge. SourceForge sees nearly 30 million users per month looking for, and developing, open source software. This award badge will now appear on your project page, and the award assets can be found in your project admin section.

To recognize Penguins' eggs achievement, we’ve awarded you with the Community Choice award, which you can see below:

<!-- Begin SF Tag -->
<div class="sf-root" data-id="2912322" data-badge="oss-community-choice-white" data-metadata="achievement=oss-community-choice" style="width:125px">
<a href="https://sourceforge.net/projects/penguins-eggs/" target="_blank">Penguin's eggs</a>
</div>
<script>(function () {var sc=document.createElement('script');sc.async=true;sc.src='https://b.sf-syn.com/badge_js?sf_id=2912322';var p=document.getElementsByTagName('script')[0];p.parentNode.insertBefore(sc, p);})();
</script>
<!-- End SF Tag -->