¿Por qué el icono de carpeta en mi Terminal tiene un signo de pregunta superpuesto?

14

De vez en cuando, veo que el icono de carpeta en la barra de título de una de mis ventanas de Terminal tiene un signo de interrogación superpuesto, por ejemplo. este:

¿Qué significa esto? No parece tener ningún efecto o problema que haya notado, solo tengo curiosidad.

Estoy usando OS X 10.8 (Mountain Lion).

    
pregunta Andrew Ferrier 23.12.2012 - 17:38

1 respuesta

16

El signo de interrogación (y los elementos del menú emergente deshabilitados) indican que Terminal cree que el directorio de trabajo está en una computadora remota y, por lo tanto, no puede navegar hasta él en el Finder usando el menú emergente. Si observa el último elemento en el menú emergente (Comando-Clic en el ícono "proxy") verá la computadora / host en la que Terminal cree que está el directorio de trabajo. Debes encontrar que no es el nombre actual de la computadora.

Si está utilizando bash (el shell predeterminado en macOS), de manera predeterminada, envía una secuencia de control al terminal en cada solicitud para indicar al terminal el directorio de trabajo actual. Dado que las secuencias de control pueden provenir de computadoras locales o remotas, envía una URL de esquema de "archivo:" que incluye el nombre de host, y Terminal comprueba que el nombre se asigna a la máquina actual. Si no lo hace, Terminal desactiva los elementos del menú emergente de ruta, ya que no corresponden a los directorios locales.

Puede ver el código que envía la secuencia de control en /etc/bashrc_Apple_Terminal (o /etc/bashrc en versiones anteriores de macOS).

[Tenga en cuenta que si no está usando bash, o si lo ha personalizado para que no se produzca el comportamiento predeterminado, pero su shell (o algún otro programa que esté ejecutando) está enviando secuencias de control para establecer la ventana o el título de la pestaña (icono), Terminal lo examinará para ver si contiene lo que parece una ruta de acceso, y luego verifica si corresponde a una ruta de acceso local válida. De lo contrario, no muestra el ícono del proxy de la ventana en absoluto.

Un escenario en el que la Terminal puede no reconocer que la URL del "archivo:" se encuentra en el host actual es si cambia la configuración de su red mientras se ejecuta un shell. Un caso común es poner una computadora portátil para dormir y trasladarla a otra ubicación, luego encenderla. El nombre y la dirección del host local habrán cambiado, pero la variable de entorno $HOSTNAME del shell aún tiene el nombre del host anterior, y eso es lo que envía en la secuencia de control. Para solucionar esto, actualice la variable de entorno con:

 HOSTNAME=$(hostname)

Otro escenario es cuando sale de Terminal, cambia las configuraciones de red y luego abre Terminal con Reanudar habilitado. Terminal restaurará las ventanas y pestañas, junto con la última URL del directorio de trabajo que se envió cada una. Si se encuentra en este caso, $HOSTNAME estará actualizado, ya que inicia un nuevo shell, pero Terminal aún puede tener una URL obsoleta hasta que obtenga el shell para actualizarlo nuevamente. Si mostrar el símbolo del sistema no soluciona el problema, intente cambiar los directorios con cd para que el shell lo actualice.

    
respondido por el Chris Page 15.01.2013 - 14:22

Lea otras preguntas en las etiquetas