我如何以其他用户身份运行 XBMC?

我如何以其他用户身份运行 XBMC?

它和其他“我如何运行”的问题一样复杂,首先,因为我使用这个脚本在第二个屏幕(电视)全尺寸上运行:

   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

其次,因为 XBMC 想要连接到其他用户的屏幕。我对 X 会话或屏幕权限如何工作一无所知。这可能吗?

那么我怎样才能实现“kati”用户可以完全以“walkman”用户身份运行此脚本,但不能运行其他任何脚本?

答案1

在顶部添加以下几行

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

如果你不知道 walkman 的 uid,请运行

id walkman | awk '{print $1}'

像 kati 一样运行

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

就我个人而言,我会把脚本放进去/usr/local/bin并让 root 拥有它。

相关内容