Path Variablen

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Path Variablen

Beitrag von slapmonster » 05.02.2004 20:38:44

Hallo Zusammen,

ich habe java nach der anleitung in de guides installiert und auch, wie dort beschreiben, die path variable in /etc/profiles geändert. jetzt ist es aber so, das sich der path für den user root nicht ändert. "normale" beutzer haben den geänderten path. es ist zwar kein problem für root in seiner -bashrc den pfad zusätzlich zu ändern aber ich würde ganz gerne wissen warum das so ist wie es jetzt ist. hat jemand da ne erklärung? wird /etc/profiles nicht für root angewendet oder so???
thx
cu
pat

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 05.02.2004 21:24:59

Das sollte für alle User eigentlich gleich sein, die man page sagt:

Code: Alles auswählen

INVOCATION
       A  login shell is one whose first character of argument zero is a -, or
       one started with the --login option.

       An interactive shell is one started without  non-option  arguments  and
       without  the  -c  option  whose standard input and output are both con-
       nected to terminals (as determined by isatty(3)), or one  started  with
       the  -i  option.   PS1 is set and $- includes i if bash is interactive,
       allowing a shell script or a startup file to test this state.

       The following paragraphs describe how bash executes its startup  files.
       If  any  of  the files exist but cannot be read, bash reports an error.
       Tildes are expanded in  file  names  as  described  below  under  Tilde
       Expansion in the EXPANSION section.

       When  bash is invoked as an interactive login shell, or as a non-inter-
       active shell with the --login option, it first reads and executes  com-
       mands  from  the file /etc/profile, if that file exists.  After reading
       that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile,
       in  that order, and reads and executes commands from the first one that
       exists and is readable.  The --noprofile option may be  used  when  the
       shell is started to inhibit this behavior.

       When  a  login  shell  exits, bash reads and executes commands from the
       file ~/.bash_logout, if it exists.

       When an interactive shell that is not a login shell  is  started,  bash
       reads  and  executes  commands  from /etc/bash.bashrc and ~/.bashrc, if
       these files exist.  This may be inhibited by using the  --norc  option.
       The  --rcfile  file option will force bash to read and execute commands
       from file instead of /etc/bash.bashrc and ~/.bashrc.
Gruss.

slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Beitrag von slapmonster » 05.02.2004 21:41:54

hmmm,

sieht für mich auch so aus,

ais wqelcher man page ist das denn??? shell???

aber wie kann es dann sein, das es bei mir nich so ist. root hat die variabel definitiv nicht. ein noemaer suer schon.

habt ihr noch irgendwelche ideen??

thx
pat

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 06.02.2004 07:33:24

"man bash", da steht das drin. Mit "env" kannst Du Dir aktuell gesetzte Variablen anschauen. Musst mal weiter "rumspielen"... Ohne es selbst zu testen wird es jetzt schwer mit einer Ferndiagnose ;) !


Gruss, mistersixt.

slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Beitrag von slapmonster » 06.02.2004 08:44:21

habe das nochmal genau nachgeprüft und gestgestellt, das root eine .profile im home verzeichnis hat, welche den pfad nochmal setzt. und das .profile ja nach /etc/profile ausgeführt wird, und in .profile der PATH nicht angepasst ist, funzt es nicht.

die frage ist jetzt, ob es sinvoll ist, einfach den die zeile in der .profile zu ändern oder dort den pfad anzupassen. was meint ihr? oder habt ihr noch eine andere lösung???

habe da noch ne frage: wo ist eigentlich der unterschied zwischen env und set???

thx
pat

slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Beitrag von slapmonster » 06.02.2004 12:27:51

und wie wird der pfad in KDE gesetzt?? muss das auch separat geschenen?? in der kdmrc???

da ist bei mir die ganze path zeile auskommentiert??? ist das normal bei standard installation???


thx
pat

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 06.02.2004 12:37:36

Wenn Du ein Terminal aufmachst (zum Beispiel ein xterm), dann sollte es die Option -ls geben, siehe "man xterm":

Code: Alles auswählen

       -ls     This  option  indicates  that  the shell that is started in the
               xterm window will be a login shell (i.e., the  first  character
               of  argv[0]  will  be  a  dash, indicating to the shell that it
               should read the user's .login or .profile).
Für die gesamte KDE-Session kann ich es Dir auch nicht sagen ... ich nutze immer nur xterm als Terminal und nicht konsole ;) .

Gruss, mistersixt.

slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Beitrag von slapmonster » 06.02.2004 18:08:27

weiss jemand wie ich es für die gesamte kde session einstellen kann für alle user??

thx
pat

slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Beitrag von slapmonster » 08.02.2004 11:12:12

nutzt denn niemand java unter kde???

gebt doch bitte mal ein feedback..

gruß
patrick

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 08.02.2004 14:11:31

Da kannst Du doch im ControlCenter KDE-weit den Pfad zum JAVA setzen:

Control-Center -> Internet & Network -> Web Browser -> JAVA.

Da gibt es "Enable Java globally", das aber nur "global" im Sinne von KDE heisst.


Gruss, mistersixt.

slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Beitrag von slapmonster » 08.02.2004 16:08:52

bezogen auf java allein ist das auch ok. aber das ist wenn ich andere binaries in anderen pfaden habe und diese in kde verwenden will. wo kann ich das denn einstellen? hat jemand ne idee?? wäre echt cool...

cu
pat

slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Beitrag von slapmonster » 09.02.2004 22:21:24

keiner nutzt java unter kde??

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 09.02.2004 22:35:21

Mach doch einfach ein Symlink: angenommen, Dein Java ist in /usr/local/j2re-1.4.1/bin/java, dann mach "cd /usr/bin && ln -s /usr/local/j2re-1.4.1/bin/java". /usr/bin/ sollte immer im DefaultPath mit drin sein (und ist es wohl auch immer).

Gruss, mistersixt.

slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Beitrag von slapmonster » 10.02.2004 06:54:00

hmmm, das wäre ne idee wert. aber kann man denn nirgendwo in kde global den pfad setzen? was ist met dem im howto vorstestellten kderc? nutzt das hier jemand?

thx
pat

slapmonster
Beiträge: 144
Registriert: 14.11.2003 09:43:10

Beitrag von slapmonster » 11.02.2004 09:02:14

setzt niemand zusätzliche suchpfade und nutzt diese unter kde??? hat meine mehr nen tipp???

ich habe nochmal etwas herumgesucht und heruausgefunden das es wohl was mit dem display manager zu tun hat. hatte vorher kdm und habe jetzt wieder xdm installiert. ich habe da dann in der datei /etc/X11/xdm/xdm-config den userpath und den systempath um meine java verzeichnisse erweitert und jetzt funzt es auch alles unter kde.

hat jemand da ne idee wie es unter kdm und gdm funzt? danke aber trotzdem für eure hilfe!

gruß

cu
pat

Benutzeravatar
Operations
Beiträge: 179
Registriert: 13.10.2003 17:23:19

Beitrag von Operations » 13.02.2004 16:35:10

Hallo slapmonster,

eventuell könnte

Code: Alles auswählen

sysprofile
für dich interessant sein. Das Paket ist in Woody enthalten.

Das nutze ich um meine Pfade unter anderem für Java (CLASSPATH) zu setzen.


MFG

Operations

LittleBoy
Beiträge: 718
Registriert: 30.04.2002 14:32:26

Beitrag von LittleBoy » 13.02.2004 18:51:39

Wenn es nur um eine Umgebungsvariable geht, ist /etc/environment der Ort der Wahl.

Wenn es um weitergehende Sachen geht (Skripte, Zugriff auf Umgebungsvariablen al a PATH=$PATH:/neuer/teil) gibt es keinen Standardweg für die diversen Login-Manager. Wenn xdm, gdm oder kdm genutzt wird, wird /etc/profile nicht ausgerwertet, ebensowenig wie ~/.profile oder was auch immer.

Die meiner Meinung nach saubere Lösung ist die Modifikation von /etc/X11/Xsession.d - das ist auch für den gpg-agent nötig.
Leider achten wohl nur kdm und xdm auf diese Sachen - gdm geht wieder einen anderen Weg. Den wiedrum anzupassen wird dann noch aufwendiger.

Um es einmal kurz zu umreissen:
/etc/X11/Xsession.d - hier eine Datei mit Prefix 98 (oder so) anlegen, die eine Konfigurationsdatei (z.B: ~/.Xprofile) einliest
Um den gdm anzupassen, müssen die Session-Skripte in /etc/gdm/Sessions ersetzt werden durch Dateien, die letztlich /etc/X11/Xsession mit dem Parameter aufrufen, d.h.
Die Datei /etc/gdm/Sessions/kde3 wird durch einen Datei /etc/gdm/sessions/kde3 ersetzt mit dem Inhalt "/etc/X11/Xsession kde"

Eine wirklich saubere Lösung kann es aber wohl erst geben, wenn die Debian-Maintainer von xdm, gdm und kdm sich auf ein Format für die Session-Skripte einigen...

Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Beitrag von minimike » 03.04.2005 18:51:17

Das klingt aber nicht erfeulich. Unter Woody hat es bis Gnome 2.4 ( marke Eigenbau ) hat es gereicht die /etc/profile anzupassen und feddich. Unter Sarge klappt das nicht mehr ich wollte über die /etc/profile so den Pfad für Gnome 2.6.10 setzen. Eigendlich bin ich auf der Suche die alten Verhältnisse wiederher zu stellen. Sarge hat einige viel zu dumme Ideen aufgenommen
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

Antworten