GNU/Linux >> Tutoriels Linux >  >> Linux

L'achèvement des onglets se bloque ?

Lorsque j'ouvre un terminal pour la première fois, ou que j'en ouvre un nouveau après ne l'avoir pas utilisé pendant un certain temps, tout type de complétion de tabulation dans mon répertoire personnel (par exemple, ls et Tab ) prend plusieurs secondes. J'ai déjà vu ce comportement lors de l'utilisation de autofs pour monter des lecteurs réseau, mais je n'en ai pas dans ~/ . Je monte des partages NFS avec le montage automatique de systemd, mais ceux-ci sont dans ~/badabing/ , donc tout dans ~/ lui-même n'est qu'un fichier local.

S'il s'agit d'un problème de montage automatique, voici le /etc/fstab correspondant lignes (oui, le serveur s'appelle "badabing", je l'ai nommé lors d'une frénésie des Sopranos il y a quelques années) :

badabing:/nfs_shares/music /mnt/badabing/music    nfs4  noauto,x-systemd.automount,x-systemd.device-timeout=5sec,x-systemd.idle-timeout=1min    0 0
badabing:/nfs_shares/series /mnt/badabing/series  nfs4  noauto,x-systemd.automount,x-systemd.device-timeout=5sec,x-systemd.idle-timeout=1min    0 0
badabing:/nfs_shares/movies /mnt/badabing/movies  nfs4  noauto,x-systemd.automount,x-systemd.device-timeout=5sec,x-systemd.idle-timeout=1min    0 0

Puis, dans ~/badabing J'ai :

$ ls -l ~/badabing/
total 0
lrwxrwxrwx 1 terdon terdon 32 Jan 10  2016 movies -> /mnt/badabing/nfs_shares/movies/
lrwxrwxrwx 1 terdon terdon 31 Jan 10  2016 music -> /mnt/badabing/nfs_shares/music/
lrwxrwxrwx 1 terdon terdon 31 Jan 10  2016 series -> /mnt/badabing/nfs_shares/series

J'aimerais enquêter davantage sur cela. Puis-je en quelque sorte strace achèvement de l'onglet ? Est le seul moyen d'ajouter echo commandes dans les différents scripts de complétion bash pour voir ce qui ne va pas ? Il y en a plusieurs, donc je préfère vraiment éviter cela.

Alors, qu'est-ce qui cause cela ou, du moins, comment puis-je le déboguer davantage ?

Réponse acceptée :

Je ferais ceci :

sudo strace -pXXXX -tfo /tmp/strace.log

XXXX est l'identifiant du processus de bash. Lors d'une vérification rapide de l'achèvement du nom de fichier sur l'une de mes arborescences de répertoires montées sur NFS, cela fonctionne sans problème :

-f

Suivre les processus enfants tels qu'ils sont créés par les processus actuellement suivis à la suite de l'appel système fork(2).

-t

Préfixez chaque ligne de la trace avec l'heure de la journée.

Certaines personnes pourraient préférer -r :

-r

Imprimer un horodatage relatif à l'entrée de chaque appel système. Cela enregistre la différence de temps entre le début des appels système successifs.


Linux
  1. [Linux] :Comment installer et utiliser la fonction d'auto-complétion ou de complétion de tabulation dans YUM

  2. Un tutoriel d'achèvement facile de Bash ??

  3. Le script shell se bloque sur la commande de messagerie ?

  4. Erreurs d'achèvement d'onglet :Bash :Impossible de créer un fichier temporaire pour le document ici :Il ne reste plus d'espace sur l'appareil ?

  5. Guide de surveillance des ressources Windows

Achèvement des onglets pour les branches Git affichant des entrées anciennes/obsolètes ?

Annuler l'achèvement, mais uniquement l'achèvement, dans Zsh ?

Comment réparer l'achèvement des onglets ne fonctionne pas dans Ubuntu et Debian

Ajouter un en-tête à un fichier délimité par des tabulations

Comment définir la tabulation sur 4 espaces dans vim?

La commande RPM se bloque