| Server IP : 213.136.93.164 / Your IP : 216.73.216.20 Web Server : Apache System : Linux m14200.contabo.net 5.14.0-611.54.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed May 6 18:03:03 EDT 2026 x86_64 User : ki692510 ( 1047) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/pyvirtualdisplay/ |
Upload File : |
"""Utility functions for xauth."""
import hashlib
import os
import subprocess
class NotFoundError(Exception):
"""Error when xauth was not found."""
def is_installed():
"""
Return whether or not xauth is installed.
"""
try:
xauth = subprocess.Popen(
["xauth", "-V"],
# env=self._env(),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
_, _ = xauth.communicate()
# p = EasyProcess(["xauth", "-V"])
# p.enable_stdout_log = False
# p.enable_stderr_log = False
# p.call()
except FileNotFoundError:
return False
else:
return True
def generate_mcookie():
"""
Generate a cookie string suitable for xauth.
"""
data = os.urandom(16) # 16 bytes = 128 bit
return hashlib.md5(data).hexdigest()
def call(*args):
"""
Call xauth with the given args.
"""
xauth = subprocess.Popen(
["xauth"] + list(args),
# env=self._env(),
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
_, _ = xauth.communicate()
# EasyProcess(["xauth"] + list(args)).call()