macos - manager - Perfiles de iTerm 2
terminal iterm (5)
Recientemente cambié a iTerm2 y me encanta. Sin embargo, me pregunto si hay una forma de usar perfiles para corresponder con el entorno / máquina específica en la que se encuentra.
Digamos que si estoy haciendo tareas en una ventana de mi Mac, el perfil se muestra como predeterminado, pero si lo hago en una máquina (digamos dev0), el perfil en iTerm se actualizará al perfil dev0. Una vez que haya terminado con dev0 y llame a exit, el perfil volverá a ser el predeterminado.
Me doy cuenta de que una solución alternativa es abrir un perfil específico cada vez que quiero conectarme a otra máquina y tener una manera de distinguirlo, pero si la conexión está cerrada, es necesario que lo notes basado en el texto en lugar de decir el fondo de la ventana.
es posible? Si no, ¿cómo se puede agregar esta característica, y hay una manera en que puedo contribuir?
El último iTerm2 nocturno (Build 2.9.20150329-todas las noches en el momento de la redacción) le permite hacerlo fácilmente. Puedes descargarlo here .
Una vez que lo haya instalado y abierto:
- Inicie sesión en su máquina remota a través de ssh y haga clic en iTerm2 (el menú de la aplicación)> Instalar integración de Shell . Descargará un script con
curl
e instalarlo. Haz lo mismo en tu máquina local . - Ve a Preferencias > Perfiles .
- Crea un nuevo perfil para tu máquina local. Personalícelo para que se ajuste a sus necesidades (cambie el color de fondo, el nombre, etc.)
- Vaya a la pestaña Avanzado y vaya a la parte inferior.
- En Automatic Profile Switching , haga clic en ''+'' y agregue el nombre de host de su máquina local. El nombre de host es el que obtienes al ejecutar
echo $HOST
en la máquina de destino. No siempre es el que ves en tu mensaje. - Cree otro perfil, esta vez para su máquina remota, y personalícelo.
- Agregue el nombre de host de la máquina remota en Automatic Profile Switching .
- Ahora, si ingresa a la máquina remota, su perfil cambiará, y si
exit
de la sesión ssh, regresará a su perfil local.
Puede combinar esta solución con la respuesta de @ esod sin problemas.
Nota: no funcionó para mí hasta que creé un perfil específico para el escritorio en lugar de usar el perfil predeterminado.
Ver la documentación para más información.
En mi caso, necesito combinar la respuesta de Yohaï Berreby con la configuración de mis anfitriones para implementar esta característica.
- En Automatic Profile Switching, haga clic en ''+'' y agregue el nombre de host de su máquina local. El nombre de host es el que obtienes al ejecutar echo $ HOST en la máquina de destino. No siempre es el que ves en tu mensaje.
Mi servidor de transferencia no establece $ HOST y el nombre de host es:
[devel@alveo-staging ~]$ hostname
alveo-staging
Pero no puedo establecer la regla con nombre de host como alveo-staging
. Porque, de hecho, alveo-staging es solo un alias del nombre de host real (alveo-staging.xxx), que se puede configurar en /etc/hosts
.
Entonces, la solución rápida a esto es usar * comodines, para establecer la regla como *staging*
.
Entonces funciona
Tenía este mismo deseo y encontré que esto se puede lograr en iTerm 2 (compilación 1.0.0.20130319) en las preferencias de la aplicación.
Puede asignar un perfil (por ejemplo, un perfil remoto) con un ajuste preestablecido diferente de su ajuste preestablecido predeterminado yendo a:
Perfiles -> Abrir perfiles seleccione el perfil y haga clic en Editar perfiles ... Vaya a la pestaña Colores y elija un ajuste preestablecido para este perfil de la lista en Cargar ajustes preestablecidos ...
Además, configuré un atajo de teclas para diferentes perfiles, de modo que puedo hacer que una ventana de iTerm se vea diferente a otra ventana. Hice esto por:
- Creando un nuevo perfil en Preferencias
- Crear una nueva tecla de acceso directo de perfil en Preferencias-> Teclas cuya acción es Nueva ventana con perfil
Mi perfil predeterminado tiene un fondo negro, pero a veces me ayuda a tener un fondo blanco. Duplico mi perfil predeterminado y el nombre del nuevo perfil DefaultLight. En mi perfil predeterminado, voy a la pestaña Claves donde creo una nueva Clave de acceso directo de perfil cuyo Atajo de teclado es ^ + cmd + n, cuya acción es Nueva ventana con perfil, y cuyo perfil es DefaultLight.
Después de guardar las preferencias, cmd + n abre una nueva ventana con fondo negro y ^ + cmd + n abre una nueva ventana con fondo blanco.
También hay una nueva pestaña con acción de perfil en la preferencia de teclas de acceso directo del teclado si está interesado en llevar esto aún más lejos.
iTerm2 admite un código de escape personalizado que cambia el perfil sobre la marcha. Ponlo en tu .bashrc o .bash_profile.
<esc>]50;SetProfile=X^G
donde X es el perfil. Por ejemplo, para cambiar el perfil a uno llamado "Foo", utilice este script de shell:
#!/bin/bash
echo -e "/033]50;SetProfile=Foo/a"
Para volver a cambiarlo al cerrar la sesión, coloque el código para volver a establecer el perfil predeterminado en ~ / .bash_logout.
para usuarios de zsh
digamos que tiene 2 perfiles, uno llamado mac (para su máquina principal) y uno para linux (su máquina remota)
Al ingresar a la sesión , necesitamos decirle a zsh que cargue nuestro perfil
- conectarse a Linux remoto
- en
~/.zshrc
addecho -e "/033]50;SetProfile=linux/a"
- fuente sus archivos para efecto inmediato:
source ~/.zshrc
- su nuevo tema debe ser visible dentro de la sesión de iterm.
Al salir de la sesión , necesitamos decirle a zsh que vuelva a nuestro perfil original
- conectarse a Linux remoto
- en linux
~/.zlogout
agregue lo siguiente
if [ "$SHLVL" = 1 ]; then
echo -e "/033]50;SetProfile=mac/a"
clear
fi
ahora puedes intercambiar perfiles con facilidad <3.
si está utilizando bash, creo que los pasos son similares, pero en su lugar debería modificar ~/.bashrc
y ~/.bash_logout
manifestación