Antworten:
Ja, es gibt einen Weg. Sie müssen gnome-terminal anweisen, Registerkarten mit bestimmten Profilen zu starten. Diese Profile müssen so eingerichtet sein, dass eine Shell mit den gewünschten Befehlen gestartet wird.
Zuerst müssen Sie ein Skript (oder ein Startsymbol) erstellen, das gestartet wird gnome-terminal --tab-with-profile=Dev
. "Dev" ist der Name eines Profils, das Sie erstellen. Ersetzen Sie es also durch das, was Sie möchten. Sie können auch so viele --tab-with-profile
s angeben, wie Sie möchten: Es wird jeweils eine Registerkarte geöffnet.
Jetzt benötigen Sie das Profil, auf das Sie gerade verwiesen haben. Dies wird durch Öffnen gnome-terminal
und Suchen Edit->Profiles...
im Menü erstellt. Erstellen Sie ein neues Profil und geben Sie ihm den Namen, den Sie im vorherigen Schritt angegeben haben. Als nächstes müssen Sie die Einstellungen festlegen. Markieren Sie das neu erstellte Profil und klicken Sie auf die Schaltfläche Bearbeiten. Wenn das Dialogfeld "Profileinstellungen" geöffnet ist, aktivieren Sie die Registerkarte "Titel und Befehl", aktivieren Sie "Benutzerdefinierten Befehl ausführen ..." und geben Sie in das zugehörige Textfeld ein sh -c "ENV=$HOME/.dev_profile sh"
. Natürlich können Sie ENV auf einen beliebigen Pfad einstellen, solange Sie im nächsten Schritt konsistent sind. Dies startet sh und sh führt alle Befehle aus, die darin enthalten sind$HOME/.dev_profile
Als Nächstes müssen Sie diese Shell-Profildatei erstellen. Bearbeiten Sie also $ HOME / .dev_profile (oder eine beliebige Datei, die Sie im vorherigen Schritt angegeben haben). Platzieren Sie dort die gewünschten Befehle. Sie werden ausgeführt, wenn die Shell gestartet wird. Behandeln Sie dies wie eine .bashrc - dies wird es ersetzen. Abhängig davon, wie Ihre .bashrc eingerichtet ist, möchten Sie möglicherweise source $HOME/.bashrc
im Profil alle Funktionen von Ihrem normalen sh-Profil kopieren.
Sie können mehrere Befehle in derselben Gnome-Terminal-Befehlszeile starten, indem Sie die --tab-with-profile
Option mehrmals angeben, gefolgt von einem einzelnen -e
Befehl, der angibt, welcher Befehl auf dieser Registerkarte ausgeführt werden soll. Sie können auch --window-with-profile
mehrere Fenster verwenden. Mit dem folgenden Befehl werden beispielsweise zwei Fenster mit jeweils zwei Registerkarten gestartet. Das erste Fenster führt Bash in jeder Registerkarte aus und setzt die Umgebungsvariable TAB
auf 1 oder 2. Das zweite Fenster wird htop
auf einer Registerkarte und iotop
auf der anderen Registerkarte ausgeführt. Das explizitesh
Aufruf mit korrekter Anführungszeichen ist aus irgendeinem Grund erforderlich.
gnome-terminal --tab-with-profile="Default" -e 'sh -c '\''export TAB=1; exec bash'\' \
--tab-with-profile="Default" -e 'sh -c '\''export TAB=2; exec bash'\' \
--window-with-profile="Default" -e 'htop' \
--tab-with-profile="Default" -e 'iotop'
Wenn Sie möchten, dass ein Befehl beim Anmelden ausgeführt wird, fügen Sie ihn beispielsweise in ein Shell-Skript ein ~/bin/my_gnome_login_commands
und registrieren Sie ihn beispielsweise unter „System / Einstellungen / Startanwendungen“ im Gnome-Menü. Alternativ erstellen Sie eine Datei ~/.config/autostart/my_commands.desktop
mit
[Desktop Entry]
Type=Application
Exec=/home/tshepang/bin/my_gnome_login_commands
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
(Sie müssen den vollständigen Pfad zu Ihrem Home-Verzeichnis in der Exec=
Zeile verwenden, den Sie nicht verwenden können ~
.)
(Diese Antwort wurde mit Gnome 2.30 unter Ubuntu 10.04 getestet. Da Gnome manchmal die Kompatibilität beeinträchtigt, gilt sie möglicherweise für andere Versionen.)
Ich sehe hier viele Sachen. Wahrscheinlich brauchen Sie nichts davon.
Dies sind die Schritte, die ich in meinem Oracle 5.9 Linux ausgeführt habe:
Es hat bei mir funktioniert. In meinem Fall möchte ich natürlich nur .profile ausführen, um meine Terminalumgebung einzurichten.