1

デスクトップでRhythmboxを実行していますが、Webインターフェイスを介してリモートからRhythmboxを制御できるようにしたいと考えています。アクセスに問題がrhythmbox-clientありますが、アクセスしようとしているユーザー(www-data)がa)Xセッションを実行しておらず、b)私のリズムボックスdbusにアクセスできないと不平を言っているためです。情報。

(rhythmbox-client:13954): Rhythmbox-WARNING **: /bin/dbus-launch terminated abnormally with the following error: Autolaunch error: X11 initialization failed.

私はubuntu10.04でapache、phpを実行しています。次のメソッドも、別のユーザーからphp cliを介してphpスクリプトを呼び出すことによって試行されました(別のユーザーと一緒に自分のボックスに移動します)

私はこれらのアプローチを試しました:

  • 「rhythmbox-client--print-playing--no-start --no-resent」を使用して、phpスクリプトからsystem()とexec()を呼び出します。
  • phpおよびpythonスクリプトで直接DBusを使用する(system()/ exec()を使用してphpスクリプトからDBusを呼び出す)
  • Cプログラムで、、を使用しsetuid()、php経由で呼び出します。setruid()seteuid()

私は今途方に暮れています。これも可能ですか?

[編集]@IvanGoneKrazyの提案を使用し、この同様の質問から環境コードを取得しました。今、私はこのエラーメッセージでこのコードを持っています:

import subprocess, os

p = subprocess.Popen('dbus-launch', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for var in p.stdout:
  sp = var.split('=', 1)
  os.environ[sp[0]] = sp[1][:-1]

os.system('rhythmbox-client --print-playing')

エラーメッセージ:

(rhythmbox-client:15377): Rhythmbox-WARNING **: Launch helper exited with unknown return code 1
4

0 に答える 0