Webfaction のサーバーの 1 つでアプリケーションを開発しています。2 つの関数が定義された python クラスがあります。各関数は spynner.Browser() オブジェクトを使用しますが、これには X サーバーの実行が必要です。この目的のために Xvfb を実行しています。
両方の機能は、単独で期待どおりに実行されます。異なるスレッドで両方を同時に実行しようとすると、問題が発生します。私がそれをすると、それらのどれも機能しません。現在の Xvfb セットアップは次のとおりです。
ディスプレイ番号 99 に対して Xvfb を外部で実行し、各関数の開始時に、次のように DISPLAY 変数を 99 に設定します。
os.environ["DISPLAY"] = ":99"
どちらの関数からの出力も表示されません。また、異なるディスプレイ番号で 2 つの異なる Xvfb インスタンスを実行してから、各機能を異なるディスプレイに接続しようとしましたが、これも機能しませんでした。ログによると、スレッドの 1 つからセグメンテーション違反が発生しています。
他に何かする必要がありますか、それとも何か間違っていますか?