2

Когда я запускаю на своем локальном компьютере (Ubuntu 18.10) xauth list вывод не показывает номер дисплея:

$ xauth list
c7h/unix:  MIT-MAGIC-COOKIE-1  37bb744d95232b4e29aea1320b0a0e2d
#ffff#633768#:  MIT-MAGIC-COOKIE-1  37bb744d95232b4e29aea1320b0a0e2d

Моя переменная env $DISPLAY содержит значение :1:

$ echo $DISPLAY
:1

Так что я ожидал увидеть 1 после c7h/unix:::

c7h/unix:1  MIT-MAGIC-COOKIE-1  37bb744d95232b4e29aea1320b0a0e2d

Значение также отсутствует, если я вручную анализирую файл в переменной env $XAUTHORITY с помощью Python:

if filename is None:
    filename = os.environ.get('XAUTHORITY')

if filename is None:
    try:
        filename = os.path.join(os.environ['HOME'], '.Xauthority')
    except KeyError:
        raise XConnectionError("$HOME not set, can't find ~/.Xauthority")

try:
    xaf = open(filename, 'rb')
    raw = xaf.read()
    xaf.close()
except IOError as err:
    raise XConnectionError("Can't read ~/.Xauthority: %s" % err[1])
    return []

n = 0
entries = []
try:
    while n < len(raw):
        family, = struct.unpack('>H', raw[n:n + 2])
        n = n + 2

        length, = struct.unpack('>H', raw[n:n + 2])
        n = n + length + 2
        addr = raw[n - length: n]

        length, = struct.unpack('>H', raw[n:n + 2])
        n = n + length + 2
        num = raw[n - length: n]

        length, = struct.unpack('>H', raw[n:n + 2])
        n = n + length + 2
        name = raw[n - length: n]

        length, = struct.unpack('>H', raw[n:n + 2])
        n = n + length + 2
        data = raw[n - length: n]

        if len(data) != length:
            break

        entries.append((family, addr.decode('utf-8'), num.decode('utf-8'), name.decode('utf-8'), data))

Как я могу выяснить, какая из аутентификаций связана со значением, сообщаемым $DISPLAY?

0