如何以非 root 应用程序会话的形式以 root 身份启动 X 服务器?
应该是这样的
xinit 'su -c openbox user' -- :1
但可以工作:)
答案1
尝试
su -c 'startx openbox -- :1' user
编辑:也可以尝试运行
X :1 &
su -c 'DISPLAY=:1 openbox &' user
答案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...]