Como posso executar o XBMC como outro usuário?

0

É um pouco complicado como outras perguntas "como eu posso executar", em primeiro lugar, porque eu uso esse script para ser executado em segundo tamanho da tela (TV):

   1 #! /bin/bash
   2 # Launch XBMC in windowed mode, then use wmctrl to remove the titlebar
   3
   4 # Select display 1
   5 # Separate X screennél 0.1 kell
   6 # twinviewnél meg egy monitor van, azaz 0.0
   7 DISPLAY=:0.0
   8
   9 # Start XBMC without blocking this script
  10 xbmc &
  11
  12 # Wait for the XBMC window to appear
  13 status=0
  14 while [ $status -eq 0 ]
  15 do
  16     sleep 1
  17  status='wmctrl -x -l | grep "XBMC Media Center" | wc -l | awk '{print $1}''
  18 done
  19
  20 # Force XBMC window to fullscreen
  21 #export SDL_VIDEO_FULLSCREEN_DISPLAY=1
  22 wmctrl -x -t 0 -r XBMC Media Center.XBMC Media Center -b toggle,fullscreen

e segundo, porque o XBMC deseja se conectar à tela do outro usuário. Eu não sei nada sobre sessões X ou como as permissões de tela estão funcionando. É possível em tudo?

Então, como eu posso conseguir que o usuário "kati" possa rodar este script como usuário "walkman" completamente, mas nada mais?

    
por kissgyorgy 10.01.2012 / 23:27

1 resposta

1

Adicione estas linhas no topo

if [[ ! $EUID == walkman_uid ]] ; then
    echo "this script must be run as walkman"
    exit 1
fi

Se você não sabe o uid do walkman, corra

id walkman | awk '{print $1}'

Como kati, corra

sudo -u walkman /full/path/to/script

Pessoalmente, eu colocaria o script em /usr/local/bin e o teria como root.

    
por Panther 11.01.2012 / 00:25