I have multiple gnome-terminal windows open. Is there a way to save the settings (window position, no. of tabs, title etc). across OS reboots ?
6 Answers
I found the following options which are helpful :
--load-config=FILE Load a terminal configuration file
--save-config=FILE Save the terminal configuration to a file
The above does restore the appropriate number of gnome-terminal windows with proper tabs, but the window position and title are not restored. Still, a start :)
- 2,040
Once you have your gnome-terminal configured the way you like (i.e. number of tabs, open to certain directories), save the session state from within your gnome-terminal window with the following command:
gnome-terminal --save-config=mytabs
Then what I do is create a custom application launcher on my panel that executes the following command
gnome-terminal --load-config=/home/leif/mytabs
- 477
You can create profiles for Gnome-Terminal from the Edit Profiles dialog under the Edit menu. To start Gnome-Terminal with a certain profile, you'd do this:
gnome-terminal --window-with-profile=<profile_name>
Naturally, you can configure different launcher icons to automatically launch different profiles, or you could include lines in an X-session startup script to start several different terminals, each with a different profile, when you login. Various options can be combined in a launcher icon to give you one specific terminal type, and you could create as many launchers as you need different terminal types.
Other commandline options might be useful to get exactly the effect you want, if the profile mechanism isn't fine-grained enough for you. See man gnome-terminal on your system for full details, but here are some suggestions from this Ubuntu forum discussion:
# define a terminal 100 columns by 20 lines
--geometry=100x20
# set the titlebar
--title=irssi
# run a particular program
--execute irssi
- 43,504
gnome-terminal --save-config and --load-config are good options though to make it full proof i have used the following script the script is slow but works for me. 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"
the sleeps are intended cause if it moves fast it will loose the track. Also you need xdotool installed. Create the alias in the .bashrc as
alias st='save-terminals.sh ~/.terminal.cfg'
alias lt='load-terminals.sh ~/.terminal.cfg'
Hope that helps
- 1