ubuntuusers.de

gnome-terminal mit Parameter?

Status: Gelöst | Ubuntu-Version: Ubuntu 8.04 (Hardy Heron)
Antworten |

rodgerwilco

Anmeldungsdatum:
23. März 2006

Beiträge: 490

Wohnort: Hannover

Hi Leute,

ich habe viele Shortcuts auf dem Desktop gehabt. Da mir das ganze zu unübersichtlich wurde, habe ich mir ein kleines Java-Programm geschrieben, welches die Programme startet. Einige von diesen Programmen wurden in einem Terminal ausgeführt. Beim Start durch das Java-Programm wird zwar das Programm gestartet, aber nicht in einem Terminal. Jetzt meine Frage: gibt es eine Möglichkeit, dem gnome-terminal einen Parameter mitzugeben, so dass ich dann das Terminal starten kann und darin das Programm ausgeführt wird? Bisher habe ich keine derartige Möglichkeit gefunden.

Gruß
rodgerwilco

x-haui

Anmeldungsdatum:
18. September 2007

Beiträge: 111

rodgerwilco hat geschrieben:

Jetzt meine Frage: gibt es eine Möglichkeit, dem gnome-terminal einen Parameter mitzugeben, so dass ich dann das Terminal starten kann und darin das Programm ausgeführt wird? Bisher habe ich keine derartige Möglichkeit gefunden.

Hallo,
suchst du vielleicht den -e Switch (gnome-terminal -e bc startet z.B. das Terminal und öffnet darin gleich den basic calculator)?

syscon-hh

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Was Du suchst ist vermutlich ein Starter mit folgendem Befehl gnome-terminal --command="Programm-Name incl. Ergänzungen". Das Ganze in Tüttelchen oder Hochkomma, sobald ein Leerzeichen vorhanden. Zum Ausprobieren mal "firefox http:/forum.ubuntuusers.de" als Programm-Name eingeben.

Und das Terminal solltest Du (unabhängig) nach dem Öffnen unter Bearbeiten → Profile und dann im neuen Fenster unter Bearbeiten → Reiter Titel und Befehl ganz unten bei wenn Befehl beendet auf Terminal verlassen einrichten.

gruß syscon-hh

HeinzBoettjer

Avatar von HeinzBoettjer

Anmeldungsdatum:
23. Februar 2007

Beiträge: 685

Wohnort: Bremen

Vielleicht hilft ja Umgebungsvariable weiter

rodgerwilco

(Themenstarter)

Anmeldungsdatum:
23. März 2006

Beiträge: 490

Wohnort: Hannover

Super Danke. der -e switch bzw. --command="..." ist genau das, was ich gesucht habe. Aber einen Befehl konnte ich damit leider nicht umsetzen.
Der Aufruf in Java ist wie folgt:

Runtime rt = Runtime.getRuntime();
String befehl = "gnome-terminal --command=\"/home/timm/daten/stuff/skripte/kopiermusik.pl -vc 10 /home/timm/daten/neueMusik/complete /media/disk-1\"";
rt.exec(befehl);
System.out.println(befehl);


Der Befehl wird mit folgenden ausgegeben:

gnome-terminal --command="/home/timm/daten/stuff/skripte/kopiermusik.pl -vc 10 /home/timm/daten/neueMusik/complete /media/disk-1"


leider tut sich beim Aufruf aus Java nichts. Wenn ich den Befehl aber in ein gnome-terminal copy-paste, dann öffnet sich ein neues Terminal und der Befehl wird ausgeführt. Warum nicht aus Java? Wenn da noch jemand eine Lösung hätte, wär das super.

mfg
rodgerwilco

rodgerwilco

(Themenstarter)

Anmeldungsdatum:
23. März 2006

Beiträge: 490

Wohnort: Hannover

Hab mal etwa gegooglet und eine Lösung gefunden.

String test = "/home/timm/daten/stuff/skripte/kopiermusik.pl -vc 10 /home/timm/daten/neueMusik/complete /media/disk-1";
Process p = new ProcessBuilder("gnome-terminal","-e",test).start();

Aber warum die andere Löung nicht funktioniert ist mir ein Rätsel.

josef64

Anmeldungsdatum:
1. September 2012

Beiträge: Zähle...

Falls " Zeichen in Java nicht verschachtelt werden können ist das sicher der Grund warum es nicht funktionierte. Wenn dieser Einwand stimmt, hätte folgendes funktionieren müssen:

String befehl = 'gnome-terminal --command=\"/home/timm/daten/stuff/skripte/kopiermusik.pl -vc 10 /home/timm/daten/neueMusik/complete /media/disk-1\"';

kann das mal wer testen? ich programmiere kein java - hätte mich nur interessiert

Antworten |