Speichern Sie mehrere Gnome-Terminal-Layout?


24

Ich habe mehrere Gnome-Terminal-Fenster geöffnet. Gibt es eine Möglichkeit, die Einstellungen zu speichern (Fensterposition, Anzahl der Registerkarten, Titel usw.)? über Betriebssystem-Neustarts?

Antworten:


16

Ich habe die folgenden Optionen gefunden, die hilfreich sind:

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

Das oben Genannte stellt die entsprechende Anzahl von Gnome-Terminal-Fenstern mit den richtigen Registerkarten wieder her, aber die Fensterposition und der Titel werden nicht wiederhergestellt. Trotzdem ein Anfang :)


Fensterpositionen und -größe wurden gespeichert, als ich diese Befehle gerade mit gnome-terminal 3.6.1 ausprobiert habe - in diesem Fall Linux Mint 15 mit Cinnamon - was dies ein gutes Stück nützlicher macht. (Danke!)
David Duncan

5
Die Option --save-config wurde ab (mindestens) 3.10.2 von gnome-terminal als "obsolet" entfernt.
srking

@srking Fortschritt!
drs

10

Sobald Sie Ihr Gnome-Terminal so konfiguriert haben, wie Sie es möchten (dh Anzahl der Registerkarten, die für bestimmte Verzeichnisse geöffnet sind), speichern Sie den Sitzungsstatus in Ihrem Gnome-Terminal-Fenster mit dem folgenden Befehl:

gnome-terminal --save-config = mytabs

Anschließend erstelle ich auf meinem Bedienfeld einen benutzerdefinierten Anwendungsstarter , der den folgenden Befehl ausführt

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


Diese Art funktioniert, speichert jedoch nicht die Ausgabe der vorherigen Befehle, sodass ich nicht nach oben scrollen und anzeigen kann, was ich getan habe.
Samthebest

@samthebest Ja, es wird nur das aktuelle Arbeitsverzeichnis der einzelnen Registerkarten gespeichert und wiederhergestellt, nicht der Bildlaufverlauf.
Leif81

2

Sie können Profile für Gnome-Terminal über den Edit ProfilesDialog unter dem EditMenü erstellen . So starten Sie Gnome-Terminal mit einem bestimmten Profil:

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

Natürlich können Sie verschiedene Startsymbole so konfigurieren, dass automatisch verschiedene Profile gestartet werden, oder Sie können Zeilen in ein X-Session-Startskript aufnehmen, um mehrere verschiedene Terminals mit jeweils einem anderen Profil zu starten, wenn Sie sich anmelden. In einem Starter-Symbol können verschiedene Optionen kombiniert werden, um einen bestimmten Terminaltyp zu erhalten, und Sie können so viele Starter erstellen, wie Sie verschiedene Terminaltypen benötigen.

Andere Befehlszeilenoptionen können hilfreich sein, um genau den gewünschten Effekt zu erzielen, wenn der Profilmechanismus für Sie nicht detailliert genug ist. man gnome-terminalAusführliche Informationen finden Sie auf Ihrem System. Hier sind jedoch einige Vorschläge aus dieser Ubuntu-Forumsdiskussion :

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

# set the titlebar
--title=irssi

# run a particular program
--execute irssi

1
Das ist nah dran, aber ich frage mich, ob ich das, was ich will, leichter erreichen kann. Ich habe bereits Profile und öffne Fenster. Gibt es für jedes Gnome-Terminal einen Sitzungsstatus, den ich speichern und dann jederzeit "laden / ausführen" kann, damit alles, was ich gespeichert habe, wirksam wird?
Abhinav

Wahrscheinlich etwas in .gconf?
Abhinav

Ich fürchte, das ist der Umfang meines Wissens. Ich bin jetzt seit ein paar Jahren kein Gnome-Benutzer mehr.
Quack Quijote

0

Ich benutze einen zweistufigen Ansatz mit meinem xfce-Terminal. Zuerst öffne ich die Fenster:

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

und verschiebe sie dann mit wmctrl:

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

0

Fensterposition:

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

0

gnome-terminal --save-config und --load-config sind gute Optionen, obwohl das Skript langsam ist, aber für mich funktioniert. 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"

Der Schlaf ist beabsichtigt, denn wenn er sich schnell bewegt, verliert er die Spur. Außerdem muss xdotool installiert sein. Erstellen Sie den Alias ​​in der .bashrc als

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

hoffentlich hilft das

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.