Onderwerp: Environment variablele instellen

Voor een bepaalde applicatie (Qtractor) moet ik een environment variabele instellen (VST_PATH). Als ik dat doe voor Bash (in ~/.bashrc zetten) werkt dat ALLEEN als ik die applicatie in een terminal start. Niet als ik ALT + F2 gebruik (dan kan ik de naam v/h executable intypen en dan start het op) of het "Start Menu" gebruik (lees: de appl. start via de GUI). Dan kan Qtractor mijn VST's niet vinden.

Wat allemaal NIET blijkt te werken is:

  • ~.bashrc

  • ~/.profile

  • ~/.pam_environment

  • scriptje starten via de "autostart" functie in "Start > Preferences > System settings > Startup applications" (je kent dat wel)

  • De tips in https://help.ubuntu.com/community/EnvironmentVariables

  • Een '/etc/profile.d/*.sh' bestand aanmaken

Ik wil die applicatie niet altijd en eeuwig vanuit een terminal starten omdat er wel meer apps zijn die zich niet houden aan via Bash gezette variabelen. Word er gek van. Wat is dit nu voor gez**k?



P.S. Distro's waar het niet bij werkt: Mint 17.1 (gebaseerd op Ubuntu 14.04) met de Cinnamon GUI en Ubuntu 14.04 (op een Chromebook) met Gnome 3 GUI.

Als je voor een verdieping niet de diepte in moet, maar de hoogte, waarom heet het dan ....

2

Re: Environment variablele instellen

Het is geen gezeik. Zo werkt *nix nu eenmaal. Een environment variabele geldt alleen voor het proces zelf en bijbehorende subprocessen. Basis *nix-kennis

In het kort
- maak een script MijnQTractor
- maak het uitvoerbaar
- zet daarin het definieren van VS_PATH en start QTractor op

Als je nu MijnQTractor op een plek zet die in je PATH zit kun je het geheel ook met Alt-F2 opstarten.
Een voor de hand liggende plek is ~/bin cq /usr/local/bin

Old programmers never die: they just jump to a new address
Kubuntu 16.02 LTS, Compaq CQ61 met Linux Mint 18, een Galaxy Tab 10.1 met Android Ice Cream en een Raspberry PI met raspian
http://www.volkerskrant.nl

3

Re: Environment variablele instellen

Tja, bash variabelen zijn uiteraard voor bash bedoeld  wink
En niet voor andere shells waarmee je iets opstart.

Help mee om KDE 5 in het Nederlands te vertalen!!

Re: Environment variablele instellen

Layer 8 problemen die belegd worden bij ander layers: Computer says no.

ACAB: All computers are broken. https://medium.com/message/everything-i … e5f33a24e1 "I've decided that you need gray hair and hemorrhoids to be a consultant.
The gray hair makes you look distinguished & the hemorrhoids make you look concerned."

Re: Environment variablele instellen

Met alle respect: maar hoe kan de gemiddelde applicatie dan zoiets al het pad vinden waarin executables staan? Het pad wordt niet gedefinieerd voor Bash alleen, toch? Elke app die in je GUI wordt gestart kan blindelings /bin/ en /sbin/ en  /usr/local/bin/ vinden. Dat moet toch ergens ingesteld worden?

Als je voor een verdieping niet de diepte in moet, maar de hoogte, waarom heet het dan ....

6 Laatst bewerkt door pascal (06 Oct 2017 17:38:33)

Re: Environment variablele instellen

MeneerJansen schreef:

Met alle respect: maar hoe kan de gemiddelde applicatie dan zoiets al het pad vinden waarin executables staan? Het pad wordt niet gedefinieerd voor Bash alleen, toch? Elke app die in je GUI wordt gestart kan blindelings /bin/ en /sbin/ en  /usr/local/bin/ vinden. Dat moet toch ergens ingesteld worden?

Heer Jansen,

In shell (lees bash)

echo $PATH

wil je meer dan zet je in je .profile of je .bashrc iets als   EXPORT $PATH=$PATH+":/home/jansen/bin"

Wat je wil voor je qtractor (whatever dat is) is op die plek een variabele toevoegen
EXPORT QTRACKTOR="de variabele van meneer Jansen"

Maar ja dan heb je idd nog niets want dan moet dan eerst uitgevoerd worden
Dus nieuwe shell starten of opnieuw inloggen
en dan ff kijken offie er is   echo $QTRACTOR

disclaimer, kan hier of daar nog een tiepvoutje staan... ik doe dat allemaal by the seat of my paints en denk er niet zo over na,
Maar het staat vast wel in het UNOX instructie boekje.

Overigens de gemiddelde app weet niet waar alle meuk staat, hoeft ook niet... de shell regelt dat voor je he.

Pascal's Blobfree Homepage
Een dag geen NedLinux is een dag niet geleefd

Re: Environment variablele instellen

pascal schreef:

wil je meer dan zet je in je .profile of je .bashrc iets als   EXPORT $PATH=$PATH+":/home/jansen/bin"

Dat werkt dus niet als je een applicatie start via het Start Menu. Hoe kan dat start menu weten waar hij moet zoeken naar executables die op gestart moeten worden? Want dat Start Menu leest de variablelen die je via ~/.bashrc instelt namelijk niet. Dat is mijn probleem...

Als je voor een verdieping niet de diepte in moet, maar de hoogte, waarom heet het dan ....

8

Re: Environment variablele instellen

OK ik snap ehm.
Diverse oplossingen mogelijk.
1) Hack je systeem zodanig dat je profile wordt gelezen voordat je Desktop start.
2) Hack je systeem zodanig dat je env variable globaal aanwezig is. denk bv aan /etc/profile als die bestaat.
3) In je start menu start je programma als volgt op: export QTRACKTOR="de variabele van meneer Jansen"; qtracktor
4) gebruik een scriptje dat ongeveer als volgt uitziet.

!/bin/sh
export QTRACKTOR="de variabele van meneer Jansen"
qtracktor

5) Schelden op Lenard Puttering die is de bron van elk evil. Helpt niet maar lucht wel op.

Pascal's Blobfree Homepage
Een dag geen NedLinux is een dag niet geleefd

Re: Environment variablele instellen

Of ik nu in het algemeen weet hoe dat werkt met variabelen die wel door Bash maar niet door je GUI gezien worden weet ik niet. Maar, zoals Koos Koets (alias Kees van Kooten) zei, kreeg ik in eens een wave en deed ik klein grepje:

sudo grep -rl 'VST_PATH' /etc/

En ja hoor. Een schuldige kwam binnen een seconde bovendrijven:

/etc/X11/Xsession/61cedence-session-inject

In dat bestand stonden vrolijk al die variabelen gedefinieerd die ik niet aanpassen kom via /etc/profile enzo. Een applicatie genaamd 'Cadence' zet deze paden. Wist niet eens meer dat ik het geïnstalleerd had. App opgestart en die variabelen aangepast.

Dus er is wel een bestand waar variabelen gezet kunnen worden zodanig dat ze ook buiten Bash om gevonden kunnen worden. Schuld van Puttering? Weet ik niet. Dit is typisch Linux in de zin dat "Everything is a file". Bevalt me wel, behalve dat nergens op internet te vinden is hoe dit moet.

Weer wat geleerd.

Als je voor een verdieping niet de diepte in moet, maar de hoogte, waarom heet het dan ....

10

Re: Environment variablele instellen

Ach ja... dat had ik natuurlijk ook moeten weten.
Daar staan idd in diverse bestandjes dat soort dingen geregeld.
Je kunt die trouwens ook weer in je eigen home in regelen zodat je wijzigingen enkel voor jou gelden.

Pascal's Blobfree Homepage
Een dag geen NedLinux is een dag niet geleefd

11

Re: Environment variablele instellen

MeneerJansen schreef:
pascal schreef:

wil je meer dan zet je in je .profile of je .bashrc iets als   EXPORT $PATH=$PATH+":/home/jansen/bin"

Dat werkt dus niet als je een applicatie start via het Start Menu. Hoe kan dat start menu weten waar hij moet zoeken naar executables die op gestart moeten worden? Want dat Start Menu leest de variablelen die je via ~/.bashrc instelt namelijk niet. Dat is mijn probleem...

Het startmenu is opgebouwd uit desktop files die ook van alles en nog wat bevatten aan variabelen en opties.
Wellicht kun je het daarin definiëren

Help mee om KDE 5 in het Nederlands te vertalen!!