2011-12-07 16 views
6

Tengo un problema extraño. Después de ingresar mi contraseña en un sistema Debian 6.0, obtengo el motd, pero luego hay una pausa de 5-10 segundos hasta que aparece un mensaje de shell. Si presiono ctrl-c durante esa pausa, el mensaje aparece instantáneamente. ¿Qué podría estar pasando aquí? ¿Estoy matando el proceso de inicio de sesión? ¿Por qué tarda tanto en invocar a bash? Agradezco cualquier sugerencia.10 segundos de retraso entre el inicio de sesión y el intérprete de comandos de shell.

Gracias

+0

Quizás esta pregunta es más apropiado para el sitio web [superuser.com] (http://superuser.com) –

Respuesta

11

Puede depurar scripts de shell bash utilizando set -x y set +x. El comando set -x habilita el modo de depuración y el comando set +x lo deshabilita.

Poner set -x en la parte superior de su $ HOME/.bash_profile debe causar que la información de depuración se imprima para sus archivos de inicialización de shell personales. Si, como dices, obtienes un retraso de 10 segundos, podrás rastrearlo con bastante facilidad. Si esto no arroja ninguna luz, vaya al archivo de inicialización del sistema /etc/profile.

Bash Debugging y shell initialisation files

+0

¡Gracias, eso me ayudó a rastrearlo hasta completar el bash! Aparentemente hace mucha inicialización. –

+1

¡Gracias de mí también! Tuve un problema muy similar a este en un sistema virtual implementado desde un archivo OVA en VMWare ESXi. Encontré (usando set -x) que el problema fue causado por un script de VMWare Tools llamado /etc/profile.d/zzzz-vamilocale.sh, que intentaba leer la configuración del entorno OVF a través de/opt/vmware/bin/ovfenv, que a su vez intentaba obtener configuraciones de varias ubicaciones, incluido el CDROM. Si el dispositivo de CD estaba vacío o no conectado, esto causaría la demora. La eliminación de la secuencia de comandos (que solo establece/actualiza la env de LANG) fue una solución simple. –

3

Es probable que hay algo en su .bashrc o .bash_profile. O tal vez algún otro archivo de inicio (/etc/profile y otros).

+0

Gracias, ciertamente estaba en mi .bashrc; bash-completion fue el culpable –

0

mismo problema que John Rix para mí./opt/vmware/bin/ovfenv fue el culpable.

me encontré con este post después de hacer la siguiente investigación: iniciar otro golpe podría tardar hasta 30 segundos en un CentOS6

strace bash 

muestra unas líneas antes de que se cuelga:

read(3, "LANG=`/opt/vmware/bin/ovfenv --q"..., 183) = 183 

retira el script de ejecución con:

mv /etc/profile.d/zzzz-vamilocale.sh /etc/profile.d/zzzz-vamilocale.sh.ko 
Cuestiones relacionadas