После смены имени хоста 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 list
list 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 варианта:
- Просто — удалите файл ~/.ICEauthority и перезапустите машину или диспетчер дисплея. ~/.ICEauthority будет создан заново с вашим новым именем хоста.
- 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 из командной строки?