# Verhalten von System.getenv() in Ubuntu / Linux



## spaghettiBolognese (4. Nov 2009)

Hallo,

habe auf Ubuntu 9.10 einen Pfad in die Umgebungsvariable PATH eingetragen. Den Eintrag habe ich in der '.bashsrc' folgendermaßen an das Ende der Datei eingetragen:

PATH=$PATH://home/bugra/Applikationen/GrGenNET-V2.5.1-2009-09-09/bin
export PATH


Gebe ich jetzt im Ubuntu-Terminal 'echo $PATH' ein, wird mir der Eintrag angezeigt, in Java mit System.getEnv('PATH') fehlt dieser Eintrag komplett. Warum?

Ich weiß guter Rat ist teuer, aber vllt. weiß da jdn. weiter ...


----------



## Wildcard (4. Nov 2009)

Wie und mit welchem User startest du dein Java Programm?


----------



## HoaX (5. Nov 2009)

Btw. warum //home? Einer reicht.


----------



## spaghettiBolognese (6. Nov 2009)

@Wildcard:
Das Java-Programm starte ich mit Eclipse (über das Terminal: sudo eclipse)

@Hoax:
Ich versteh nicht ganz, was du mit 'einer reicht' meinst? Muss man die home-Variable nicht angeben?


Habe noch was interessantes gefunden unter
Umgebungsvariablen dauerhaft setzen ? Forum ? ubuntuusers.de

Kann es sein, dass die Pfadvariable nur über das Terminal ausgelesen werden kann? Und daher mit Java nicht möglich ist?


----------



## max40 (6. Nov 2009)

die Umgebungsvariable ist nur für diese Sitzung Gültig!
Also wenn du einen weiteren Terminal aufmachst, hast du dort auch nicht mehr die Umgebungsvariable so wie du sie im anderen Terminal gesetzt hast!

Es liegt also nicht an Java!!!

Du Kannst in Eclipse unter Run As > ich glaube "Arguments" oder so deine  Variablen setzten!


----------



## Wildcard (6. Nov 2009)

sudo mit oder ohne preserve environment?


----------



## spaghettiBolognese (7. Nov 2009)

@max40
Ja, das kann man schon. Allerdings nützt es mir leider nichts. Das Proggie soll den Pfad eines bestimmten Programms aus der Pfadvariable auslesen, um es dann zu starten.

@Wildcard
Bin noch relativ neu bei Linux. Was meinst du mit preserve environment? Also geb es ganz normal über die KOnsole ein. Ohne besondere Parameter?


----------



## Wildcard (7. Nov 2009)

Der -E switch bestimmt ob die Umgebungsvariablen beibehalten, oder durch die des anderen Users ersetzt werden sollen.
Warum startest du Eclipse überhaupt mit sudo? :noe:


----------



## spaghettiBolognese (7. Nov 2009)

Nutze Eclipse um Plugins zu schreiben. Um die Plugins zu testen muss ich ne neue Eclipse Application starten, die er ohne den sudo Befehl nicht hinbekommt  Leider.


----------



## Wildcard (7. Nov 2009)

Dann ist was falsch konfiguriert. Ich schreibe ständig Eclipse Plugins auf Linux und Eclipse wird nicht mit sudo gestartet, das macht keinen Sinn.


----------



## spaghettiBolognese (7. Nov 2009)

Könnte sein, dass da was falsch programmiert ist. Habs grade nochmal ohne sudo ausprobiert, dann startet er das Plugin als Eclipse-Application nicht, weil 'Permission denied'. Hattest du mal was mit launch configurations in den Plugins zu tun?


----------



## Wildcard (8. Nov 2009)

Normaler Weg: Du lädst Eclipse runter, kopierst es mit sudo nach zB /opt/eclipse (ich gebe meinem Benutzer normalerweise Schreibrechte auf dieses Verzeichnis, das muss man aber nicht).
Dann mit deinem Benutzer starten, einen Workspace irgendwo in deinem home auswählen und das war's.


----------



## spaghettiBolognese (11. Nov 2009)

Ja, hab das jetzt auch so hinbekommen. Hab zuerst Eclipse als Package über den Ubuntu-SW-Manager installiert. Das war Quark.

Aber danke für deine Hilfe. Habs jetzt auch auf ne andere Art gelöst, hab da jetzt aber ein anderes Problem. Ich sag nur: Run external tool with Eclipse -> Java.IOException, error=13, Permission denied.

Naja geh mal ins Eclipse Forum.


----------

