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-terminal
para 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-terminal
perfil 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 Tab
para abrir una nueva pestaña con el perfil seleccionado.Perfil reutilizable
Cree un nuevo
gnome-terminal
perfil 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-terminal
ventanas donde está conectado a diferentes hosts únicamente en los colores de fondo / primer plano, pero tendrá un título diferente por ventana.gnome-terminal
perfil (File -> New Profile
) basado en elDefault
perfil y llámelo "RemoteHost" (nota, no hay espacios en "RemoteHost" para facilitar los comandos).Title and Command
pestaña, cambie:Initial title:
a "Host remoto"When terminal commands set their own titles:
aReplace initial title
Colors
pestaña, cambie:Use colors from system theme
Build-in schemes:
aCustom
Text 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.Close
botón para guardar su nuevo perfil.gnome-terminal
ventana para cada host SSH remoto utilizando el comandognome-terminal --window-with-profile=RemoteHost -t "Some Remote SSH Host" -x ssh user@somehost
. La-t
opción establece elgnome-terminal
título de la ventana y la-x
opción ejecuta el resto de la línea de comando en el terminal. Incluso podría hacer unaalias
para acortar las pulsaciones de teclas totales.Línea de comando
Encontré esta entrada de blog con el siguiente script que usa los comandos
xdotool
ywmctrl
(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-terminal
Ctrl+ Shift+ tpara abrir una nueva pestaña en lagnome-terminal
ventana 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-terminal
perfil 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-terminal
tí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 unTerminal
tí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.bashrc
Ahora
sshc remote-machine
abre 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_aliases
lugar:Ahora
sshc Production
abrirá una nueva ventana de sesión usando el perfil "Rojo",sshc Test
abrirá 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 xdotool
Ahora 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