¿Por qué no se encuentra un retraso prolongado después del comando?


18

A menudo, cuando escribo mal un comando como ls (p. Ej., Presiono ENTER antes de escribir 's'), hay un retraso largo (~ 2s) después de que el terminal muestra:

bash: l: command not found...

Puedo entender los motivos de un retraso similar después de ingresar una contraseña incorrecta, por ¿Por qué hay un gran retraso después de ingresar una contraseña incorrecta? . Pero, ¿por qué demorar después de un comando no reconocido? No FAIL_DELAYen /etc/login.defsafectará esto también?


8
¿Quizás Fedora ahora también está usando esa horrible característica incorrecta de Ubuntu que le dice "Este programa no está instalado, para instalarlo, escriba ..."? El retraso se debe a la búsqueda en la base de datos de todos los paquetes instalables. Intente llamar a psql (parte de PostgreSQL), que probablemente no esté instalado de manera predeterminada, pero es de esperar que esté en los repositorios.
— Ulrich Schwarz

¿Qué da echo "$PROMPT_COMMAND"salida?
— rozcietrzewiacz

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

¿Qué eco imprime $ PATH? su sistema se verifica allí cada vez que presiona la tecla de retorno.
— Hanan N.

Respuestas:


19

Después de algunas investigaciones, he encontrado esto :

  • intente desinstalar el paquete de comando no encontrado y $>yum remove command-not-foundluego instálelo nuevamente >$yum install command-not-found(en caso de que tenga ese paquete instalado en su sistema).

si eso no ayuda, intente:

  • agregue esto a su ~/.bashrcarchivo:

    unset command_not_found_handle


2
La segunda sugerencia eliminó el retraso. No tengo instalado el paquete command-not-found. ¡Gracias!
— paislee

Pongo en duda el juicio de quien pensó que era una buena idea para permitir esto por defecto
— fostandy

16

Descubrí que la mejor solución, al menos en Fedora, es modificar el archivo de configuración
/etc/PackageKit/CommandNotFound.conf

ya que la mayor demora proviene de la búsqueda de paquetes para instalar, si modifica SoftwareSourceSearch=trueen SoftwareSourceSearch=false

el retraso es casi 0 y aún se le advierte sobre errores ortográficos, lo que puede ser útil.


3

Fedora usa algo similar.

Si solo desea eliminar esta función, use:

yum remove PackageKit-command-not-found

Seguimiento: Olvidé mencionar que si elimina este paquete, recibirá un mensaje de error: bash: /usr/libexec/pk-command-not-found: No such file or directory Para solucionar esto, cree el archivo después de eliminar el paquete, / usr / libexec / pk-command-not-found con lo siguiente: #!/bin/sh echo "Command not found: $1" Esto imprimirá: Comando no encontrado: fallo-comando

0

En mi caso, se debe a algún error proxy conocido en / usr / libexec / pk-command-not-found

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]

Mi configuración de proxy es correcta porque la descarga de la misma URL exacta con un simple comando curl tiene éxito instantáneamente.

Verifiqué que el proceso pk-command-not-found no tiene la configuración de proxy:

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

Sin embargo, no lo usa por alguna razón desconocida.

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.