Fix Qt WebEngine sandbox error when running as root

- Add QTWEBENGINE_DISABLE_SANDBOX=1 environment variable to all Qt WebEngine files
- Suppress Chromium sandbox warnings when running as root user
- Applied to: qt6_player.py, player.py, overlay_url_handler.py
- Environment variable set before any Qt imports to ensure effectiveness
parent 8b9d138d
...@@ -3,7 +3,14 @@ Custom URL scheme handler for serving overlay JavaScript files ...@@ -3,7 +3,14 @@ Custom URL scheme handler for serving overlay JavaScript files
""" """
import logging import logging
import os
from pathlib import Path from pathlib import Path
# Suppress Chromium sandbox warnings when running as root - MUST be set before Qt imports
if os.geteuid() == 0: # Running as root
os.environ['QTWEBENGINE_DISABLE_SANDBOX'] = '1'
print("Qt WebEngine sandbox disabled for root user")
from PyQt6.QtCore import QBuffer, QIODevice, QByteArray from PyQt6.QtCore import QBuffer, QIODevice, QByteArray
from PyQt6.QtWebEngineCore import QWebEngineUrlRequestJob, QWebEngineUrlSchemeHandler from PyQt6.QtWebEngineCore import QWebEngineUrlRequestJob, QWebEngineUrlSchemeHandler
......
...@@ -9,8 +9,15 @@ import logging ...@@ -9,8 +9,15 @@ import logging
import json import json
import threading import threading
import signal import signal
import os
from pathlib import Path from pathlib import Path
from typing import Optional, Dict, Any, List from typing import Optional, Dict, Any, List
# Suppress Chromium sandbox warnings when running as root - MUST be set before Qt imports
if os.geteuid() == 0: # Running as root
os.environ['QTWEBENGINE_DISABLE_SANDBOX'] = '1'
print("Qt WebEngine sandbox disabled for root user")
from PyQt6.QtWidgets import ( from PyQt6.QtWidgets import (
QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout,
QLabel, QPushButton, QSlider, QFrame, QStackedWidget QLabel, QPushButton, QSlider, QFrame, QStackedWidget
......
...@@ -6,8 +6,15 @@ import sys ...@@ -6,8 +6,15 @@ import sys
import time import time
import logging import logging
import json import json
import os
from pathlib import Path from pathlib import Path
from typing import Optional, Dict, Any, List from typing import Optional, Dict, Any, List
# Suppress Chromium sandbox warnings when running as root - MUST be set before Qt imports
if os.geteuid() == 0: # Running as root
os.environ['QTWEBENGINE_DISABLE_SANDBOX'] = '1'
print("Qt WebEngine sandbox disabled for root user")
from PyQt6.QtWidgets import ( from PyQt6.QtWidgets import (
QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout,
QLabel, QPushButton, QSlider, QFrame, QStackedWidget QLabel, QPushButton, QSlider, QFrame, QStackedWidget
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment