Connect with us

Linux

Come cambiare la destinazione di avvio in testo o GUI in systemd Linux


mLa più moderna distribuzione Linux utilizza systemd come sostituzione di init. È una suite di elementi costitutivi di base per distribuzioni Linux come RHEL/CentOS & co, OpenSUSE/SUSE, Fedora, Arch, Debian, Ubuntu e altro. Per impostazione predefinita, la maggior parte delle distro si avvia nella GUI, ma è possibile passare al testo o viceversa.

La versione precedente delle distribuzioni Linux arrivava con SysV init o Upstart. Tale init ha fornito una serie di runlevel per il testo, l’utente multiplo e il sistema GUI. Tuttavia, systemd utilizza il concetto di target anziché di runlevel. Questa pagina spiega le procedure per implementare runlevel come config quando si lavora con target systemd. In altre parole, imparerai come passare dalla modalità testo a quella GUI usando systemd invece dei livelli init sulle moderne distribuzioni Linux.

Dettagli tutorial
Livello di difficoltà Facile
Privilegi di root
Requisiti Sistema Linux
Est. momento della lettura 6 minuti

Cambiare la destinazione di avvio in testo

La procedura è la seguente per passare a un runlevel in modalità testo in systemd:

  1. Apri l’applicazione del terminale.
  2. Per i server Linux remoti, usa il comando ssh.
  3. Trova quale unità di destinazione viene utilizzata per impostazione predefinita:
    systemctl get-default
  4. Per cambiare la destinazione di avvio in modalità testo:
    sudo systemctl set-default multi-user.target
  5. Riavvia il sistema usando il comando reboot:
    sudo systemctl reboot

Come cambiare la destinazione di avvio in testo o GUI in systemd Linux

Come passare la destinazione di avvio alla GUI (interfaccia utente grafica)

Vuoi ripristinare la modifica dell’avvio alla GUI anziché alla modalità console/testo? Provare:

  1. Apri l’applicazione del terminale Linux.
  2. Di nuovo, per i server Linux remoti, usa il comando ssh.
  3. Trova quale unità di destinazione viene utilizzata per impostazione predefinita:
    systemctl get-default
  4. Per cambiare la destinazione di avvio in modalità GUI:
    sudo systemctl set-default graphic.target
  5. Assicurati di riavviare la Linux box usando il comando reboot:
    sudo reboot

Comprensione dei target di avvio in systemd

L’obiettivo predefinito è impostato da /etc/systemd/system/default.target. Eseguire il seguente comando ls per verificarlo utilizzando il collegamento simbolico:
ls -l /etc/systemd/system/default.target
Ovviamente, possiamo usare anche il comando systemctl stesso:
systemctl get-default

Elenco di tutti i target di sistema

Eseguire il seguente comando:
systemctl list-units --type target
# list all loaded units in any state #
systemctl list-units --type target --all

Ecco un elenco di tutte le unità di destinazione attualmente caricate sul desktop Ubuntu Linux 20.04 LTS:


  UNIT                                 LOAD   ACTIVE SUB    DESCRIPTION                                       
  basic.target                         loaded active active Basic System                                      
  blockdev@dev-mapper-md1_crypt.target loaded active active Block Device Preparation for /dev/mapper/md1_crypt
  bluetooth.target                     loaded active active Bluetooth                                         
  cryptsetup.target                    loaded active active Local Encrypted Volumes                           
  getty.target                         loaded active active Login Prompts                                     
  graphical.target                     loaded active active Graphical Interface                               
  local-fs-pre.target                  loaded active active Local File Systems (Pre)                          
  local-fs.target                      loaded active active Local File Systems                                
  machines.target                      loaded active active Containers                                        
  multi-user.target                    loaded active active Multi-User System                                 
  network-online.target                loaded active active Network is Online                                 
  network-pre.target                   loaded active active Network (Pre)                                     
  network.target                       loaded active active Network                                           
  nss-user-lookup.target               loaded active active User and Group Name Lookups                       
  paths.target                         loaded active active Paths                                             
  remote-fs-pre.target                 loaded active active Remote File Systems (Pre)                         
  remote-fs.target                     loaded active active Remote File Systems                               
  slices.target                        loaded active active Slices                                            
  sockets.target                       loaded active active Sockets                                           
  sound.target                         loaded active active Sound Card                                        
  swap.target                          loaded active active Swap                                              
  sysinit.target                       loaded active active System Initialization                             
  time-set.target                      loaded active active System Time Set                                   
  time-sync.target                     loaded active active System Time Synchronized                          
  timers.target                        loaded active active Timers                                            
  virt-guest-shutdown.target           loaded active active Libvirt guests shutdown                           

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

26 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.


Runleve Sysv vs target systemd

Cerchiamo di capire i runlevel Sysv più vecchi e i loro equivalenti in systemd.

Tabella 1
Obiettivo di sistema Livello di esecuzione Descrizione Vecchio comando Nuovo comando
runlevel0.target, poweroff.target 0 Spegni la macchina Linux. inizia 0 systemctl isola poweroff.target
runlevel1.target, salvataggio.bersaglio 1 Avviare in modalità di emergenza (modalità utente singolo). inizia 1 systemctl isola rescue.target
runlevel2.target, multiutente.target 2 Sistema multiutente basato su testo che non configura interfacce di rete e non esporta servizi di rete. inizia 2 systemctl isola runlevel2.target
runlevel3.target, multiutente.target 3 Avvia il sistema normalmente in modalità testo multiutente per l’utilizzo del server Linux. inizia 3 systemctl isola runlevel3.target
runlevel4.target, multiutente.target 4 Per scopi speciali modalità testo. inizia 4 systemctl isola runlevel4.target
runlevel5.target, grafico.target 5 Uguale al runlevel 3 e avvia nel display manager della GUI. inizia 5 systemctl isola graphic.target
runlevel6.target, reboot.target 6 Riavvia il desktop o il laptop Linux. inizia 5 systemctl isola reboot.target

Come modificare il target systemd predefinito usando il collegamento simbolico

In precedenza ho spiegato come utilizzare il comando systemctl. Ma si possono usare altri comandi. Pertanto, utilizzare il comando ln come segue per passare alla modalità GUI:

sudo ln -s -f -v 
/lib/systemd/system/graphical.target 
/etc/systemd/system/default.target

Guide solo per i sostenitori di Patreon ????

  • Nessuna pubblicità e tracciamento
  • Guide approfondite per sviluppatori e amministratori di sistema su Opensourceflare✨
  • Unisciti al mio Patreon per supportare i creatori di contenuti indipendenti e iniziare a leggere le ultime guide:

Aderire Patreon ?

Vuoi tornare alla modalità testo:

sudo ln -s -f -v 
/lib/systemd/system/multi-user.target 
/etc/systemd/system/default.target

Verificalo usando il comando ls
ls -l /etc/systemd/system/default.target

Scopri come modificare il target predefinito creando un collegamento simbolico al target systemd (clicca per ingrandire)

Guarda come creare un collegamento software con sotto Linux o Unix usando il comando ln per maggiori informazioni.

Come avviare in modalità di ripristino

Esegui il seguente comando systemctl
$ sudo systemctl rescue
Possiamo passare a un’unità di destinazione systemd diversa nella sessione di accesso corrente utilizzando la CLI come segue:
sudo systemctl isolate multi-user.target
# OR #
sudo systemctl isolate graphical.target

Cosa inizierebbe se avviassi un target specifico?

Il systemd può calcolare la transazione “iniziale” che eseguirebbe all’avvio, prova qualcosa del genere per vedere quali servizi e cose sono stati caricati nel graphical.target:
systemd --test --system --unit=graphical.target
Il --test L’opzione viene utilizzata per determinare la transazione di avvio iniziale, scaricarla ed uscire senza eseguire effettivamente nessuno dei lavori determinati. Quant’è fico?

Riassumendo

Hai imparato a conoscere i target systemd e i runlevel precedenti utilizzati dal sistema init SysV. Inoltre, ho spiegato come utilizzare il comando systemctl per passare dalla modalità testo alla modalità GUI dalla CLI. C’è più di un modo per ottenere risultati in Linux. Quindi, questa pagina ha anche descritto come modificare il target predefinito utilizzando anche il metodo del collegamento simbolico. Il progetto Debian Linux mantiene una buona pagina specifica di sistema e consiglia vivamente di visitare la pagina wiki. Tuttavia, puoi leggere la documentazione localmente utilizzando il comando man in caso di emergenza in cui Internet non è disponibile:
man systemctl
man init
man upstart ini
man systemd


ANNUNCIO



Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi