非ルートアプリケーションのセッションでルートとしてXサーバーを起動する方法は?
次のようなものでなければなりません
xinit 'su -c openbox user' -- :1
しかし、働いています:)
一時的な.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...]
試してみてください
su -c 'startx openbox -- :1' user
編集:また実行してみてください
X :1 &
su -c 'DISPLAY=:1 openbox &' user