Запустите приложение на другой X-сессии как некорневое

Как запустить X-сервер как корень с сессией некорневого приложения?

Должно быть что-то как

xinit 'su -c openbox user' -- :1

но работа :)

4
задан 06.01.2011, 07:30

2 ответа

Это, кажется, что единственный путь состоит в том, чтобы создать временный .xinitrc файл. Вот сценарий:

#!/usr/bin/env bash

username="$USER"
let xdisplay=${DISPLAY:1}+1

# Temporary xinitrc
temp_xinit="$(tempfile -p '.xinit' -s 'rc')" || exit
trap "rm -f -- '$temp_xinit'" EXIT

# Launch X
echo "sudo -u $username $@" > "$temp_xinit"
sudo xinit "$temp_xinit" -- :$xdisplay

Использование в качестве примера:

$ Xnew.sh /usr/local/games/braid [..options...]
2
ответ дан 07.12.2019, 20:25

Попробовать

su -c 'startx openbox -- :1' user

Править: Также попытайтесь работать

X :1 &
su -c 'DISPLAY=:1 openbox &' user
3
ответ дан 07.12.2019, 20:25

Теги

Похожие вопросы