2

サーバー上で Python スクリプトを実行し、DBus Python ライブラリを介して ( のようなfinchコンソール インターフェイスを持つ のコンソール インターフェイス)と通信して、メッセージを送信したり、仲間のオンライン ステータスを確認したりしたいと考えています。pidginlinks2

これ、X で実行する場合に機能しますfinch。X ターミナルで実行し、Python スクリプトを別のターミナルでエラー/例外なしで実行します。

ただし、X なしで実行する場合はfinch、TTY1 (ctrl+alt+f1) で実行し、TTY2 (ctrl+alt+f2) で Python スクリプトを実行する必要がありますが、Python スクリプトは失敗します。

以下は、スクリプトの最初の数行です。

import dbus
bus = dbus.SessionBus() # gives EXCEPTION error
obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
...

例外エラーは次のとおりです。

dbus.exceptions.DBusException: org.freedesktop.DBus.Error.Spawn.ExecFailed: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.`

finchおそらく同じTTYでスクリプトを実行する必要があることをどこかで読みました。cdただし、ある行と次の行で実行するようなものではないため、適切にテストできませんls。と入力finchすると実行され、 などの他のコマンドを入力することはできなくなりますlinks2finch &代わりに実行してみましたが、一時停止しているようfinchで、スクリプトを実行しても同じエラーが発生します。

解決?ありがとう。

4

2 に答える 2

6

インストールscreen

  1. dbus-launch screen
  2. finch
  3. ctrl+ac
  4. python myscript
于 2011-04-04T12:36:53.343 に答える
0

フィンチにはディスプレイが必要だと思います。サーバーで起動するには、xvfb-runを使用してみてください: http://en.wikipedia.org/wiki/Xvfb

于 2011-04-03T19:11:14.580 に答える