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/2640 MIT-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/
出典: linux.die.net
コマンドラインから X Window Server を再起動するにはどうすればいいですか?