它和其他“我如何运行”的问题一样复杂,首先,因为我使用这个脚本在第二个屏幕(电视)全尺寸上运行:
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 拥有它。