web-dev-qa-db-ja.com

デスクトップを更新するか、システムを起動するたびにデスクトップアイコンが再配置され続ける

デスクトップを更新するか、システムを起動すると、デスクトップアイコンが再配置され続けます。
アイコンをマウスで移動して並べ替えて更新すると、元に戻されて名前で並べ替えられます。解決策は何ですか?
Ubuntu 16.04を使用しています。
これはバグだと思います。どのように報告すればよいですか?

2
Milad

ターミナルを開き、次のコマンドを入力します。

cd ~/.local/share/gvfs-metadata  
Sudo chown $USER home  
chmod 755 home

これにより、デスクトップソフトウェアでアイコンの構成を変更/保存できます。
(スペルと構文エラーを修正してくれたコミュニティに感謝します。)

1
UoPTucson

OPを処理するGUI(グラフィカル)方法を好むユーザーの場合、これは役に立つかもしれません。

手順: open Nautilus(ファイル)rootとして、「home」というファイルをUSERRead /書き込み可能

Launch Terminal => Sudo nautilus
Nautilus ( Files ) > Home > /.local > /share > /gvfs-metadata
Right click on file called " home " select “ Properties “ and change “ Permissions “

「ホーム」と呼ばれるファイルは「ルート」特権に設定されている可能性が高いことに注意してください(アイコンに小さなロック記号が付いている可能性が高い)。

根拠:

この問題を再現することは困難ですが、デスクトップ上にあるフォルダーの権限が変更されると、Ubuntu 16.04はデスクトップアイコンの配置場所を「記憶」する機能を失うようです。これは、アプリケーション 'Nautilus(アイコン名は“ Files”)'が複数の許可状態で同時に開かれているときに発生するようです。 Unityランチャーを使用してNautilus(ファイル)を起動する場合、制御レベルは「ユーザー」の制御レベルです。 Nautilus(Files)をSudoを使用してターミナル(CLI)から起動すると、「root」のすべての権限で開かれます。 Ubuntuは、デスクトップにあるフォルダーの許可を変更することに加えて、デスクトップ構成情報を保持するファイルの許可も変更します。残念ながら、これは定期的には発生しないため、この理論を確認することは困難です。

0
NewUser

編集(2017年8月30日):
以下の解決策を試す前に、他の回答が機能しない場合は、これを試してください。

$ Sudo chown -R(ユーザー名)/ home /(ユーザー名)/。local /

何らかの理由で、Ubuntu 17.04の更新後に再びこの問題が発生したため、他の回答を検討してみましたが、実際には機能しませんでした(「〜/ .local /。」の「。」を忘れたためではありません) 。(もう一度、17.04を使用しています)が、「./ local/share/gvfs-metadata/home」のモードと所有権の変更が機能しなかったため、おそらく正しいファイルではなかった可能性があります。)これは、Ubuntuの以前のバージョンでは異なる可能性があるため、回答を編集する代わりにここにあります。残念ながら、まだコメントすることはできません。 「〜/ .config」ディレクトリをすべてchownおよびchmodし、他の回答やコメントを考慮した後、「〜/ .local」ディレクトリ全体をchownおよびchmodして、結果をテストすることにしました。各ステップの後、私はそれをちょうどひねったようにすぐに機能することに気付きました。 chmodは必要ありません。それは私の奇妙なセットアップかもしれませんが、それがうまくいけば、セキュリティを弱めたり、ホームディレクトリ全体を変更したりせず、デスクトップクライアントに必要な他の設定ファイルがあればそれを修正するので、とにかく試してください。これがお役に立てば幸いです。
==編集の終了。==


これは私がしました、

$ Sudo chown -R (UserName) /home/(UserName)
$ Sudo chmod -R 766 /home/(UserName)

最初のコマンドは、上記のユーザー名(この場合はユーザー)が/home/(UserName)ディレクトリ内のすべてのファイルを所有していることを確認します。

2番目のコマンドは、所有者であるあなたがそれらのファイルに対する完全な権限(読み取り、書き込み、実行)を持ち、他のすべてのユーザーが読み取りと書き込みを行うことを保証します。 777または766である必要はありません(下部の編集をお読みください)。そのようにしたい場合は666、766は設定ファイルを上書きして読み取ることができることを確認するためだけに実行許可を与えます。

これが機能する理由は、デスクトッププログラムがrootではないとしてログインするユーザーとして実行されるためです。そのユーザーが設定ファイルを所有していないか、書き込みアクセス権がない場合、デスクトップを更新または再起動するたびに、古いファイルは上書きできなかったため、古い設定(デスクトップ設定、デスクトップアイコンなど)。これらのコマンドを実行することにより、所有権を与え、それらのファイルを完全に制御できます。また、デスクトッププログラムはユーザーとして実行されるため、これらのファイルで必要な処理を上書きすることもできます。

また、これらのコマンドは、ユーザーのホームディレクトリ(/ home /(UserName))とすべてのサブディレクトリの書き込み/作成特権も付与し、ユーザーとデスクトッププログラムがこれらのファイルが存在しない場合にそれらを作成できるようにします。これらのファイルが存在せず作成されない場合、デスクトッププログラムは、更新または再起動するたびに新しいレイアウトを生成します。これらのコマンドにより、すべてのサブディレクトリへのフルアクセスが保証され、デスクトッププログラムがこれらのファイルを作成してレイアウトを保存できるようになります。

編集:chmodコマンドを使用する場合、世界的に読み取り可能/書き込み可能/実行可能(777)にする必要はありません。実際、必要な場合を除き、特にマルチユーザーマシンを使用している場合は、そうすべきではありません。元々777を提案していたのは私の間違いでした。したがって、777ではなく766を読むように回答を編集しました。好きなものを使用できますが、設定ファイルのすべてを読み書きできることを確認する必要がありますデスクトッププログラムやその他のソフトウェアが動作するために必要です。

覚えておくべきこと...セキュリティと利便性(または機能)は通常混同されません。

0
Thomas Bodrey