Запуск программ после изменения имени хоста возвращает ошибку _IceTransSocketUNIXConnect: не удалось подключиться к локальному хосту

Запуск программ после изменения имени хоста возвращает ошибку _IceTransSocketUNIXConnect: не удалось подключиться к локальному хосту

После смены имени хоста 14.04 я не могу запустить unetbootin, попытка запустить приложение из bash возвращает:

_IceTransSocketUNIXConnect: Cannot connect to non-local host OLDHOSTNAME _IceTransSocketUNIXConnect: Cannot connect to non-local host OLDHOSTNAME Qt: Session management error: Could not open network socket

Вывод от hostname cat /etc/hostnameи cat /etc/hostsвсе подтверждают, что имя хоста верное. Я также перезагрузил систему после внесения изменений, чтобы подтвердить, что все загружено с новыми настройками.

Я в растерянности, любая помощь будет очень кстати! Также, может кто-нибудь дать некоторые сведения о том, что такое IceTransSocketUNIXConnect и как он работает? Это что-то вроде Winsock?

решение1

Похоже, эта ошибка исходит из файла ~/.ICEauthority. Вы можете использовать команду iceauth listlist your records. В моем случае старое имя хоста включено localhost, замените его на ваше старое имя хоста.

например iceauth list | grep localhost:

XSMP "" unix/localhost@localdomain:/tmp/.ICE-unix/2640 MIT-MAGIC-COOKIE-1 7035f3aebe650bd72315b76819267a9d
XSMP "" local/localhost@localdomain:@/tmp/.ICE-unix/2640 MIT-MAGIC-COOKIE-1 abe16eba34a1cf69087aff88bdd14a1a
ICE "" local/localhost@localdomain:@/tmp/.ICE-unix/2640 MIT-MAGIC-COOKIE-1 1e69a0d48b1f1375167c79bffbbfa06e
ICE "" unix/localhost@localdomain:/tmp/.ICE-unix/2640 MIT-MAGIC-COOKIE-1 f91ab2525bf0000159161db41df1aa0c

2 варианта:

  1. Просто — удалите файл ~/.ICEauthority и перезапустите машину или диспетчер дисплея. ~/.ICEauthority будет создан заново с вашим новым именем хоста.
  2. Advanced - Используйте iceauth removeдля удаления плохих записей, а затем перезапустите ваш дисплейный менеджер (14.04 по умолчанию = lightdm). Просто скопируйте и вставьте строку из вашего grep выше в примеры ниже, это удалит записи протоколов XSMP и ICE.
    • iceauth -v remove netid=unix/localhost@localdomain:/tmp/.ICE-unix/2640
    • iceauth -v remove netid=local/localhost@localdomain:@/tmp/.ICE-unix/2640
    • iceauth list | grep localhost# Подтвердите, что они удалены.
    • sudo restart lightdm# @видетьэтот ответдля получения более подробной информации или если это вам не подходит

Дальнейшее чтение man iceauth:

список

Список (печать) записей в файле полномочий. Вы можете указать необязательные модификаторы, как показано ниже, чтобы указать, какие записи следует перечислить.

список [ имя_протокола ] [ данные_протокола ] [ идентификатор_сети ] [ имя_аутентификации ]

удалять

Удалить записи из файла полномочий.

удалить [ имя_протокола ] [ данные_протокола ] [ идентификатор_сети ] [ имя_аутентификации ]

источники:
https://superuser.com/questions/714015/accidentally-deleted-iceauthority-and-xauthority-files
https://codeyarns.com/2015/03/23/cannot-connect-to-non-local-host-error/
https://linux.die.net/man/1/iceauth
Как перезапустить X Window Server из командной строки?

Связанный контент