Lança um aplicativo em outra sessão X como não raiz

4

Como iniciar um servidor X como root com uma sessão de aplicativo não-root?

Deve ser algo como

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

mas trabalhando:)

    
por kolypto 05.01.2011 / 16:45

2 respostas

2

Parece que a única maneira é criar o arquivo .xinitrc temporário. Aqui está o script:

#!/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

Exemplo de uso:

$ Xnew.sh /usr/local/games/braid [..options...]
    
por 06.01.2011 / 02:10
3

Tente

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

Editar : tente também executar

X :1 &
su -c 'DISPLAY=:1 openbox &' user
    
por 05.01.2011 / 17:03

Tags