Creé un nuevo perfil para gnome-terminal y puedo cambiar entre el perfil "implícito" y el nuevo perfil creado, como se puede ver en la siguiente imagen:
Ahora me pregunto cómo puedo cambiar entre perfiles usando una línea de comandos / script o tal vez usando un atajo para esto.
Nota: Soluciones como:
gnome-terminal --tab-with-profile=Implicit && exit
están excluidos porque prefiero no cerrar y abrir otra terminal u obtener otra ventana de terminal en este proceso de cambiar el perfil.
command-line
shortcut-keys
gnome-terminal
Radu Rădeanu
fuente
fuente
Respuestas:
Para cambiar al perfil "implícito":
Para cambiar al segundo perfil:
xdotool
no está instalado por defecto en Ubuntu, por lo que debe instalarse primero.Por supuesto, para estos comandos se pueden agregar atajos de teclado personalizados .
fuente
man xdotool
para obtener más información) como pregunté, que funciona exactamente como deseo y estoy contento con esta respuesta hasta que aparezca algo mejor. ;)Ya hay muchas respuestas geniales, pero quería agregar una variación más usando xdotool que no requiere que la barra de menú esté visible ...
La combinación de teclas shift + F10 abrirá un menú emergente (el equivalente a hacer clic derecho en la terminal) y desde allí se puede cambiar el perfil.
por ejemplo,
xdotool key shift+F10 r 3
para llegar al tercer perfilTambién descubrí que este método no requiere establecer un retraso para xdotool (que encontré necesario para el método de la barra de menú), por lo que es un poco más rápido.
Tiendo a cambiar mucho los perfiles, así que envuelvo esto en una función:
así que puedo llamar
chp N
para cambiar al enésimo perfil.Algunos consejos e idiosincrasias más de mi configuración:
Al agregar un
chp
comando a mi .bashrc, puedo forzar que las pestañas nuevas cambien siempre al perfil predeterminadoCodifico por color mis sesiones ssh en función del host, pero no me gusta que mi alias ssh abra nuevas pestañas o ventanas Y quiero que el perfil vuelva a los valores predeterminados cuando salgo de ssh. Mi solución:
alias somehost="chp 2; ssh user@somehost; chp 1"
Le doy a xdotool la bandera
--clearmodifiers
para que si tengo una tecla modificadora (al abrir una pestaña / ventana, salir de ssh, etc.), no interfiera con xdotool.Antepongo mis nombres de perfil con números para que si agrego uno nuevo, no cambie todos los demás debido a la alfabetización del menú de perfil
fuente
--clearmodifiers
necesita venir despuéskey
.No existe un acceso directo que le permita cambiar el perfil dentro del terminal (sin navegar por los menús como dijo en los comentarios), sin el uso de la GUI. Citando el manual ( estable , desarrollo 3.9 ):
(Puede proponer esto como sugerencia en el rastreador de errores )
fuente
gnome-terminal
, presionealt
y vea qué letra se resalta para su versión de idioma de 'Terminal' (es el quinto elemento en mi versión polaca, a la izquierda de 'Ayuda'), luego use esa letra conalt
.Estaba buscando hacer lo mismo y finalmente conseguí que funcionara un script, lo puse en mi GitHub .
Como explico en README.md, en realidad no cambia, pero carga una configuración de perfiles en el perfil predeterminado. Para hacer esto, la configuración de cada perfil se guarda en el archivo en la primera ejecución del script. El script hace que parezca que estás cambiando entre perfiles, lo cual es lo suficientemente bueno para mí. Espero que ayude a cualquiera ...
fuente
Dependiendo de su propósito, puede encontrar útil este script: https://github.com/xyrix/gnome-terminal-profile-switcher
Hace una especie de parche de mono y genera un nuevo perfil para cada terminal, luego establece algunas variables de entorno para exponer un programa para cambiar el tema del perfil para su terminal actual.
Esperemos que el script safe_ssh de ejemplo aclare las cosas :-). Lo he estado usando por poco más de un año y me ha ayudado a no destruir la base de datos en vivo de la compañía ^ _ ^
fuente
Si tiene una lista de servidores a los que accede con frecuencia, creo que la solución más sencilla sería simplemente invocar una segunda ventana solo para la sesión de esa casilla.
Primero, cree un perfil de terminal de gnomo separado para cada ubicación remota que utilice con frecuencia. Luego, en cada perfil, especifique que el terminal debe ejecutar el comando de inicio de sesión SSH para ese cuadro, en lugar de un shell simple.
Finalmente, escriba una secuencia de comandos corta para iniciar una nueva ventana remota con una ID de perfil.
Usando esta estrategia, puede "infinitamente" variar el aspecto de la ventana de terminal de cada caja y comenzar desde un solo terminal de "control". Por ejemplo, si llamamos a este script "rlv", podemos generar una ventana remota simplemente invocando el script con un nombre de perfil.
Si alguna vez tocó con un dedo el nombre de un host, o descuidó configurar un perfil para ese host, entonces obtendrá otra ventana de perfil predeterminada en el cuadro local. Hay una manera de codificar el script para evitar esto, colocando el inicio de sesión en el script, en lugar de hacerlo en el terminal gnome:
... pero luego pierde la flexibilidad de definir su nombre de usuario de inicio de sesión para ese cuadro. Esa característica adicional del guión la dejo como ejercicio para el lector.
fuente
Acabo de notar que mi solución original ya ha sido rechazada en la pregunta. Si bien no parece haber una manera simple de cambiar el perfil, puede cambiar el color de fondo / primer plano mediante el
setterm
comando.Entonces, esto
setterm -term linux -background black -foreground green
le daría un fondo negro con texto verde. El único problema es que ls tiene salida coloreada, por lo que es posible que desee desactivar la coloración ls. De lo contrario, se restablece al esquema de color anterior.Publicación original : hay una forma de evitarlo. Desde man gnome-terminal:
Aquí hay un ejemplo de mi máquina. Tengo tres perfiles: B & G (negro sobre verde), ForPrinting (fuente negra, fondo blanco) y Predeterminado. Entonces, lo que hago es en el tipo de ventana actual
gnome-terminal --window-with-profile=ForPrinting
. Entonces puedo matar la ventana vieja de la línea de comando o cambiar y cerrarla gráficamente.El perfil de B&G no funciona. Probablemente porque & no es un carácter válido, así que tenlo en cuenta al nombrar perfiles.
fuente
La solución muy fea que terminé usando es
(Esto selecciona el segundo perfil, pero puede cambiarlo para decir el perfil htir cambiando el segundo comando "tecla Abajo" a
xdotool key --delay 50 --repeat 2 Down
.¿Qué está haciendo esto?
Necesitarás xdotool instalado
sudo apt install xdotool
.¡Es extraordinario que el terminal en sí no permita la configuración a través del terminal!
fuente
Sería genial que gnome-terminal ofreciera un comando y acceso directo al "siguiente perfil"; desafortunadamente no lo hace.
Una solución alternativa para las
Alt+T
personas con discapacidad (Edición> Preferencias> Habilitar mnemónicos - sin marcar) es:F10 left left down right
y seleccione el perfil. Ay.fuente
Esta es una publicación bastante antigua, pero debido a que seguía apareciendo mientras buscaba resolver este mismo problema, pensé que publicaría mi solución.
Esto implica una pequeña secuencia de comandos de Python y reasignar el botón CTRL + ALT + T para ejecutar la secuencia de comandos en lugar de simplemente iniciar el terminal.
Cree un archivo de texto, llamé mine terminal.py y asegúrese de que sea ejecutable. Coloque el siguiente código en él. Esto abrirá las ventanas de la terminal usando todos los perfiles disponibles en secuencia asegurándose de que el marcado "predeterminado" sea el primero en la lista.
Use la utilidad de configuración del teclado para asignar un nuevo acceso directo a este script. Para mí, reasigné CTRL + ALT + T porque ese es el atajo al que estoy acostumbrado para abrir una ventana de terminal.
Asegúrese de crear varios perfiles en su terminal. Este script hará uso de todos sus perfiles. Entonces, cuanto más crees, más variaciones en las ventanas también podrás obtener. Tengo varios que son todos idénticos, excepto por el color de fondo. Esto me ayuda a reconocerlos mientras los presiono alternativamente.
fuente