Me gustaría que mi color de fondo del terminal cambie según el nombre de host. Mi razonamiento para esto es principalmente tener una forma adicional de recordarme en qué servidor estoy, así que no hago nada estúpido.
¿De alguna manera puedo hacer que use el fondo de berenjena estándar si estoy en mi máquina local, y luego cambie el rojo si ingreso en un servidor web de producción u otros hosts que pueda especificar?

Respuestas:
Puede usar la opción de comando local de ssh / config para ejecutar un comando siempre que se use un alias. yo suelo
Esto depende de xtermcontrol y su término como xterm. Presumiblemente hay otras aplicaciones para otros términos.
El único problema con este enfoque es que ocurre cuando llamas a ssh. No hay nada para deshacer el cambio de color. Lo hice envolviendo una función alrededor de ssh, pero eso también tiene sus inconvenientes.
fuente
No parece que haya ninguna funcionalidad
gnome-terminalpara agregar una nueva pestaña a una ventana existente desde la línea de comandos. Pero hay algunas opciones para lograr lo que quieres.Por perfiles de comando
Cree un nuevo
gnome-terminalperfil para cada host en el que vaya a SSH. Si solo tiene unos pocos hosts a los que se conecta regularmente, este podría ser el más simple. Cada perfil puede tener un título diferente, color de primer plano, color de fondo, comando personalizado y otras configuraciones definidas. Luego puede usarFile -> Open Tabpara abrir una nueva pestaña con el perfil seleccionado.Perfil reutilizable
Cree un nuevo
gnome-terminalperfil que se utilizará para abrir una nueva ventana cada vez que desee conectarse a un host SSH diferente (según esta respuesta de AskUbuntu que Stefano señaló). Esto funcionaría bien si se conecta a muchos hosts diferentes con frecuencia. Esto no le permitirá distinguir entre diferentesgnome-terminalventanas donde está conectado a diferentes hosts únicamente en los colores de fondo / primer plano, pero tendrá un título diferente por ventana.gnome-terminalperfil (File -> New Profile) basado en elDefaultperfil y llámelo "RemoteHost" (nota, no hay espacios en "RemoteHost" para facilitar los comandos).Title and Commandpestaña, cambie:Initial title:a "Host remoto"When terminal commands set their own titles:aReplace initial titleColorspestaña, cambie:Use colors from system themeBuild-in schemes:aCustomText color:yBackground color:a los colores que elijas. Tenga en cuenta que algunos comandos (comols) el uso de colores para su producción y que no quiere escoger los colores que harán que sea difícil de leer la salida.Closebotón para guardar su nuevo perfil.gnome-terminalventana para cada host SSH remoto utilizando el comandognome-terminal --window-with-profile=RemoteHost -t "Some Remote SSH Host" -x ssh user@somehost. La-topción establece elgnome-terminaltítulo de la ventana y la-xopción ejecuta el resto de la línea de comando en el terminal. Incluso podría hacer unaaliaspara acortar las pulsaciones de teclas totales.Línea de comando
Encontré esta entrada de blog con el siguiente script que usa los comandos
xdotoolywmctrl(no se instalaron de forma predeterminada en Ubuntu, por lo que es posible que deba instalarlos primero) para usar el método abreviado de tecladognome-terminalCtrl+ Shift+ tpara abrir una nueva pestaña en lagnome-terminalventana actual . Podría modificarse para abrir una nueva pestaña con un perfil específico y ejecutar algún comando para usted.Otro
Podrías ser creativo y probar otras cosas.
Esta respuesta de Superusuario básicamente usa un poco de acróbatas "script-fu" para crear un
gnome-terminalperfil temporal que se usa para abrir una nueva ventana. Puede ser modificado para su uso.Probablemente podría usar estas preguntas y respuestas de StackOverflow y más acróbatas "script-fu" para cambiar dinámicamente el
gnome-terminaltítulo cada vez que utilice SSH en un host remoto. No sería tan prominente como los cambios de color de fondo / primer plano, pero sería mejor que unTerminaltítulo estándar todo el tiempo.fuente
Esto funcionará en Gnome, SI está dispuesto a usar una nueva ventana gnome-terminal para cada sesión ssh.
Cree un nuevo perfil (con un color de fondo diferente) llamado "Remoto"
Inserte lo siguiente en
.bash_aliases, o.bashrcAhora
sshc remote-machineabre un nuevo sesión de gnome-terminal con el perfil "Remoto". Esto diferenciará entre perfiles locales y remotos.Para acomodar múltiples perfiles / hosts, cree múltiples perfiles y coloque algo como esto en su
.bash_aliaseslugar:Ahora
sshc Productionabrirá una nueva ventana de sesión usando el perfil "Rojo",sshc Testabrirá una nueva ventana de sesión usando el perfil "Verde", y otros hosts usarán el Perfil "Predeterminado".fuente
Recopilar toda la información de los sitios de stack *** aquí es la solución más simple que he encontrado para mint mate + mate terminal (igual que para gnome).
sudo apt get install xdotoolAhora puede modificar / etc / ssh / ssh_config, para que pueda cambiar el perfil después de establecer cada sesión ssh:
Ahora, después de establecer cada conexión ssh en el terminal, se cambiará el perfil y nunca volverá a colocar una actualización SQL no deseada en la base de datos de producción :)
Sin embargo, no hay una solución fácil para volver al perfil predeterminado después de cerrar la conexión ssh. Pero esto me parece suficiente, y no busqué más información.
fuente