Soluzione 1:
systemd-analyze
è tuo amico.Ad esempio systemd-analyze critical-chain
emette un albero bloccante di demoni.Il mio per esempio:
graphical.target @20.211s
└─multi-user.target @20.211s
└─nginx.service @19.348s +862ms
└─network.target @19.347s
└─NetworkManager.service @10.315s +9.031s
└─basic.target @10.312s
└─timers.target @10.311s
└─systemd-tmpfiles-clean.timer @10.311s
└─sysinit.target @10.295s
└─systemd-update-utmp.service @10.167s +127ms
└─systemd-tmpfiles-setup.service @10.124s +41ms
└─local-fs.target @10.097s
└─home-entd-Downloads.mount @10.093s +2ms
└─home.mount @9.326s +672ms
└─[email protected] @8.472s +696ms
└─dev-sda6.device @8.471s
NetworkManager nell'esempio fondamentalmente mantiene l'intero avvio.
Se vuoi avere una visione più dettagliata puoi renderizzare l'intera catena di esecuzione in un file svg.systemd-analyze plot > something.svg
emette l'intera catena (oltre 120 moduli) come barre di avanzamento in file svg ad alta risoluzione che mostrano stati, blocchi e altri problemi.
Finalmente hai systemd-analyze dot
strumento che emette un file punto che emette l'intera gerarchia:systemd-analyze dot | dot -Tpng -o stuff.png
con lo strumento punto puoi emetterlo anche come file ps e svg.
Tutti gli strumenti di cui sopra sono integrati nello strumento systemd-analyze che viene fornito di default con systemd almeno in archlinux. Penso che ci siano anche alcuni progetti di terze parti che se ne occupano.
Soluzione 2:
Non sono sicuro di aver compreso correttamente la domanda, ma sono disponibili visualizzazioni ad albero con i seguenti comandi :
sudo systemctl status
E anche :
sudo systemctl list-dependencies
Spero che questo aiuti :)
Inoltre, potrebbe essere utile per altri scopi creare un albero delle cartelle dei collegamenti simbolici systemctl:
tree /etc/systemd/system
In realtà è stato davvero utile capire le unità vecchie/bacate che rallentavano l'avvio del mio sistema, per disabilitarle in seguito usando il systemctl disable
comando.
MODIFICA
Detto questo, sono davvero d'accordo con l'OP sul fatto che questa funzionalità di base dovrebbe essere fornita tramite strumenti da riga di comando e non uno strumento grafico ... Cosa succede se non puoi avviare X? Come gestisci il tuo file svg allora?
In realtà, c'è un modo. Se non puoi usare scp
(strumento ssh) per recuperare il file su un altro computer, fbi
potrebbe davvero aiutarti :)
sudo systemd-analyze plot > /home/user/startup.svg
fbi /home/user/startup.svg
Ha lavorato nei miei TTY. Basta navigare all'interno dell'immagine con le frecce. Ci sono opzioni di zoom, per elencare fai fbi -h
.
Ancora una volta spero che questo aiuti. È disponibile nei repository Archlinux e Ubuntu.
MODIFICA 2 :
fbi
non funziona su ssh. Puoi eseguire l'inoltro X in questo modo ssh -Y [email protected]
, ma hai bisogno di un server X in esecuzione sul tuo server remoto.
La cosa migliore qui è usare sshfs
. Funziona alla grande nello spazio utente, ad esempio con nautilus. C'è una piccola configurazione da fare, vedi:
sudo vim /etc/fuse.conf #type a, uncomment the user_allow_other line and ESC :wq
sudo mkdir /mnt/yourmountingdir
sudo chown user:user /mnt/yourmountingdir
sshfs [email protected]:/home/user /mnt/yourmountingdir/ -o allow_other #Asks for host trusting and password
sudo fusermount -u /mnt/yourmountingdir/ #To disconnect and unmount
Soluzione 3:
Potrebbe ancora non rispondere completamente alla tua domanda, ma prova con --fuzz
opzione
systemd-analyze critical-chain --fuzz 1h
Nota che puoi anche specificare le unitàs per vedere la loro catena critica , quindi non sei limitato al multi-user.target
systemd-analyze critical-chain network.target local-fs.target
Spero che questo aiuti