Zapisać układ wielu terminali gnome?

24

Mam wiele otwartych okien terminalu gnomów. Czy istnieje sposób na zapisanie ustawień (pozycja okna, liczba zakładek, tytuł itp.). przez restart systemu operacyjnego?

Abhinav
źródło

Odpowiedzi:

16

Znalazłem następujące opcje, które są pomocne:

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

Powyższe przywraca odpowiednią liczbę okien terminalu gnome z odpowiednimi zakładkami, ale pozycja i tytuł okna nie są przywracane. Nadal początek :)

Abhinav
źródło
Pozycje i rozmiar okna zostały zapisane, kiedy właśnie wypróbowałem te polecenia za pomocą gnome-terminal 3.6.1 - w tym przypadku Linux Mint 15 z Cinnamon - co czyni to trochę bardziej użytecznym. (Dzięki!)
David Duncan,
5
Opcja --save-config została usunięta jako „przestarzała” z terminala gnome od (przynajmniej) 3.10.2.
srking
@srking progress!
drs
10

Po skonfigurowaniu terminala gnome zgodnie z upodobaniami (tj. Liczby kart otwartych dla niektórych katalogów), zapisz stan sesji z poziomu okna terminala gnome za pomocą następującego polecenia:

gnome-terminal --save-config = mytabs

Następnie tworzę niestandardowy program uruchamiający aplikacje na moim panelu, który wykonuje następujące polecenie

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

leif81
źródło
Ten rodzaj działa, ale nie zapisuje danych wyjściowych z poprzednich poleceń, więc nie mogę przewinąć w górę i zobaczyć, co zrobiłem.
samthebest
@samthebest Tak, tylko zapisuje i przywraca bieżący katalog roboczy każdej karty, a nie historię przewijania.
leif81
2

Możesz utworzyć profile dla Gnome-Terminal z Edit Profilesokna dialogowego w Editmenu. Aby uruchomić Gnome-Terminal z określonym profilem, wykonaj następujące czynności:

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

Oczywiście możesz skonfigurować różne ikony programu uruchamiającego, aby automatycznie uruchamiać różne profile, lub możesz dołączyć wiersze do skryptu uruchamiania sesji X, aby podczas logowania uruchamiać kilka różnych terminali, każdy z innym profilem. Różne opcje można łączyć w ikonę programu uruchamiającego, aby dać ci jeden określony typ terminala, i możesz utworzyć tyle programów uruchamiających, ile potrzebujesz różnych typów terminali.

Inne opcje wiersza poleceń mogą być przydatne, aby uzyskać dokładnie pożądany efekt, jeśli mechanizm profilu nie jest dla Ciebie wystarczająco drobnoziarnisty. Zobacz man gnome-terminalw swoim systemie szczegółowe informacje, ale oto kilka sugestii z dyskusji na forum Ubuntu :

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

# set the titlebar
--title=irssi

# run a particular program
--execute irssi
quack quixote
źródło
1
Jest blisko, ale zastanawiam się, czy to, czego chcę, można łatwiej osiągnąć. Mam już profile i otwieram okna. Czy jest jakiś stan sesji dla każdego terminalu gnome, który mogę zapisać, a następnie „załadować / uruchomić” w dowolnym momencie, aby wszystko, co zapisałem, zadziałało?
Abhinav,
Prawdopodobnie coś w .gconf?
Abhinav,
obawiam się, że taki jest zakres mojej wiedzy; od kilku lat nie jestem użytkownikiem Gnome.
quack quixote
0

Używam dwuetapowego podejścia z moim terminalem xfce. Najpierw otwieram okna:

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

a następnie przenieś je za pomocą wmctrl:

wmctrl -r 'hTop' -t 3
wmctrl -r 'hTop' -e 0,927,33,1000,550
Jaskółka oknówka
źródło
0

Pozycja okna:

gnome-terminal --geometry=115x30+0+670
Gafel
źródło
0

gnome-terminal --save-config i --load-config są dobrymi opcjami, aby zrobić pełny dowód, że użyłem następującego skryptu skrypt jest wolny, ale działa dla mnie. 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"

sen jest zamierzony, ponieważ jeśli porusza się szybko, traci ścieżkę. Musisz także zainstalować xdotool. Utwórz alias w .bashrc jako

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

Mam nadzieję, że to pomaga

Manish
źródło