Öffnen Sie gnome Terminal programmatisch und Ausführen von Befehlen nach bashrc ausgeführt wurde

StackOverflow https://stackoverflow.com/questions/3896882

  •  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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top