¿Guardar múltiples diseños de terminales gnome?


24

Tengo varias ventanas de terminal de gnomo abiertas. ¿Hay alguna manera de guardar la configuración (posición de la ventana, número de pestañas, título, etc.). a través de reinicios del sistema operativo?

Respuestas:


16

Encontré las siguientes opciones que son útiles:

--load-config=FILE              Load a terminal configuration file
--save-config=FILE              Save the terminal configuration to a file

Lo anterior restaura el número apropiado de ventanas de terminal gnome con las pestañas adecuadas, pero la posición y el título de la ventana no se restauran. Aún así, un comienzo :)


Las posiciones y el tamaño de las ventanas se guardaron cuando probé estos comandos con gnome-terminal 3.6.1 - Linux Mint 15 con Cinnamon en este caso, lo que hace que esto sea un poco más útil. (¡Gracias!)
David Duncan

55
La opción --save-config se eliminó como "obsoleta" de gnome-terminal a partir de (al menos) 3.10.2.
Srking

¡Progresando!
Dres

10

Una vez que haya configurado su terminal gnome de la manera que desee (es decir, número de pestañas, abierto a ciertos directorios), guarde el estado de la sesión desde su ventana de terminal gnome con el siguiente comando:

gnome-terminal --save-config = mytabs

Luego, lo que hago es crear un iniciador de aplicaciones personalizado en mi panel que ejecuta el siguiente comando

gnome-terminal --load-config = / home / leif / mytabs


Este tipo de trabajo funciona, pero no guarda el resultado de los comandos anteriores, por lo que no puedo desplazarme hacia arriba y ver lo que hice.
samthebest

@samthebest Ya, solo guarda y restaura el directorio de trabajo actual de cada pestaña, no el historial de desplazamiento.
leif81

2

Puede crear perfiles para Gnome-Terminal desde el Edit Profilescuadro de diálogo debajo del Editmenú. Para iniciar Gnome-Terminal con un determinado perfil, debe hacer esto:

gnome-terminal --window-with-profile=<profile_name>

Naturalmente, puede configurar diferentes íconos de inicio para iniciar automáticamente diferentes perfiles, o puede incluir líneas en un script de inicio de sesión X para iniciar varios terminales diferentes, cada uno con un perfil diferente, al iniciar sesión. Se pueden combinar varias opciones en un ícono de iniciador para darle un tipo de terminal específico, y puede crear tantos lanzadores como necesite diferentes tipos de terminal.

Otras opciones de línea de comandos pueden ser útiles para obtener exactamente el efecto que desea, si el mecanismo del perfil no es lo suficientemente detallado para usted. Vea man gnome-terminalen su sistema los detalles completos, pero aquí hay algunas sugerencias de esta discusión en el foro de Ubuntu :

# define a terminal 100 columns by 20 lines
--geometry=100x20

# set the titlebar
--title=irssi

# run a particular program
--execute irssi

1
Esto está cerca, pero me pregunto si lo que quiero se puede lograr más fácilmente. Ya tengo perfiles y abro ventanas. ¿Hay algún estado de sesión para cada terminal gnome, que pueda guardar y luego "cargar / ejecutar" en cualquier momento para que surta efecto lo que haya guardado?
Abhinav

¿Probablemente algo en .gconf?
Abhinav

me temo que ese es el alcance de mi conocimiento; No he sido usuario de Gnome desde hace un par de años.
quack quijote

0

Utilizo un enfoque de dos pasos con mi terminal xfce. Primero abro las ventanas:

xfce4-terminal --hide-menubar --hide-borders --hide-toolbars -e htop -T hTop

y luego moverlos con wmctrl:

wmctrl -r 'hTop' -t 3
wmctrl -r 'hTop' -e 0,927,33,1000,550

0

Posición de la ventana:

gnome-terminal --geometry=115x30+0+670

0

gnome-terminal --save-config y --load-config son buenas opciones, aunque para que sea una prueba completa, he usado el siguiente script, el script es lento pero funciona para mí. 1. save-terminals.sh

FILE=$1
gnome-terminal --save-config=$FILE

LINES=($(grep -n '\[Terminal' $FILE | cut -d: -f1))
echo $LINES
for ((i=0; i<$(grep '\[Terminal' $FILE | wc -l); i++))
do
    TITLE=$(xprop -id $WINDOWID WM_NAME | sed -e 's/WM_NAME(STRING) = "//' -e 's/"$//';xdotool key ctrl+Right;)
    echo $TITLE
    sed -ri "$((${LINES[$i]}+$i))s/.*/&\nTitle=$TITLE/" /tmp/test
done

2. load-terminals.sh

FILE=$1
LINES=$(grep '\[Terminal' $FILE | wc -l)
TITLE=($(grep -n '\Title' $FILE | cut -d= -f2))
gnome-terminal --load-config=$FILE
for ((i=0; i<$LINES; i++))
do
    xdotool key Ctrl+Right
    xdotool key "Return"
    sleep 1
    xdotool key Alt+t
    sleep 1
    xdotool key s
    sleep 1
    xdotool type ${TITLE[$i]}
    xdotool key "Return"
    xdotool key "Return"
    sleep 1
done
xdotool key Alt+Tab
xdotool key Shift+Ctrl+Q
xdotool key "Return"

los durmientes son intencionales porque si se mueve rápido perderá la pista. También necesitas xdotool instalado. Cree el alias en el .bashrc como

alias st='save-terminals.sh ~/.terminal.cfg'
alias lt='load-terminals.sh ~/.terminal.cfg'

Espero que ayude

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.