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
항목을 나열할 수 있습니다. 제 경우에는 이전 호스트 이름이 포함되어 있으므로 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/264 0MIT- MAGIC-COOKIE-1 f91ab2525bf0000159161db41df1aa0c
2가지 옵션:
- 단순 - ~/.ICEauthority 파일을 삭제하고 시스템 또는 디스플레이 관리자를 다시 시작합니다. ~/.ICEauthority가 새 호스트 이름으로 다시 생성됩니다.
- 고급 -
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
:
목록
전거 파일의 항목을 나열(인쇄)합니다. 나열되는 항목을 지정하기 위해 아래와 같이 선택적 수정자를 지정할 수 있습니다.
목록 [ 프로토콜_이름 ] [ 프로토콜_데이터 ] [ netid ] [ 인증이름 ]
제거하다
권한 파일에서 항목을 제거합니다.
제거 [ 프로토콜_이름 ] [ 프로토콜_데이터 ] [ netid ] [ 인증이름 ]
출처:
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를 다시 시작하는 방법은 무엇입니까?