Zmienna $DISPLAY
Moderatorzy: Moderatorzy, Administratorzy
- bzyk
- Moderator w st. spocz.
- Posty: 991
- Rejestracja: 2004-06-05, 06:32
- Lokalizacja: Pszczyna
- Kontakt:
Zmienna $DISPLAY
Witam.
Jak (będąc rootem) wyciągnąć zmienną $DISPLAY danego usera?
Próbowałem już;
su kowalski
env (lub set | grep DISPLAY), niestety nie widzę tam tej zmiennej.
Jak (będąc rootem) wyciągnąć zmienną $DISPLAY danego usera?
Próbowałem już;
su kowalski
env (lub set | grep DISPLAY), niestety nie widzę tam tej zmiennej.
In /dev/null no one can hear you scream.
Re: Zmienna $DISPLAY
Można odczytać z /proc/proces_użytkownika/environ
Re: Zmienna $DISPLAY
Należy pamiętać, że zmienne środowiskowe to prywatna sprawa każdego procesu, a wartości w /proc nie muszą odpowiadać zawartości tablicy environ(7).mati0712 pisze:Można odczytać z /proc/proces_użytkownika/environ
Re: Zmienna $DISPLAY
Kod: Zaznacz cały
#!/bin/bash
X_USER="barca"
X_SERVERAUTH=`ls -alt /home/$X_USER | grep .serverauth | head -n 1 | tr '.' ' ' | awk '{ print $10 }'`
X_DISPLAY=`ps aux | grep X | grep $X_SERVERAUTH | grep -v grep | awk '{ print $12 }'`
echo $X_DISPLAY
Kod: Zaznacz cały
lonelysailor temp # ./test.sh
:0
Ostatnio zmieniony 2009-03-29, 09:23 przez Barca, łącznie zmieniany 1 raz.
- bzyk
- Moderator w st. spocz.
- Posty: 991
- Rejestracja: 2004-06-05, 06:32
- Lokalizacja: Pszczyna
- Kontakt:
Re: Zmienna $DISPLAY
Dzięki mati. Widzę że tam można to odczytać.
Barca, mój Debian nie ma takiego pliku. Sa tylko .serverauth.xxxx (gdzie xxxx to różne numery) i to są pliki binarne.
acek mógłbyś rowinąć?
Generalnie to chodzi mi o skonstruowanie skryptu który (odpalony przez roota) mógłby wykonać coś takiego;
/usr/bin/kdesktop_lock --forcelock
Czyli chcę mieć możliwość zablokowania ekranu danemu userowi. No i aby root mógł to wykonać potrzebuję tam jeszcze --display <wartość danego usera>. To dlatego szukam tego $DISPLAY.
A może macie jakieś inne pomysły na zablokowanie ekranu danemu userowi? Chciałbym to robić za pomocą basha (bo tak mi najwygodniej).
Barca, mój Debian nie ma takiego pliku. Sa tylko .serverauth.xxxx (gdzie xxxx to różne numery) i to są pliki binarne.
acek mógłbyś rowinąć?
Generalnie to chodzi mi o skonstruowanie skryptu który (odpalony przez roota) mógłby wykonać coś takiego;
/usr/bin/kdesktop_lock --forcelock
Czyli chcę mieć możliwość zablokowania ekranu danemu userowi. No i aby root mógł to wykonać potrzebuję tam jeszcze --display <wartość danego usera>. To dlatego szukam tego $DISPLAY.
A może macie jakieś inne pomysły na zablokowanie ekranu danemu userowi? Chciałbym to robić za pomocą basha (bo tak mi najwygodniej).
In /dev/null no one can hear you scream.
Re: Zmienna $DISPLAY
bzyk, po prostu to uruchom, grepowanie .serverauth nie dotyczy tylko pliku .serverauth tylko wszystkich plików, w których jest ten ciąg znaków.
- bzyk
- Moderator w st. spocz.
- Posty: 991
- Rejestracja: 2004-06-05, 06:32
- Lokalizacja: Pszczyna
- Kontakt:
Re: Zmienna $DISPLAY
Cosik nie tak...
Czyli wychodzi na to, ze nie mam procesu z takim PID jak w .serverauth.*
Kod: Zaznacz cały
glowny:~/work# ./plik
+ X_USER=bzyk
++ ls -alt /home/bzyk
++ grep .serverauth
++ head -n 1
++ tr . ' '
++ awk '{ print $10 }'
+ X_SERVERAUTH=4036
++ grep X
++ grep 4036
++ ps aux
++ grep -v grep
++ awk '{ print $12 }'
+ X_DISPLAY=
+ echo
glowny:~/work# ls /home/bzyk/.serverauth.
.serverauth.3816 .serverauth.4036 .serverauth.4134 .serverauth.5634
glowny:~/work# ps axu | grep X
root 3272 0.1 1.6 66716 59560 tty7 SLs+ Mar29 1:49 /usr/bin/X -br -nolisten tcp -dpi 100 :0 vt7 -auth /var/run/xauth/A:0-WxANq3
root 3292 0.0 0.0 2216 692 pts/2 S+ 20:09 0:00 grep X
bzyk 3576 0.0 0.2 56460 9080 ? S Mar29 0:01 kio_http [kdeinit] https /tmp/ksocket-bzyk/klauncheriXxH2a
bzyk 16615 0.0 0.1 27052 5240 ? S Mar29 0:00 kio_file [kdeinit] file /tmp/ksocket-bzyk/klauncheriXxH2a.
root 26504 0.0 0.7 32608 25900 tty8 SLs+ Mar29 0:02 /usr/bin/X -br -nolisten tcp -dpi 100 :1 vt8 -auth /var/run/xauth/A:1-pozHL5
In /dev/null no one can hear you scream.