Как исправить ошибку «Неверный ключ MIT-MAGIC-COOKIE-1» при запуске программ в Ubuntu 20.04

Убунту 15

Если вы работали с Ubuntu 20.04 и столкнулись с ошибкой «Неверный ключ MIT-MAGIC-COOKIE-1» при запуске программ, вы не одиноки. Эта ошибка обычно возникает из-за проблемы с разрешениями или проблемы с волшебным файлом cookie, используемым для аутентификации X11. В этой статье вы найдете несколько возможных решений этой проблемы.

Понимание ошибки

Прежде чем мы углубимся в решения, важно понять, что означает эта ошибка. «MIT-MAGIC-COOKIE-1» — это тип аутентификации, используемый системой X Window, также известный как X11 или просто X. Когда клиент (программа пользовательского уровня, запрашивающая отображение графики) пытается подключиться к X-серверу (программному обеспечению системного уровня, предоставляющему графику), ему необходимо предоставить правильный «волшебный файл cookie» (случайно сгенерированный ключ), чтобы доказать, что у него есть разрешение на это. Если ключи не совпадают, сервер отклоняет соединение, что приводит к ошибке «Неверный ключ MIT-MAGIC-COOKIE-1».

Решение 1. Разрешите локальные подключения

Первое и самое простое решение — разрешить локальные подключения к X-серверу. Это можно сделать, выполнив в терминале следующую команду:

xhost +локальный:

Команда xhost используется для добавления и удаления имен хостов или имен пользователей в список, которому разрешено подключение к X-серверу. Параметр +local: разрешает подключения всех пользователей на локальном компьютере.

Решение 2. Измените переменную DISPLAY.

Если первое решение не работает, следующим шагом будет изменение переменной среды DISPLAY. Эта переменная сообщает клиентам, где отображать графику. Вы можете изменить его с помощью команды экспорта следующим образом:

экспорт ДИСПЛЕЙ=:0

В этой команде :0 — это номер дисплея. Если вы не уверены, какой номер использовать, его обычно можно найти, выполнив команду echo $DISPLAY.

Решение 3. Проверьте переменную XAUTHORITY

Переменная среды XAUTHORITY указывает на файл, содержащий волшебные файлы cookie для дисплеев, к которым у пользователя есть доступ. Если эта переменная не установлена ​​или указывает на неверный файл, вы можете столкнуться с ошибкой «Неверный ключ MIT-MAGIC-COOKIE-1».

Чтобы проверить, существует ли переменная XAUTHORITY, запустите:

эхо $XAUTHORITY

Если ничего не возвращается, вам нужно будет создать переменную и установить для нее путь к файлу .Xauthority, который обычно находится в домашнем каталоге пользователя:

экспортировать XAUTHORITY=~/.Xauthority

Решение 4. Используйте параметр -Y для SSH

Если вы столкнулись с этой ошибкой при попытке запустить программу через SSH, попробуйте использовать параметр -Y вместо -X, чтобы включить надежную пересылку X11. Это позволяет удаленной программе взаимодействовать с локальным X-сервером:

ssh -Y пользователь@имя хоста

В этой команде user — это ваше имя пользователя, а имя хоста — это имя компьютера, к которому вы подключаетесь.

Решение 5. Удалите параметр -X из SSH.

Если вы по-прежнему сталкиваетесь с ошибкой при использовании SSH, возможно, это связано с тем, что программа пытается передать внутренний дисплей X11 через SSH на удаленный компьютер. Чтобы предотвратить это, удалите параметр -X из команды SSH:

ssh пользователь@имя хоста

Отладка

Если ни одно из этих решений не решило проблему, вы можете попробовать запустить список xauth и статус хостнамектла, чтобы собрать дополнительную информацию о проблеме. Кроме того, вы можете использовать такие инструменты, как strace, для отладки программы и понимания основной причины ошибки.

Заключение

Ошибка «Неверный ключ MIT-MAGIC-COOKIE-1» может стать неприятным препятствием при работе с Ubuntu 20.04, но с помощью этих решений вы сможете ее решить. Если вы по-прежнему сталкиваетесь с проблемами, не стесняйтесь обращаться за помощью к сообществу Ubuntu.

Аутентификация X11 — это метод, используемый системой X Window для проверки личности клиентов, запрашивающих доступ к X-серверу. Он предполагает использование «волшебного файла cookie», который представляет собой случайно сгенерированный ключ, который должен совпадать с ключом, хранящимся на сервере, чтобы соединение было разрешено.

Чтобы проверить значение переменной среды «DISPLAY», вы можете запустить команду echo $DISPLAY в терминале. Это отобразит текущее значение переменной, которое должно иметь формат «:<номер отображения>». Если значение пустое или неверное, возможно, вам придется установить его вручную с помощью команды экспорта.

Чтобы найти номер дисплея, который будет использоваться для переменной среды «DISPLAY», вы можете запустить команду echo $DISPLAY в терминале. Номер дисплея обычно представляется в виде одной цифры, например «:0» или «:1». Если вы не уверены, вы можете попробовать использовать «:0» в качестве отображаемого номера, который является значением по умолчанию для основного X-сервера.

Переменная среды «XAUTHORITY» указывает на файл, содержащий волшебные файлы cookie для дисплеев, к которым у пользователя есть доступ. Он используется системой X Window для аутентификации пользователя и разрешения ему подключиться к X-серверу. Если эта переменная не установлена ​​или указывает на неправильный файл, вы можете столкнуться с ошибкой «Неверный ключ MIT-MAGIC-COOKIE-1».

Чтобы включить надежную пересылку X11 при использовании SSH, вы можете использовать параметр «-Y» вместо «-X» при подключении к удаленному компьютеру. Например, вы можете запустить команду ssh -Y user@hostname, чтобы установить SSH-соединение с включенной доверенной переадресацией X11. Это позволяет удаленной программе взаимодействовать с локальным X-сервером.

Чтобы удалить параметр «-X» из команды SSH, вам просто нужно запустить команду ssh user@hostname без каких-либо дополнительных параметров. Опуская параметр «-X», вы предотвращаете попытку программы передать внутренний дисплей X11 через SSH на удаленный компьютер, что может помочь устранить ошибку «Неверный ключ MIT-MAGIC-COOKIE-1».

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *