Komuttan sonra neden uzun bir gecikme bulunamadı?


18

Genellikle ls gibi bir komutu yanlış yazdığımda (örneğin, 's' yazmadan önce ENTER tuşuna basıyorum), terminal görüntülendikten sonra uzun bir (~ 2s) gecikme olur:

bash: l: command not found...

Yanlış bir şifre girildikten sonra benzer bir gecikmenin nedenlerini anlayabiliyorum, başına Yanlış bir şifre girdikten sonra neden büyük bir gecikme var? . Ama neden tanınmayan bir komuttan sonra gecikmeli? Does FAIL_DELAYiçinde /etc/login.defsde bu etkiler?


8
Belki Fedora şimdi de size "Bu program yüklü değil, yüklemek için yazın ..." diyen korkunç Ubuntu yanlış özelliğini kullanıyor? Gecikmeye daha sonra tüm kurulabilir paketlerin veritabanında arama yapılır. Muhtemelen varsayılan olarak yüklenmeyen, ancak umarım depolarda bulunan psql (PostgreSQL'in bir parçası) 'yı çağırmayı deneyin.
Ulrich Schwarz

Neyi echo "$PROMPT_COMMAND"çıktı?
rozcietrzewiacz

echo "$ PROMPT_COMMAND": printf "\ 033] 0;% s @% s:% s \ 007" "$ {USER}" "$ {HOSTNAME %%. *}" "$ {PWD / # $ HOME / ~ } "
paislee

hangi yankı $ PATH baskılar? dönüş tuşuna her bastığınızda sisteminiz orada kontrol edilir.
Hanan N.

Yanıtlar:


19

sonra biraz araştırma ı bulduk bu :

  • komut bulunamadı paketini kaldırmayı deneyin ve $>yum remove command-not-foundardından tekrar yükleyin >$yum install command-not-found(sisteminizde bu paketin yüklü olması durumunda).

bu işe yaramazsa:

  • bunu ~/.bashrcdosyanıza ekleyin :

    unset command_not_found_handle


2
İkinci öneri gecikmeyi kaldırdı. Paket komutu bulunamadı bulunamadı. Teşekkürler!
paislee

Bunu varsayılan olarak etkinleştirmenin kimin iyi bir fikir olduğunu düşündüğü yargısını sorgularım
fostandy

16

En azından Fedora'da en iyi çözümün yapılandırma dosyasını değiştirmek olduğunu buldum
/etc/PackageKit/CommandNotFound.conf

En büyük gecikme aramadan geldiği gibi değiştirmek eğer paketleri, yüklemek için SoftwareSourceSearch=truede SoftwareSourceSearch=false

gecikme neredeyse 0'dır ve hala yazım hataları konusunda uyarılırsınız, bu da yararlı olabilir.


3

Fedora benzer bir şey kullanıyor.

Bu özelliği kaldırmak istiyorsanız şunu kullanın:

yum remove PackageKit-command-not-found

Takip et: Bu paketi kaldırırsanız bir hata mesajı alırsınız: bash: /usr/libexec/pk-command-not-found: No such file or directory Unuttum, paketi kaldırdıktan sonra dosyayı oluşturun, / usr / libexec / pk-command-not-found ile bulunamadı: #!/bin/sh echo "Command not found: $1" Bu yazdırılacak: Komut bulunamadı: fail-command

0

Benim durumumda, / usr / libexec / pk-command-not-found içindeki bilinen bazı proxy hataları nedeniyle

Failed to search for file: cannot update repo 'updates':
Cannot prepare internal mirrorlist:
Curl error (28): Timeout was reached for https://mirrors.fedoraproject.org/metalink?repo=updates-released-f28&arch=x86_64 
[Connection timed out after 30002 milliseconds]

Proxy yapılandırmam doğru çünkü aynı URL'yi bir çıplak kıvırma komutuyla indirmek anında başarılı oluyor.

Pk-komut-bulunamadı işlemi proxy yapılandırması olup olmadığını kontrol ettim:

tr  '\0' '\n' < /proc/$(pgrep -f pk-command-not-found)/environ | grep -i proxy

Ancak, bilinmeyen bir nedenden dolayı kullanmaz.

https://bugzilla.redhat.com/show_bug.cgi?id=1553368

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.