Attivare systemd su Chromebook: guida pratica
Attivare systemd su Chromebook permette di gestire i servizi Linux con comandi come systemctl, proprio come su una normale distribuzione Debian. La funzione riguarda l’ambiente Linux integrato di ChromeOS, chiamato anche Crostini, e non il sistema ChromeOS principale. Dopo l’attivazione è possibile installare servizi come Nginx, OpenSSH o PostgreSQL e configurarli per l’avvio automatico del contenitore Linux. L’avvio avviene quando l’ambiente Linux viene avviato, non necessariamente subito dopo l’accensione del Chromebook.
Requisiti per attivare systemd su Chromebook
Systemd è disponibile nell’ambiente Linux di ChromeOS sui dispositivi e sulle versioni di ChromeOS che includono l’opzione dedicata nelle impostazioni. È necessario avere un contenitore Linux basato normalmente su Debian, con spazio sufficiente per installare pacchetti e servizi.
Prima di procedere, verifica questi requisiti:
- Chromebook aggiornato a una versione recente di ChromeOS.
- Ambiente Linux già attivato.
- Permessi per modificare le impostazioni degli sviluppatori.
- Contenitore Linux non gestito da una policy aziendale o scolastica che disabilita systemd.
- Spazio libero sufficiente per i servizi e i relativi dati.
Per controllare se Linux è già disponibile, apri Impostazioni, entra in Avanzate e seleziona Sviluppatori. Nella sezione Ambiente di sviluppo Linux deve essere presente un terminale Linux già configurato. Se l’ambiente non esiste, seleziona Attiva, completa la procedura guidata e attendi la creazione del contenitore.
La voce per systemd può avere nomi leggermente diversi in base alla lingua e alla versione di ChromeOS. In genere si trova nelle impostazioni dell’ambiente Linux con l’etichetta Consenti a Linux di usare systemd oppure Abilita systemd.
Come attivare systemd dalle impostazioni di ChromeOS
Aprire le opzioni dell’ambiente Linux
Apri l’app Impostazioni di ChromeOS, seleziona Avanzate, quindi Sviluppatori. Individua il riquadro Ambiente di sviluppo Linux e apri le relative impostazioni.
Nella schermata dell’ambiente Linux cerca la sezione dedicata allo sviluppo o alle opzioni avanzate. Se compare l’interruttore Consenti a Linux di usare systemd, attivalo. ChromeOS potrebbe mostrare un avviso e chiedere il riavvio del contenitore Linux.
Riavviare il contenitore Linux
Chiudi il terminale Linux e tutte le applicazioni che utilizzano l’ambiente Linux. Torna nelle impostazioni dell’ambiente Linux e usa l’opzione per arrestare il contenitore, se disponibile. In alternativa, riavvia il Chromebook per assicurarti che la modifica venga applicata.
Dopo il riavvio, apri nuovamente Terminale. L’attivazione di systemd viene applicata al contenitore Linux, mentre ChromeOS continua a funzionare con il proprio sistema di avvio separato.
Se l’opzione non compare, aggiorna ChromeOS da Impostazioni > Informazioni su ChromeOS > Controlla aggiornamenti. Su Chromebook gestiti da un’organizzazione, l’amministratore può impedire l’attivazione di systemd; in questo caso non è consigliabile modificare manualmente i file interni del contenitore.
Come verificare che systemd funzioni
Apri il terminale Linux e controlla lo stato del sistema con systemctl:
systemctl is-system-running
Un risultato come running, degraded o starting indica che systemd è attivo. Il valore degraded significa che almeno un’unità non è stata avviata correttamente, ma non implica necessariamente che systemd sia inutilizzabile.
Per visualizzare la versione in uso:
systemd --version
Per vedere i servizi che hanno avuto problemi:
systemctl --failed
Se il terminale restituisce un errore simile a “System has not been booted with systemd as init system”, l’opzione non è stata attivata oppure il contenitore non è stato riavviato dopo la modifica. In questa situazione ripeti l’arresto del contenitore e riapri l’ambiente Linux.
Systemd gestisce il contenitore Linux, non i processi interni di ChromeOS. Per questo motivo comandi come systemctl reboot o alcune operazioni legate all’arresto del sistema possono comportarsi diversamente rispetto a un’installazione Debian su un computer tradizionale.
Come avviare automaticamente un servizio Linux
Per configurare un servizio, installa prima il relativo pacchetto. Questo esempio installa Nginx:
sudo apt update sudo apt install nginx
Avvia subito il servizio e registralo per l’avvio automatico:
sudo systemctl enable --now nginx
L’opzione enable crea i collegamenti necessari per avviare Nginx quando systemd inizializza il contenitore. L’opzione --now avvia il servizio immediatamente, senza obbligare a riavviare Linux.
Controlla lo stato del servizio con:
systemctl status nginx
Per una verifica più sintetica puoi usare:
systemctl is-enabled nginx systemctl is-active nginx
Il primo comando deve restituire enabled, mentre il secondo deve restituire active. Se il servizio non parte, visualizza i messaggi recenti con:
journalctl -u nginx --no-pager -n 50
Lo stesso metodo funziona con molti altri servizi Linux, sostituendo nginx con il nome corretto dell’unità:
sudo systemctl enable --now ssh
sudo systemctl enable --now postgresql
Il nome dell’unità non coincide sempre esattamente con quello del programma installato. Per cercare i servizi disponibili puoi usare:
systemctl list-unit-files --type=service
Per impedire l’avvio automatico di un servizio:
sudo systemctl disable --now nginx
Il comando disable rimuove l’avvio automatico, mentre --now arresta anche il servizio già in esecuzione.
Cosa aspettarsi dall’avvio automatico su Chromebook
Attivare systemd su Chromebook non significa avviare tutti i servizi Linux durante l’accensione di ChromeOS. Il contenitore Linux di Crostini viene normalmente avviato quando un’app Linux, il terminale o un’altra funzione dell’ambiente Linux ne richiede l’utilizzo.
Di conseguenza, un servizio configurato con systemctl enable parte automaticamente quando il contenitore Linux viene avviato. ChromeOS può arrestare il contenitore quando non è più utilizzato, soprattutto per ridurre il consumo di memoria e batteria.
Se il servizio deve essere raggiungibile dalla rete locale, l’avvio automatico non è l’unico requisito. È necessario verificare anche la porta utilizzata, il firewall del servizio e le funzioni di inoltro porte disponibili nelle impostazioni Linux di ChromeOS. Un server web in ascolto sulla porta 80, per esempio, non diventa automaticamente accessibile da altri dispositivi della rete.
Per controllare le porte in ascolto nel contenitore:
sudo ss -tulpn
Per i servizi eseguiti esclusivamente dall’utente esiste anche la variante systemctl --user, ma il loro avvio dipende dalla sessione utente e dalla configurazione del contenitore. Per servizi sempre attivi è generalmente più affidabile usare un’unità systemd di sistema e abilitarla con sudo systemctl enable.
Se installi un’unità personalizzata in /etc/systemd/system/, ricarica la configurazione prima di abilitarla:
sudo systemctl daemon-reload sudo systemctl enable --now nome-servizio.service
Sostituisci nome-servizio.service con il nome effettivo del file. Un’unità personalizzata deve indicare correttamente comando di avvio, dipendenze e utente di esecuzione; un errore nel file impedisce a systemd di avviare il processo.
Per approfondire le impostazioni ufficiali dell’ambiente Linux, consulta la documentazione di assistenza Chromebook.
Attivare systemd su Chromebook è utile per trasformare il contenitore Linux in un ambiente più adatto a server locali, sviluppo e automazioni, tenendo presente il suo ciclo di avvio indipendente da ChromeOS.
FAQ
Systemd non è stato attivato oppure il contenitore Linux non è stato riavviato dopo aver abilitato l’opzione nelle impostazioni di ChromeOS.
No. I servizi abilitati partono quando viene avviato il contenitore Linux, che ChromeOS può inizializzare solo quando un’app Linux o il terminale ne richiede l’utilizzo.
Installa Nginx e usa sudo systemctl enable --now nginx. Verifica poi il risultato con systemctl is-enabled nginx e systemctl is-active nginx.
Dipende dalle policy applicate dall’amministratore. Se l’opzione è assente o non modificabile, l’ambiente Linux gestito potrebbe impedire l’attivazione.
Usa sudo systemctl disable --now nome-servizio, sostituendo il nome con quello dell’unità da disattivare.
Altri articoli di questa serie:
- Installare Flatpak su Chromebook: guida pratica
- Wine su Chromebook: installare programmi Windows
- Installare Docker su Chromebook: guida e fix
- Configurare lingua Linux su Chromebook: tutorial
- Installare font Linux su Chromebook: procedura rapida
- Personalizzare Terminale Linux Chromebook: alias e prompt
- Avvio automatico app Linux su Chromebook
- Configurare stampante Linux su Chromebook con CUPS
- Inoltro porte Linux Chromebook: sito locale
- DNS Linux Chromebook: risolvere gli errori passo passo
- Come configurare proxy su Chromebook e Linux
- IP statico Chromebook: configurarlo sul Wi-Fi
- App predefinite Android Chromebook: guida pratica
- Cambiare lingua app Android Chromebook: procedura
- Widget Android su Chromebook: come aggiungerli
- Schermo diviso Android Chromebook: due app affiancate
- Configurare Phone Hub Chromebook: tutorial passo-passo
- Gestire utenti Chromebook: profili e ospite sicuri
- Diagnostica hardware Chromebook: test passo passo
