Solution 1 :
systemd-analyze
est votre ami.Par exemple systemd-analyze critical-chain
affiche l'arborescence de blocage des démons.Mine par exemple :
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 dans l'exemple contenant essentiellement tout le démarrage.
Si vous voulez avoir une vue plus détaillée, vous pouvez rendre toute la chaîne d'exécution dans un fichier svg.systemd-analyze plot > something.svg
produit la chaîne entière (plus de 120 modules) sous forme de barres de progression vers un fichier svg haute résolution qui montre les états, qui sont bloqués et d'autres problèmes.
Enfin vous avez systemd-analyze dot
outil qui génère un fichier de points qui génère toute la hiérarchie :systemd-analyze dot | dot -Tpng -o stuff.png
avec l'outil point, vous pouvez également le générer sous forme de fichiers ps et svg.
Tous les outils ci-dessus sont intégrés dans l'outil systemd-analyze qui est fourni par défaut avec systemd dans archlinux au moins. Je pense qu'il y a aussi des projets tiers qui traitent de cela.
Solution 2 :
Je ne suis pas sûr de bien comprendre la question, mais il existe des visualisations d'arborescence disponibles avec les commandes suivantes :
sudo systemctl status
Et aussi :
sudo systemctl list-dependencies
J'espère que cela vous aidera :)
En outre, il peut être utile à d'autres fins de créer une arborescence des dossiers de liens symboliques systemctl :
tree /etc/systemd/system
C'était en fait très utile pour comprendre les anciennes unités / boguées qui ralentissaient le démarrage de mon système, pour les désactiver ensuite en utilisant le systemctl disable
commande.
MODIFIER
Cela dit, je suis vraiment d'accord avec l'OP que cette fonctionnalité de base devrait être donnée via des outils de ligne de commande, et non un outil graphique... Et si vous ne pouvez pas démarrer X ? Comment gérez-vous votre fichier svg alors ?
En fait, il y a un moyen. Si vous ne pouvez pas utiliser scp
(outil ssh) pour récupérer votre fichier sur un autre ordinateur, fbi
pourrait en fait vous aider :)
sudo systemd-analyze plot > /home/user/startup.svg
fbi /home/user/startup.svg
A travaillé dans mes ATS. Naviguez simplement à l'intérieur de l'image avec des flèches. Il existe des options de zoom, pour lister faites fbi -h
.
Encore une fois, j'espère que cela aide. Il est disponible dans les dépôts Archlinux et Ubuntu.
EDIT 2 :
fbi
ne fonctionne pas sur ssh. Vous pouvez faire un transfert X comme ceci ssh -Y [email protected]
, mais vous avez besoin d'un serveur X exécuté sur votre serveur distant.
Le meilleur pari ici est d'utiliser sshfs
. Cela fonctionne très bien dans l'espace utilisateur, par exemple avec nautilus. Il y a une petite configuration à faire, voir :
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
Solution 3 :
Peut toujours ne pas répondre entièrement à votre question, mais essayez avec --fuzz
possibilité
systemd-analyze critical-chain --fuzz 1h
Notez que vous pouvez également spécifier des unitéss pour voir leur chaîne critique , vous n'êtes donc pas limité à multi-user.target
systemd-analyze critical-chain network.target local-fs.target
J'espère que cela vous aidera