Unityを強制的にリロードする方法〜/ .local / share / applications /


66

myapp.desktopファイルを変更/追加したとしましょう~/.local/share/applications/。Ubuntu Unityはしばらくの間、Ubuntuボタンの下にあるUnityレンズで古いアプリケーションのショートカットを表示します。アプリケーションリストを更新するには、しばらく時間がかかります(または1回だけ再起動します)。

Unityを強制的にリロードし~/.local/share/applications、ショートカットをレンズに正しく反映するにはどうすればよいですか?


試しましたunity --resetか?
-sayantankhan

補正。それだけである必要がありますunity。alt + F2を押して、コマンドを入力します。
-sayantankhan

はい。助けにはなりませんでした。unityまたはunity --reset(myapp.desktopファイルを変更する前の)の後の古いアプリケーション名が引き続き表示されます。
ウラジミール

奇妙なことに、あなたがやっていることとまったく同じことをすればうまくいくようです。.desktopファイルが実行可能であることを確認しましたか?
sayantankhan

ログオフ/再起動後にのみ機能します。デスクトップファイル内の既存のアプリケーションの名前を変更してみてください。何も変更しないでください。たとえば、既存のアプリの名前に「テスト」を追加します。ここで、Ubuntuボタンを押してアプリケーション名の入力を開始します。「テスト」なしの古い名前が表示されます。私は仕事用と家庭用の両方のマシンと妻のラップトップでそれを再現しました。ほぼ100%再現可能だと思います。
ウラジミール

回答:


69

少し遅れましたが、解決策を見つける前にこのスレッドに出くわしました。少なくとも私の問題に対して、関連する何かをグーグルで探し、ほとんどあきらめました。

このガイドに従ってhelp.ubuntu.com、ちょうどあなたの編集または作成しない.desktopでファイル/usr/local/share/applicationsまたは~/.local/share/applications。代わりに、別の場所にファイルを作成して使用します

desktop-file-install <your_file.desktop>

ファイルを追加します。

たとえば、作成~/myapp.desktopして実行します

desktop-file-install --dir=$HOME/.local/share/applications ~/myapp.desktop

同じ名前の既存のファイルは上書きされ、統一されて更新されます。--delete-originalソースが不要になった場合に使用できます。または

sudo desktop-file-install ~/myapp.desktop

すべてのユーザーにインストールします。


+1これが機能します。このレシピを使用した大まかな編集スクリプトはgist.github.com/hilbix/f468fcbb15c3f68670d8にあります
Tino

4
〜/ .local / share / applicationsに.desktopファイルのコピーを置くだけで
うまくいきました。– chrismarx

私は通常、ファイルを手動で編集し、それをに追加し.local/share/applications/ます。でコマンドを使用し--delete-originalてみましたが、警告が表示されました:warning: key "Keywords[uk]" is a list and does not have a semicolon as trailing character, fixing。その結果、ソースファイルが削除され、ターゲットディレクトリには何もコピーされませんでした。邪悪なOS ...基本的に私のファイルを無効にし、ゼロから新しいファイルを作成しなければなりませんでした。
ダニエル

2
これを行っても、OPが気づく問題がまだあります。
JAB

また、この操作を行っても(および再起動した後でも)OPが気付く問題が発生します(Ubuntu 16.04)。
ダンニッセンバウム

17

これを行う方法は、コマンドを実行することです

killall unity-scope-home

ダッシュを開くと、プロセスが自動的に再開されます。

正しいアイコンが表示されます...


1
私の側では機能しません。.desktopファイルを削除しても、compiz起動バーに表示されたままです。
ティノ

さて、で立ち往生BUG 1287663 ソリューションを使用していたgsettings setが続く( unity --replace & )
ティノ

compiz起動バーの意味がわかりませんか?!私はあなたがダッシュについて話していたと思いましたか?
wa4557

私にとっては正常に動作し、アプリケーションが再び列挙されている
Sjaak Trekhaak

15.10の代替案はありますか?私は取得していますunity-scope-home: no process found
アルディラ

10

update-desktop-database.desktopデータベースを更新するコマンドです。


これはうまくいきませんでした。Ubuntu 16.04を実行しています。ランチャーアイコンに.desktopファイルに加えられた変更がまだ表示されていません。
リッチアート

2
このコマンドは、MIMEタイプデータベースのみを更新します。他の変更は更新されません。参照:manpages.ubuntu.com/manpages/zesty/man1/...
hife

それは私のために働いた
-aless80

sudoで動作します
Mahoor13

8

よると、この答えは(とあなたは同じ意味で多くの人を見つけることができます)、残念ながらユニティアプリケーション・デーモンがそのアプリケーションキャッシュをリフレッシュさせるために何のコマンドはなさそうです。しかし、Unityがの.desktopファイルの変更を自動的に検出することを確認できます~/.local/share/applications。これらの変更をすぐに使用できない場合は、ログアウトしてからもう一度ログインして更新してください。


3
ええ、それは自動的に検出します.... 1時間で
...-vladimir

@vladimir先ほど言ったように、変更をすぐに利用できるようにしたい場合は、ログアウトしてからもう一度ログインして、更新してください。
ラドゥラディアナヌ

3
私はあなたの答えを完全に受け取り、おそらくそれを受け入れるでしょう。ログオフのマイナス面を理解しています-開いているアプリはすべて閉じられます。それは解決策ではなく、回避策であり、ユーザーフレンドリーではありません。もしかして開発者ですか?はいの場合、デーモンのソースを教えていただけますか?私は、これはそれを推測:ユニティレンズアプリケーションのdaemon.vala
ウラジミール

3

この回答には、デスクトップの再起動は含まれません。


かなり遅いですが、という名前のデスクトップデータベースキャッシュを更新するユーティリティコマンドがありますupdate-desktop-database

で追加されたものを更新$HOME/.local/share/applications/する:

>> update-desktop-database

、グローバルなものでaddded詰め込むの更新のような/usr/share/ubuntu/applications/usr/share/gnome/applications/usr/share/applications、など、使用:

>> sudo update-desktop-database

これは私のために動作します。
Honghe.Wu

0

一部のアプリケーションは、このコマンドの後に正常に動作しなくなる場合があります。たとえば、Chromeは完全に黒になりました。

unity --replace

警告を明確にできますか?
ザンナ

0

再起動時に修正された同様の問題がありました。私はubuntu 16.04を使用します

デスクトップファイルを他のユーザーと共有する場合、および1人のユーザーのみの場合は、通常.desktopファイルを作成します。そして、通常は再起動します。/usr/share/applications/~/.local/share/applications

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.