Puncte:0

How to get variable environment from parent user?

drapel tr

I need to know how it's possible to get environment variable from a parent user after su? For example if I'm evan user and I have variable $DISPLAY=:10.0, then I use "su -" to go to root user, how could I get the $DISPLAY variable from parent evan user?

kanehekili avatar
drapel zw
Arată ca o [problemă] XY (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). S-ar putea să ne spună de ce aveți nevoie de afișajul în root...
antonio1 avatar
drapel tr
foarte bine.Trebuie să su în root pentru a rula un script, dar mai târziu în script trebuie să lansez xclock, care nu funcționează, deoarece ceva de genul problemei de afișare nu este moștenit de la utilizatorul original. Dacă am setat manual DISPLAY-ul ca utilizator original evan, totul funcționează bine, dar valoarea afișată se schimbă.
Puncte:0
drapel zw

In acest caz m-as uita la xhost

De obicei, aș putea reuși să deschid și o GUI ca root (în funcție de distribuția Linux) cu definirea

export DISPLAY=:0.0

în scenariul meu.

Nu știu că id-ul de afișare se schimbă așa cum ați scris.

antonio1 avatar
drapel tr
de îndată ce DISPLAY-ul este diferit de cel original deschis unul DISPLAY=:10.0, acesta nu funcționează în aceeași sesiune.
Puncte:0
drapel tr

Am găsit soluția folosind următoarele linii:

prev_user=$(pstree -lu -s $$ |grep --max-count=1 -o '([^)]*)' |head -n 1 | sed 's/[()]//g')
inherit_display=$(xauth -f /home/$prev_user/.Xauthority list|tail -1|cut -d/ -f2|cut -d ' ' -f1)

export DISPLAY="$inherit_display"

prev_user - primește utilizatorul anterior (utilizator părinte) de la care am folosit su

inherit_display - obțineți exact valoarea DISPLAY pentru utilizatorul părinte

în cele din urmă, export valoarea în noul meu DISPLAY pentru root.

funcționează ca un sharm.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.