El_Nakhla
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 401
Wohnort: 127.0.0.1
|
Ich habe eine neue Datei geschrieben, die mir auf Doppelklick eine Java-Datei (bzw. die dazugehörige .class) öffnet, damit ich das nicht jedes mal machen muss, wenn ich diese jetzt öffne bekomme ich natürlich folgende Meldung: Ungültiges MakroDieses Makro ist nicht verfügbar Das Problem habe ich auch bei anderen Shell-Scripten aber das ist halt eben jetzt das Beispiel... Der Code für die Datei ist:
#!/bin/sh wd=$(pwd) cd workspace/TheJavaProjekt/ java VokabelProjekt.VokabelTrainer "$@" cd $🇼🇩
Wobei natürlich *"cd workspace/TheJavaProject" das Verzeichniss der Java ist und *"java VokabelProjekt.VokabelTrainer " das was er tuhen soll Meine Frage ist jetzt: Wie schreibe ich es in den Shell-Script, dass er es ohne die Abfrage sofort entweder *'Im Terminal ausführen' oder *nur 'Ausführen' soll?
|
JuergenF
Anmeldungsdatum: 22. Oktober 2004
Beiträge: 2009
Wohnort: FFM
|
Da ist nicht Dein Script dran Schuld. Das ist eine Einstellung in Nautilus, auf dem Reiter 'Verhalten' - die steht bestimmt auf 'Jedes mal nachfragen'
|
El_Nakhla
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 401
Wohnort: 127.0.0.1
|
Danke danke - so weit so gut, aber jetzt öffnet er zum beispiel ALLE so - ich will aber, dass er die java im Terminal öffnet, da ich keine Grafische Umgebung mitgeschrieben habe - sonsern der eben alles im Terminal macht... Also manche IM TERMINAL, andere OHNE TERMINAL... geht das auch?
|
FLoH.tar
Anmeldungsdatum: 6. Januar 2006
Beiträge: 470
|
Wenn du dir einen Starter auf den Desktop legst, kannst du in den Eigenschaften des Starters einstellen, ob das Programm im Terminal ausgeführt werden soll. Auch, wenn du für dein Programm ein Punkt im Menü haben willst, ist dies möglich: System > Einstellungen > Hauptmenü > Button "Neuer Eintrag" > Typ:[Anwendung im Terminal]
|
El_Nakhla
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 401
Wohnort: 127.0.0.1
|
Dankeschön, funktioniert... - jedenfalls in der Theorie, also zu Hälfte... was beid er anderen Hälfte nicht stimmt finde ich abe rnoch raus, danke jedenfalls!
|
SpeeFak
Anmeldungsdatum: 30. Oktober 2006
Beiträge: 1171
|
würde das nicht einfach gehn indem du der daten nur die ausführenden rechte gibst ? ich mein ich hab das damals bei dem prob so gemacht 😉
|
El_Nakhla
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 401
Wohnort: 127.0.0.1
|
Da müsstest du mir erklären, wie das funktioniert! Geht das sowohl mit "In Terminal Ausführen" als auch mit "Ausführen"? Genau so was suche ich nämlich! Dass ich sage, "diese Datei immer so-und-so ausführen!"
|
MrKanister
Anmeldungsdatum: 13. Oktober 2007
Beiträge: 2105
|
Ausführungsrechte kannst du einer Datei mittels chmod +x [Pfad zur Datei] geben. Allerdings wirst du dann wenn du einen Doppelklick auf betreffende Datei machst von Nautilus trotzdem gefragt, ob du sie anzeigen oder ausführen willst Am besten rufst du das Skript einfach über die Kommandozeile auf Gruß Martin
|
El_Nakhla
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 401
Wohnort: 127.0.0.1
|
achso, ja! das habe ich schon geamcht! sie sit ausführbar! ich will nur die Nautilus anzeige weg haben!
|
MrKanister
Anmeldungsdatum: 13. Oktober 2007
Beiträge: 2105
|
So weit ich weiß geht nur entweder "immer fragen" oder "nie fragen". Klärt mich auf, wenns anders ist 😀 Gruß Martin
|
El_Nakhla
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 401
Wohnort: 127.0.0.1
|
So weit bin ich auch - aber es gibt so leider nicht die Möglichkeit, es im Terminal ausführen zu lassen, und das brauche ich. Ich glaube, ich habe das nicht richtig erklärt: Die Ausführbare Textdatei öffnet eine .class-Datei, also ein Java Programm. Ich habe mich noch nicht darin eingelesen wie ich eine Grafische Umgebung für dieses Programm schreibe. Also benutze ich das Terminal als Grafische Umgebung, sozusagen jedenfalls. Bei anderen Programmen von mir mag das ja auch keinen unterschied darstellen ob jetzt das Terminal das öffnet oder ich es so öffne - offen ist es so oder so! Aber das hier muss halt auch im Terminal angezeigt werden! Sorry!
|
JuergenF
Anmeldungsdatum: 22. Oktober 2004
Beiträge: 2009
Wohnort: FFM
|
Öffne in Deinem Script doch einfach ein neues Gnome-Terminal. Dem kannst Du mit dem Parameter '--command CMD' oder kurz '-e CMD' mitgeben, dass es direkt damit loslegen soll CMD auszuführen. Das CMD müsste dann eben der Aufruf Deines Java-Programms sein. Vermutlich könntest Du auch noch erst gucken ($TERM), ob das Script schon in einem Terminal ausgeführt wird, und dann kein neues aufrufen.
|
El_Nakhla
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 401
Wohnort: 127.0.0.1
|
Vielen Dank! So hatte ich mir das auch vorgestellt! ABER - ich verstehe den "--command" Befehl nicht (und Google versteht wiederum "–" nicht, wesshalb ich auch auf Comand&Conquer lande 😀 ) Mein Befehl sieht jetzt wie folgt aus: #!/bin/sh
xterm
cd ..
cd workspace/TheJavaProjekt/
java VokabelProjekt.VokabelTrainer Wobei dieser Teil ein neues Terminal öffnet... xterm ...und dieser Teil ausgeführt werden soll: cd ..
cd workspace/TheJavaProjekt/
java VokabelProjekt.VokabelTrainer[/[/code]
Er öffnet auch ein neues Terminal, dessen Position mein Desktop ist, jetzt sollte er nur wissen, dass er den Rest in eben diesem Terminal ausführen soll!
|
MrKanister
Anmeldungsdatum: 13. Oktober 2007
Beiträge: 2105
|
Das wird so nicht funktionieren, da du in dem Shellskript mit xterm eine Subshell aufrufst...Diese Sub shell interessiert es aber nicht, was ihre "Eltern-Shell" zu tun hat. Ich denke mal du köntest aber in der She-Bang Zeile statt #! /bin/sh #! /bin/xterm schreiben. Das sollte funktionieren.
|
El_Nakhla
(Themenstarter)
Anmeldungsdatum: 12. Dezember 2007
Beiträge: 401
Wohnort: 127.0.0.1
|
Nein, entschuldige! Funktioniert nicht! Der Code sieht jetzt so aus: #!/bin/xterm
xterm
cd ..
cd workspace/TheJavaProjekt/
java VokabelProjekt.VokabelTrainer Wenn ich in der Nautilus anchfrage aus "Ausführen" drücke kommt gar nichts, bei "Im Terminal ausführen" kommt natürlich kurz das Terminal Fenster, welches sich aber ganz schnell wieder schließt! Anders: was wäre dennd er Befehl, ein neues Terminal-Fenster zu öffnen?
|