vlc別のユーザーとして実行するには、次を使用します。
#!/bin/sh
su user -c 'vlc -vvv bigbuck.mp4 --sout "#rtp{dst=99.195.203.99,port=8090,sdp=rtsp://99.195.203.99:8091/test.sdp}" &
グラフィックインターフェイスが必要ない場合は、次のcvlc代わりに使用することを検討してくださいvlc。
#!/bin/sh
su user -c 'cvlc -vvv bigbuck.mp4 --sout "#rtp{dst=99.195.203.99,port=8090,sdp=rtsp://99.195.203.99:8091/test.sdp}" &
討論
su - userコマンドラインで実行すると、ユーザーのアカウントでシェルが開きます。その後、そのシェルに対話形式で入力できます。suを使用してシェルスクリプトを作成するときの秘-ctheは、コマンドがユーザーとして実行されるようにオプションを使用することです。
考慮してください:
#!/bin/sh
su - user 
vlc -vvv bigbuck.mp4 --sout '#rtp{dst=99.195.203.99,port=8090,sdp=rtsp://99.195.203.99:8091/test.sdp}' &
このコマンドsu - userは、ユーザーのアカウントでログインシェルを開きます。そのシェルが終了した後にのみvlcコマンドが実行されます。これはあなたが望むものではなく、それが-cオプションが必要な理由です。
文書化
-cオプションはするsuには文書化されていますman su。
   -c, --command COMMAND
       Specify a command that will be invoked by the shell using its -c.
       The executed command will have no controlling terminal. This option
       cannot be used to execute interractive programs which need a
       controlling TTY.