Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -117,6 +117,19 @@ def _start_xvfb(display: str) -> "subprocess.Popen | None":
|
|
| 117 |
)
|
| 118 |
if r.returncode == 0:
|
| 119 |
print(f"[xvfb] ✅ Xvfb started on {display}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 120 |
return proc
|
| 121 |
except Exception:
|
| 122 |
continue
|
|
|
|
| 117 |
)
|
| 118 |
if r.returncode == 0:
|
| 119 |
print(f"[xvfb] ✅ Xvfb started on {display}")
|
| 120 |
+
# إصلاح: Xvfb بدون أي رسم لاحق يكون framebuffer فارغاً تماماً
|
| 121 |
+
# (لا لون خلفية أصلاً)، فأول لقطة شاشة قد تبدو "فارغة بشكل
|
| 122 |
+
# مربك" رغم أنها التقاط ناجح تقنياً لشاشة نظيفة فعلاً. نرسم
|
| 123 |
+
# لوناً محايداً بسيطاً فوراً عبر xsetroot لتوضيح أن الشاشة
|
| 124 |
+
# جاهزة وفارغة عمداً (سطح مكتب نظيف) لا أنها خطأ في الالتقاط.
|
| 125 |
+
try:
|
| 126 |
+
env_xs = {**os.environ, "DISPLAY": display}
|
| 127 |
+
subprocess.run(
|
| 128 |
+
["xsetroot", "-solid", "#2b2b2b"],
|
| 129 |
+
env=env_xs, timeout=2, capture_output=True
|
| 130 |
+
)
|
| 131 |
+
except Exception:
|
| 132 |
+
pass
|
| 133 |
return proc
|
| 134 |
except Exception:
|
| 135 |
continue
|