¿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?

Abhinav
fuente

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 :)

Abhinav
fuente
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

leif81
fuente
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
quijote curandero
fuente
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
Martín
fuente
0

Posición de la ventana:

gnome-terminal --geometry=115x30+0+670
Garfio
fuente
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

Manish
fuente