LINUX.ORG.RU

Приложение от другого пользователя


0

0

Господа!

Возможно ли запустить на одном дисплее X сервера графическое приложение от имени другого пользователя?

У меня получается, что:

kir2 ~ $ DISPLAY=:0 firefox
No protocol specified
No protocol specified
Error: cannot open display: :0

Ну и если возможно это в принципе, то как?


su -c 'firefox' anotheruser?

aydar ★★★★★
()
export DISPLAY=:0.0
firefox

И перед этим разреши доступ к X-серверу:

# Запускать от имени того, пользователя, который уже может коннектиться к X-серверу
xhost +

Deleted
()

У меня так скайп запускается (я ему свой homedir не доверяю)

/usr/local/bin/skype

#!/bin/sh

if pgrep -u skype >/dev/null 2>&1; then
        echo "Skype is already running"
else
        xhost +LOCAL:
        exec sudo -H -u skype /usr/local/bin/skype.sh
fi

/usr/local/bin/skype.sh

#!/bin/sh

#/usr/sbin/alsactl -f /home/skype/.asound_mic_on.state restore

cd /home/opt/skype-2

[ -z "$DISPLAY" ] && DISPLAY=:0.0
export DISPLAY

export LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so
/home/opt/skype-2/skype

#/usr/sbin/alsactl -f /home/skype/.asound_mic_off.state restore

sdio ★★★★★
()
Ответ на: комментарий от kir4

xhost +

sdio правильный пример привёл.

В случае, если X-сервер запущен без -nolisten tcp, то лучше использовать xhost local:

man xhost

Marmirus ★★
()

если по-человечески, то для этого существует gksu (или ее аналог kdesu)
как вариант (до кучи) можно и ssh -X -l <name> localhost

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia
kdesudo -u kir2 firefox

запустило с xhost -

kir4
() автор топика

[В граммах сколько ?]
xhost +local:anotheruserlogin

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.