2 votos

ITerm2, zsh y .zshhistory: cómo tener un historial de zsh separado

Instalé iTerm2 en Catalina 10.15.6 en una MacBook Pro comprada a principios de 2020 y tengo dos perfiles - Default y MyUser.

Para MyUser, establecí una ubicación personalizada en /Users/john-doe/iTerm2/zsh (copia de zsh de /bin/zsh) y configuré un archivo .zshrc personalizado a través del comando

touch .zshrc

El archivo zsh predeterminado (/bin/zsh) guarda en .zsh_history en Usuarios/john-doe (directorio principal) pero no estoy seguro de cómo con zsh, o iTerm2, establecer una ubicación personalizada para la instalación de zsh de ese perfil.

¡Si alguien puede ayudar, lo agradecería!

2voto

Douglas Puntos 10417

Creo que estás confundiendo los Perfiles de iTerm2 y las conchas de usuario. Por eso escribí esta introducción para ayudarte a empezar/aclararte.

El Cliente del Terminal

Cuando digo "Terminal" no me refiero a la Aplicación Terminal de Apple. Me refiero a los Clientes de Emuladores de Terminal. iTerm2 es un emulador de terminal que no tiene absolutamente nada que ver con el ordenador remoto aparte de proveer una interfaz en tu máquina local a través de la cual te conectas al remoto.

Ya sea que uses iTerm2, Terminal, PuTTY para Mac, o la multitud de clientes SSH disponibles, todos básicamente hacen lo mismo: te dan una interfaz para trabajar con el dispositivo conectado. Algunos de estos clientes ofrecen solo lo básico; iTerm2 tiene un montón de características. Por ejemplo, algunos clientes (como iTerm2 y Terminal) te permiten almacenar perfiles que es lo que configura iTerm2 y su comportamiento. Puedes establecer los colores de fondo/foreground, el parpadeo del cursor, cómo se manejan las URLs, etc., pero nada de esto está relacionado con la concha real en el ordenador remoto.

Puedes tener 1 remoto asignado 1 perfil o 100 remotos asignados a 1 perfil. Múltiples perfiles en tu ordenador no te dan múltiples usuarios o sesiones en el remoto. Múltiples perfiles solo te dan múltiples formas de interactuar con el ordenador remoto.

Cuando te Conectas

Sería beneficioso si lees mi introducción sobre archivos ZSH: ZSH: .zprofile, .zshrc, .zlogin - ¿Qué va en dónde? porque te ayudará a entender lo que sucede cuando te conectas al ordenador remoto.

Cuando te conectas a un ordenador remoto, ya sea tu Mac personal o algún gran ordenador compartido con muchos usuarios, se te asigna una concha; asignada cuando se creó tu cuenta. En las nuevas instalaciones de Catalina, la concha es ZSH. En Mojave y versiones anteriores, es Bash. Puedes instalar conchas más nuevas y diferentes como CSH o TCSH o incluso fish y entonces elegir cuál usas *cuando te conectas o te autentificas.

Cuando inicias sesión, ZSH lee sus archivos de configuración en orden (ver el enlace anterior). Comienza con los de /etc/ y luego pasa a los de tu directorio principal /Usuarios/nombredeusuario/. Como nota adicional, tu directorio principal puede ser referenciado como una variable $HOME o con la notación de tilde; ~/ (p. ej.: ~/Documentos)

La conclusión aquí es que cada vez que invocas la concha va a leer esos archivos - nada en iTerm afectará eso.

Archivo de Historial de ZSH

ZSH no tiene una configuración incorporada para el archivo de historial. Se establece mediante la variable de entorno, HISTFILE en cualquiera de los siguientes: /etc/zprofile, /etc/zshrc, ~/.zprofile o ~/.zshrc. En macOS, por defecto es .zsh_history. Puedes establecerlo como quieras editando cualquiera de esos cuatro archivos con la línea HISTFILE=foo.bar.

Cada vez que cargas una concha (y puedes cargar una concha dentro de una concha dentro de otra concha) va a leer esos archivos. Una vez más, tu perfil de iTerm2 no tiene nada que ver; tu archivo de historial va a ser lo que tú (o el administrador) lo haya configurado.

Muy Largo; No lo Leí

Para MiUsuario, establecí una ubicación personalizada de /Usuarios/john-doe/iTerm2/zsh (copia de zsh de /bin/zsh) y configuré un archivo .zshrc personalizado a través del comando

Así no es como funciona. La concha de usuario en el remoto no tiene nada que ver con los perfiles del cliente del Terminal. No puedes enlazar un archivo de configuración de concha personalizado con un perfil de terminal de la manera en que estás intentando. En cuanto a iTerm2 y la concha, en realidad no tienen nada que ver entre sí, al igual que la Aplicación de Correo no tiene nada que ver con los servidores de Gmail aparte de un método para conectarse a ellos.

0 votos

¡Gracias! ¡Eso me lo ha explicado todo muy bien!

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