So automatisieren Sie das Starten von Terminalinstanzen für bestimmte Aufgaben
10
Ich gehe einige Programmier-Tutorials durch und muss für jede Sitzung mindestens 3 Terminalfenster starten (eines für das Ende einer Protokolldatei, eines zum Testen der Ausgabe, eines zum Ausführen verschiedener Shell-Befehle usw.).
Im Moment starte ich sie alle manuell: Klicken Sie auf das Terminal-Symbol, wechseln Sie in den richtigen Ordner, geben Sie die Befehle ein und ändern Sie den Fenstertitel in einen aussagekräftigen Titel.
Gibt es eine Möglichkeit, ein Skript zu schreiben oder etwas, das das für mich automatisiert? Und wenn ja, wie?
(Ich finde es cool, kein vollständiges Skript als Antwort zu erhalten. Ein Zeiger, wo ich mit dem Lesen beginnen soll, würde auch funktionieren.)
In diesem Beispiel werden drei Fenster gestartet (obwohl Sie --tabfür Registerkarten übergeben könnten ) und die Arbeitsverzeichnisse (relativ zu home) und Titel für jedes tailFenster festgelegt , der Befehl in einem Fenster gestartet und das dritte Fenster aktiviert.
Natürlich können Sie es vorziehen, separate Zeilen zu verwenden, um jedes Fenster zu starten, insbesondere wenn Sie viele Argumente haben.
Eine weitere nützliche Sache, wenn Sie Ihre Fenster nach Ihren Wünschen angeordnet haben, ist die Verwendung
gnome-terminal --save-config=FILE
Dadurch wird eine Konfigurationsdatei mit Informationen zu allen geöffneten Terminalfenstern und Registerkarten (einschließlich der Titel, Arbeitsverzeichnisse usw.) erstellt. Wenn Sie gnome-terminal mit der --load-configOption starten, wird Ihr Layout neu erstellt.
Viele Entwickler, die mit mehreren Terminals arbeiten, verwenden Terminator gern, da es Funktionen wie ein Rasterlayout und Tastaturkürzel hinzufügt.
Wird das Fenster auf diese Weise mit dem Flag -e geschlossen, sobald der Befehl ausgeführt wird? Und wenn ja, kann das Fenster geöffnet bleiben?
EMF
8
Unabhängig davon, welchen Terminalemulator Sie verwenden, sollte ein Befehl als Argument akzeptiert werden können. Beispielsweise:
gnome-terminal -e "tail -f /var/log/syslog"
Fügen Sie Ihrem Autostart einfach solche Befehle unter System -> Einstellungen -> Sitzungen (Ubuntu) oder Systemeinstellungen -> Autostart (Kubuntu) hinzu.
Sie können dies auch mithilfe eines Skripts automatisieren. Ich empfehle, das Advanced Bash Scripting Guide oder das Bash Programming HOWTO zusammen mit der Manpage für das von Ihnen verwendete Terminal zu lesen.
Ja, sofern das Gnome-Terminal nicht bereits ausgeführt wird, öffnet der Befehl nur ein neues Fenster für den anderen ausgeführten Prozess und wird dann geschlossen.
Unabhängig davon, welchen Terminalemulator Sie verwenden, sollte ein Befehl als Argument akzeptiert werden können. Beispielsweise:
Fügen Sie Ihrem Autostart einfach solche Befehle unter System -> Einstellungen -> Sitzungen (Ubuntu) oder Systemeinstellungen -> Autostart (Kubuntu) hinzu.
quelle
Sie können dies auch mithilfe eines Skripts automatisieren. Ich empfehle, das Advanced Bash Scripting Guide oder das Bash Programming HOWTO zusammen mit der Manpage für das von Ihnen verwendete Terminal zu lesen.
Hier ist ein einfaches Beispiel:
Dann machen Sie es einfach ausführbar:
quelle
exec
all das?