[Linux] Omgevings-variabelen overal goed instellen

Pagina: 1
Acties:
  • 125 views sinds 30-01-2008
  • Reageer

  • SvMp
  • Registratie: September 2000
  • Niet online
Ik wil bepaalde omgevings-variabelen wat aanpassen. Bv. path uitbreiden zodat deze ook naar de directory van Java wijst.

Voordat ik met het probleem kom: Ik gebruik Slackware 8 en Gnome 1.4 (zelf gecompileerd)
Die PATH e.d. instellen in de opstart-scripts (in /etc/rc.d) wil niet. De instellingen worden weer "vergeten", ik denk omdat al die scripts helemaal worden afgesloten voordat init een login-shell start.

Maar een probleem, ik die het in /etc/profile, die wordt uitgevoerd als een gebruiker inlogt.

Ik heb mijn systeem nu zo gemaakt dat ik grafisch kan inloggen met GDM. (dat login ding van Gnome) Hiervoor wordt het systeem in runlevel 4 gezet, en wordt /etc/rc/rc.4 uitgevoerd (in het geval van Slackware) Maar profile wordt dat niet uitgevoerd. Gevolg: Mijn paden staan niet goed.

Voorbeeld wanneer er een probleem optreed: Ik heb alle KDE-stuff in /usr/kde staan en Gnome stuff in /usr/gnome. Aan PATH heb ik /usr/kde/bin en /usr/gnome/bin toegevoerd. Maar ja die profile wordt niet uitgevoerd, dus dat spul niet in mijn pad. Als ik met ALT+F2 (run program) ff snel een proggie wil starten wil dat niet meer |:( (dan moet ik dus een compleet path opgeven en daar heb ik geen zin in).

Uiteraard heb ik dit probleem niet als ik vanaf een gewone prompt login X start, want dan staat het path wel goed. Het gekke is, dat het bewerken van /etc/rc/rc.4 helemaal niets helpt, ook die omgevings-variabelen worden keihard vergeten.


Wie-o-wie heeft een oplossing voor dit probleem?
Ik wil dus omgevings-variabelen ergens instellen dat ze _altijd_ en overal de juiste waarde hebben (zowel op de prompt als in X vanaf de prompt als in X via GDM)


[edit/update]
Nog een probleem moment: Stel je zit in X (onder een gewone user) en je hebt een rootshell nodig. Ik open dan een terminal en su naar root toe. Maar in mijn PATH staat dan alleen maar de standaard directory's (een paar) Ik moet su --login doen om te bereiken dat ik mijn volledige PATH dan heb met root, logisch, want dan wordt /etc/profile uitgevoerd. Maar ik vind het wel zwaar irritant, ik wil dus overal in mijn systeem mijn uitgebreide PATH hebben. Ik wil het ergens instellen en dan wil ik nergens meer een kort PATH zien. Dit verhaal geldt trouwens ook voor MANPATH.

Verwijderd

/etc/(rc.d/)rc.local wordt uigevoerd in een aparte shell die daarna net zo hard weer wordt afgesloten - die variabelen worden daarna dus weer vergeten.

/etc/profile is "the place to use" voor dit soort ongein, als een dsitributie zich niet aan regels houdt en deze voorbij gaat, ja... Dan houdt het in principe op... Distro boycotten en nooit meer gebruiken - zo hoort dat dus niet.

Je kan eventueel manueel /etc/profile aanroepen, het is in principe gewoon een shell bestand, dus "sh /etc/profile" is genoeg. Zo'n regel kan je ongetwijfeld tijdens de startup van gnome ofzo laten uitvoeren (ik weet alleen niet hoe), misschien in /etc/X11/xinit/xinitrc of ~/.xinitrc ofzo... Maarja, liever gewoon distro boycotten en eraf gooien en iets nemen wat wel fatsoenlijk is (debian ofzo)... Wat gebruik je eigenlijk?

  • SvMp
  • Registratie: September 2000
  • Niet online
Zo zo harde woorden :)

Ik gebruik Slackware... Is het in Debian dan wel goed geregeld?

Ik zal eens even kijken of ik het opstarten van Gnome wat kan modden, dat is wel een goed idee.
Slack bevalt trouwens prima. Ik heb Debian geprobeerd, maar ik vind er weinig aan. Die packages vind ik erg vaag. Dan doe ik het liever allemaal zelf... het is eventjes werk, maar dan heb je ook wat.

Verwijderd

Wie zegt dat je de packages moet gebruiken? :) Niks moet, alles mag...

Zelf ben ik tevreden over debian... Slackware zou dit toch echt beter moeten doen, valt me tegen dat die tijdens het grafisch inloggen /etc/profile niet uitleest, ongetwijfeld een vergeten foutje (mag ik hopen)... Maargoed, moet te fixen zijn door in je /etc/X11/xinit/xinitrc wat te klooien.....

edit:
als ik in debian 'su' gebruik wordt mijn PATH automatisch naar die van root gezet, dat is in Debian dus wel goed geregeld

  • SvMp
  • Registratie: September 2000
  • Niet online
Slackware is naar mijn idee vooral een zelf-regel distro.
Er zitten wel wat scripts in, maar je moet het toch zelf aanvullen. Dat is ook het idee achter Slackware.

Verwijderd

Ja, okee, da's wel waar......

Zoiets vind ik echter bij de basisconfiguratie horen.... Kijk ik kan wel een kernel en X naar de HD schrijven tijdens installatie en dan zeggen: "gebruiker, succes, zoek et maar uit", maar zo makkelijk is het maken van een distro natuurlijk niet. Een installatie moet een werkende en functionele basis-setup afleveren aan de gebruiker die de gebruiker dan naar wens en naar eigen hand kan aanpassen of verruimen.

Dit vind ik dan persoonlijk onderdeel van zo'n basis-setup.

  • SvMp
  • Registratie: September 2000
  • Niet online
Niet altijd... dat hangt van de doelgroep van je distro af.


Als je naar Mandrake kijkt en de doelgroep, dan zie je dat je als Mandrake-distro-maker heel veel (eigenlijk alles) voor de gebruiker moet doen, inclusief hardware detectie.

Als je naar Debian kijkt of Slackware zijn de eisen veel lager: De doelgroep is over het algemeen gevorderd en niet alles hoeft voor ze gedaan te worden. En een grafische setup is zeker niet nodig.

Rock Linux is al helemaal "niets" meer, de doelgroep zijn de bikkels dus is een half uitgeklede distro voldoende.

In mijn geval met Slackware: Ik heb Slack minimaal geinstalleerd. En tot zo ver functioneert het ook prima en volledig. Ik heb echter X, Gnome en apps zelf gecompileerd (ik wil gewoon het nieuwste van het nieuwste en zelf doen) en dan vind ik het wel logisch dat ik veel zelf moet doen.
Als ik dat niet meer zou willen, moet ik Mandraak of Suse of RedHat of etc.. moeten nemen.
Pagina: 1