Öffnen Sie gnome Terminal programmatisch und Ausführen von Befehlen nach bashrc ausgeführt wurde
-
29-09-2019 - |
Frage
Ich versuche, ein kleines Skript zu bauen, um meine Entwicklungsumgebung zu starten. Für diese Aufgabe versuche ich mit mehreren Registerkarten GNOME-Terminal zu öffnen, in dem automatisch Schienen der Server und Autotest gestartet wird. Aber
gnome-terminal --tab -e "rails server" --tab --tab
funktioniert nicht ( „Fehler beim Erstellen des untergeordneten Prozesses“). Auch
gnome-terminal --tab -e "bash -c \"rails server\"" --tab --tab`
funktioniert nicht. Irgendwelche Vorschläge, wie dieses Problem zu lösen?
Lösung
Hier ist ein schöner Trick, den wir ausgearbeitet unter Gilles : Vielen Dank für die Lösung
Andere Tipps
Stab im Dunkeln: create Shell-Skripten für jeden Befehl, den Sie in einem Tab ausgeführt werden soll, so dass sie ausführbar machen und rufen sie von absoluten Pfad, z.B. setzen diese in /home/zardoz/bin/railsstart
#! /bin/sh
exec rails server
chmod +x
, und dann tun
gnome-terminal --tab -e /home/zardoz/bin/railsstart --tab --tab ...
Wenn das nicht funktioniert, das nächste, was ich versuchen würde, strace -f -o /tmp/trace.log
am Anfang des Befehls festhält, lässt sie scheitern, und dann trace.log
Graben durch eigentlich das System, um herauszufinden Anruf fehlgeschlagen ist und warum (es werde sein eine enorme Menge an Junk in da -. vom Ende rückwärts und sucht alle aktivierten Code-Sätze lesen beginnend mit E wie „ENOEXEC“, „ENOENT“, „EPERM“, Art der Sache)
EDIT: Hier ist, wie Sie in allen .bashrc
Einstellungen in einem dieser Skripte ziehen:
#! /bin/bash
. ~/.bashrc
exec rails server
Achtung: Sie müssen Ihre .bashrc
so einzustellen, dass es bestimmte Dinge nicht tut, dass nur Arbeit in einer „echten“ interaktiven Shell-Sitzung. Sorgen Sie sich nicht darüber, wenn Sie seltsame Fehler vor Schienen beginnt zu bekommen.
ich den Fehler unter der Annahme entsteht, weil PATH nicht an der Zeit gnome-terminal versucht gesetzt Schienen zu laufen.
Warum verwenden Sie den vollständigen Pfad nicht auf die Serverschienen, oder ein Skript, das setzt die PATH-Variable erstellen?
antwortete schon, aber nur für den Fall Besuche dieses Juwel dass automates das Terminal auf KDE, OSX und Gnome-Desktops.
für ubuntu 16.04
drücken Ctr+Shift+T
Dies wird eine neue Registerkarte im gleichen Fenster öffnen. zusätzlich eine Taste für mehr Registerkarten Hinzufügen neben der am weitesten rechts stehenden Tab angezeigt wird.