web-dev-qa-db-ja.com

xauthが.Xauthorityファイルに書き込めない

ウィンドウマネージャーBSPWM(DEなし)でArch Linuxを実行していますが、最近。Xauthorityファイルで問題が発生しています。

。Xauthorityファイルに書き込めないため、Xサーバーを起動できなくなりました。 Archが新しい。Xauthorityファイルを作成することを期待して。Xauthorityファイルを削除しようとしたとき、ログイン時に新しい。Xauthorityが作成されました=ファイルは作成されていません。

。Xauthorityファイルを手動で再作成してアクセス許可を変更しようとしましたが、まだ機能しません。さらに、ホームディレクトリに。Xauthority-nファイルがあります。これが何をするのかわかりませんが、削除すると、再度ログインしたときに再び表示されます。

。Xauthority-nおよび。Xauthorityファイルが存在する場合、startxで次のエラーが発生します。

xauth: unable to write authority file ~/.Xauthority-n

通常の。Xauthorityファイルを使用しない理由がわかりません。

Xauthが.Xauthorityファイルに書き込めるようにするにはどうすればよいですか?そして、.Xauthority-nファイルの目的は何ですか、そしてどのようにそれを取り除くことができますか?

2
Surya R

xauth.Xauthorityファイルを更新しているとき、最初はその新しいバージョンを.Xauthority-nとして書き込みます。ファイルが完全に書き込まれると、そのファイルは.Xauthorityに移動/名前変更され、古いバージョンのファイルが同時に削除されます。

これは、単一のPOSIX準拠ファイルシステム内の名前変更/移動操作がatomicであることになっているという事実に依存しています。操作は途中で停止することはできませんが、正常に完了するか、古いファイルが変更しないでください。

xauthコマンドが.Xauthority-nファイルがすでに存在することを検出した場合、xauthコマンドの別のインスタンスがすでにいくつかの変更を行っていることを意味し、何もしないようにします。そのため、これは、同じユーザーとして同時に実行されているxauthの複数のインスタンスによって引き起こされる破損からファ​​イルを保護します。

.Xauthority-nファイルがホームディレクトリに残っているという事実は、何らかの理由で名前変更/移動操作を実行する前に、xauthの以前のコピーが途中で終了したことを示しています。

X GUIからログアウトし、リモートまたはテキストベースの仮想コンソールを使用してログインし、次に削除しますboth.Xauthorityand.Xauthority-n。その後、システムがホームディレクトリに.Xauthorityファイルを作成/上書きできない他の問題がない限り、GUIログインは正常に機能します。

3
telcoM