Сохранить несколько макетов терминала gnome?

24

У меня открыто несколько окон терминала gnome. Есть ли способ сохранить настройки (положение окна, количество вкладок, заголовок и т. Д.). через ОС перезагружается?

Abhinav
источник

Ответы:

16

Я нашел следующие варианты, которые полезны:

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

Вышеуказанное восстанавливает соответствующее количество окон терминала gnome с соответствующими вкладками, но положение и заголовок окна не восстанавливаются. Все же, начало :)

Abhinav
источник
Положение и размер окна были сохранены, когда я только что попробовал эти команды с gnome-терминал 3.6.1 - Linux Mint 15 с Cinnamon в этом случае - что делает это немного более полезным. (Спасибо!)
David Duncan
5
Опция --save-config была удалена из gnome-терминала как «устаревшая» с (как минимум) 3.10.2
srking
@ прогресс прогресса!
drs
10

После того, как ваш gnome-терминал сконфигурирован так, как вам нравится (то есть, количество вкладок, открытых для определенных каталогов), сохраните состояние сеанса из окна вашего gnome-терминала с помощью следующей команды:

gnome-терминал --save-config = mytabs

Тогда я создаю пользовательский лаунчер приложений на моей панели, которая выполняет следующую команду

gnome-терминал --load-config = / home / leif / mytabs

leif81
источник
Этот вид работает, но он не сохраняет результаты предыдущих команд, поэтому я не могу прокрутить вверх и посмотреть, что я сделал.
samthebest
@samthebest Да, он только сохраняет и восстанавливает текущий рабочий каталог каждой вкладки, а не историю прокрутки.
leif81
2

Вы можете создавать профили для Gnome-Terminal от Edit Profiles диалог под Edit меню. Чтобы запустить Gnome-Terminal с определенным профилем, вы должны сделать это:

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

Естественно, вы можете настроить разные значки запуска для автоматического запуска разных профилей или включить строки в скрипт запуска X-сеанса для запуска нескольких разных терминалов, каждый с разным профилем, при входе в систему. Различные опции могут быть объединены в значке модуля запуска, чтобы дать вам один конкретный тип терминала, и вы можете создать столько модулей запуска, сколько вам нужно, для различных типов терминалов.

Другие параметры командной строки могут быть полезны, чтобы получить именно тот эффект, который вы хотите, если механизм профиля недостаточно детализирован для вас. Увидеть man gnome-terminal в вашей системе для более подробной информации, но вот несколько советов от это обсуждение форума Ubuntu :

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

# set the titlebar
--title=irssi

# run a particular program
--execute irssi
quack quixote
источник
1
Это близко, но интересно, можно ли добиться того, чего я хочу, легче. У меня уже есть профили и открытые окна. Есть ли какое-то состояние сеанса для каждого терминала gnome, которое я могу сохранить, а затем «загрузить / запустить» в любое время, чтобы все, что я сохранил, имело эффект?
Abhinav
Возможно что-то в .gconf?
Abhinav
я боюсь, что это степень моего знания; Я не был пользователем Gnome уже пару лет.
quack quixote
0

Я использую двухэтапный подход с моим xfce-терминалом. Сначала я открываю окна:

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

а затем переместите их с помощью wmctrl:

wmctrl -r 'hTop' -t 3
wmctrl -r 'hTop' -e 0,927,33,1000,550
Martin
источник
0

Положение окна:

gnome-terminal --geometry=115x30+0+670
3498DB
источник
0

gnome-terminal --save-config и --load-config являются хорошими вариантами, хотя, чтобы сделать это полным доказательством, я использовал следующий скрипт: скрипт работает медленно, но работает для меня. 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"

сны предназначены, потому что если он будет двигаться быстро, он потеряет след. Также вам нужно установить xdotool. Создайте псевдоним в .bashrc как

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

надеюсь, это поможет

Manish
источник