Strona 1 z 1

[SEMI-SOLVED]zmienna DISPLAY dla root'a

: 29 października 2007, 17:43
autor: dracorp
Witam
Domyślnie w debianie zmienna DISPLAY jest nieustawiona dla root'a. Trzeba ją wyeksportować(złe) lub przed każdym poleceniem pisać(żmudne aczkolwiek rzadko używa się takich programów). Eksportowanie tej zmiennej odpada bo niektóre skrypty działają mi zależnie właśnie od tej zmiennej (np. konfiguracja kernela). Macie pomysł jak to zrobić by root też miał ustawioną tą zmienną pod Xami, a w konsoli nie.
Na spokojnie sprawdzę sobie jak to jest rozwiązane w gentoo, bo jeśli pamięć mnie nie myli to tam to tak właśnie działało.
Coś takiego

Kod: Zaznacz cały

su -c echo $DISPLAY user
też odpada

: 29 października 2007, 17:57
autor: darkwater
nie chodzi przypadkiem o polecenie

Kod: Zaznacz cały

xhost +
?? (oczywiście jako root). osobiście wole jednak używać sudo do programów które wymagają uprawnień roota.

: 29 października 2007, 18:05
autor: dracorp
niet to nie to, xhost'a uruchamiam z poziomu użytkownika.

edit:No i masz rację przez sudo zmienna DISPLAY jest dziedziczona. Ale dalej to nie to....

: 29 października 2007, 18:36
autor: Lorenzo
Użyć gksu lub kdesu ?

: 30 października 2007, 07:43
autor: dracorp
Lorenzo pisze:Użyć gksu lub kdesu ?
Przerost treści nad formą :)
su lub sudo wystarcza, po za tym te programy uruchamia się tylko pod Xami.

: 30 października 2007, 12:45
autor: wojtekz_
Można po prostu w /etc/profile albo w .bashrc dla roota. Tylko musisz napisać warunek, który wykrywa, że to X-y, być może wystarczy testować TERM, ale nie ćwiczyłem tego...

Pozdrawiam

: 30 października 2007, 12:58
autor: ruun
Jak x'y są uruchomione to w /tmp jest plik .X0-lock (.X1-lock dla drudiej sesji X itd). Mozna napisać skrypt który sprawdzi czy plik /tmp/.X?-lock istnieje i ustawi co trzeba.

: 30 października 2007, 13:06
autor: dracorp
O zmiennej TERM nie pomyślałem. Pytanie tylko na ile jest ona pewna.
W sumie to dodatkowo warunki, ale na jej podstawie można już ustawić DISPLAY.

edit
Ostatecznie dałem sobie spokój z DISPLAY dla root'a sprawdzam zmieną TERM.
ruun pisze:Jak x'y są uruchomione to w /tmp jest plik .X0-lock (.X1-lock dla drudiej sesji X itd). Mozna napisać skrypt który sprawdzi czy plik /tmp/.X?-lock istnieje i ustawi co trzeba.
W sumie tak ale pod terminalem to odpada. X'y są odpalone ale wówczas zmienna DISPLAY nie powinna być ustawiona. Jak na razie najlepiej się sprawdza zmienna TERM.
Próbowałem się doszukać w jaki sposób zrobione to jest w gentoo ale niestety kicha. Zbytnio nie wiem gdzie tego szukać. Możliwe, że wystarczy podczas logowania sprawdzić kilka warunków i na podstawie nich ustawić tą zmieną. Jak na razie dla mnie SOLVED.