2 votos

¿Puedo decirle a iTerm 2 que cambie de color cuando estoy en Root?

Me gustaría decirle a iTerm2 que tenga un texto rojo siempre que sea Root cuando esté conectado a un servidor.

Nota:

No soy capaz de cambiar ninguna configuración en el servidor remoto.

3voto

shsteimer Puntos 8749

No como parte de la configuración de iTerm 2. iTerm no tiene forma de saber que has pasado a Root en una sesión remota -- no está observando lo que estás haciendo tan de cerca (y lo que le estás pidiendo que averigüe es realmente complicado de programar).

Puedes crear un perfil de iTerm que tenga el texto en rojo sobre el color de fondo que quieras y usar siempre ese perfil cuando vayas a hacer Root en una máquina. No requiere cambios en el entorno Root de la máquina remota. Pero sí requiere que te acuerdes de usar ese perfil para tu sesión rooteada.

Edición: investigando he encontrado este interesante artículo que habla de cómo se puede cambiar la imagen de fondo en iTerm para mostrar el nombre del host al que se ha accedido por ssh . Fíjese en que todo se basa en el entorno del shell del Mac de su cliente -- una vez que está en la máquina remota no hay mucho que iTerm pueda hacer. El cambio del título de una pestaña sí parece estar controlado por $PROMPT_COMMAND como se establece en el entorno de la sesión remota, pero parece que no hay ganchos documentados en iTerm 2 que le permitan ampliar lo que iTerm hace cuando cambia el título de la pestaña. Una pena.

Ya te digo: un gran apoyo si alguien puede averiguar cómo hacer esto. Sería muy útil, sin duda.

1voto

James Socol Puntos 146

Realmente no entiendo por qué dices que no puedes cambiar ninguna configuración, y sin embargo eres capaz de usar el usuario Root

Pero de todos modos, podrías ejecutar la siguiente línea cada vez que inicie sesión en su servidor remoto, lo que coloreará su prompt en rojo (y lo mostrará como "Root@hostname | /current/directory" , una vez que esté Root'ed con sudo -s :

export SUDO_PS1='\[\e[41m\]\u @ \H | \[\e[7m\] $PWD \[\e[0m\] \n > \[\e[0m\] ' 

Asumiendo que la configuración sshd del servidor remoto tiene PermitUserEnvironment Si se establece en "sí", se podría entregar el PS1 cuando se instala la conexión ssh, algo parecido a (no he probado esto, sin embargo):

ssh user@server -t "SUDO_PS1='$SUDO_PS1'; exec bash"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X