Unity가 ~ / .local / share / applications /를 강제로 재로드하는 방법


66

myapp.desktop에서 일부 파일을 변경 / 추가했다고 가정 해 보겠습니다 ~/.local/share/applications/. 얼마 동안 Ubuntu Unity는 Ubuntu 버튼 아래 Unity 렌즈의 오래된 응용 프로그램 바로 가기를 계속 표시합니다. 애플리케이션 목록을 업데이트하려면 시간이 조금 걸립니다 (또는 한 번만 다시 시작).

~/.local/share/applications렌즈에서 Unity를 강제로 다시로드 하고 바로 가기를 올바르게 반영하려면 어떻게해야합니까?


당신은 시도 했습니까 unity --reset?
sayantankhan 2016

보정. 그냥 있어야합니다 unity. alt + F2를 누르고 명령을 입력하십시오.
sayantankhan 2016

예. 도움이되지 않았습니다. 여전히 unity또는 unity --reset이전 (myapp.desktop 파일을 수정하기 전)의 이전 응용 프로그램 이름을 표시 합니다.
블라디미르

이상한, 내가하고있는 것과 똑같은 일을하면 잘 작동하는 것 같습니다. .desktop파일이 실행 가능한지 확인 했습니까 ?
sayantankhan

로그 오프 / 다시 시작한 후에 만 ​​작동합니다. 데스크탑 파일 내에서 기존 응용 프로그램의 이름을 변경하십시오. 다른 것을 바꾸지 마십시오. 예를 들어, 일부 기존 앱의 이름에 "Test"를 추가하십시오. 이제 Ubuntu 버튼을 누르고 응용 프로그램 이름을 입력하십시오. 여전히 "Test"가없는 이전 이름이 표시됩니다. 나는 직장 및 가정용 기기와 아내의 노트북 모두에서 그것을 재현했습니다. 나는 그것이 약 100 % 재현 가능하다고 생각합니다.
vladimir

답변:


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 파일의 복사본을 넣는 것만으로도 저에게
효과적이었습니다.

일반적으로 파일을 수동으로 편집하여에 추가합니다 .local/share/applications/. 와 함께 명령을 사용해 보았는데 --delete-original경고가 표시되었습니다 warning: key "Keywords[uk]" is a list and does not have a semicolon as trailing character, fixing. 결과는 소스 파일이 삭제되었고 대상 디렉토리에 아무것도 복사되지 않은 것입니다. 사악한 OS ... 기본적으로 내 파일을 숨기고 처음부터 새 파일을 만들어야했습니다.
Daniel

2
이 작업을 수행해도 여전히 OP 문제가 표시됩니다.
JAB

또한이 작업을 수행 할 때에도 (다시 시작한 후에도) OP가 통지됩니다 (Ubuntu 16.04).
Dan Nissenbaum

17

이를 수행하는 방법은 명령을 실행하는 것입니다

killall unity-scope-home

대시를 연 후 프로세스가 자동으로 다시 시작됩니다.

그런 다음 올바른 아이콘이 표시됩니다.


1
내 편에서 작동하지 않습니다. .desktop파일을 제거했는데 여전히 compiz실행 표시 줄에 나타납니다 .
티노

음, 함께 붙어 버그 1287663 솔루션을 사용하는 것이 었습니다 gsettings set다음( unity --replace & )
티노

compiz 실행 표시 줄이 무슨 뜻인지 모르겠습니다! 나는 당신이 대시에 대해 이야기하고 있다고 생각 했습니까?
wa4557

나를 위해 잘 작동하는 응용 프로그램은 다시 나열
Sjaak Trekhaak

15.10의 대안이 있습니까? 내가 unity-scope-home: no process found
간다

10

update-desktop-database.desktop데이터베이스 를 새로 고치는 명령 입니다.


이것은 나를 위해 작동하지 않았습니다. 우분투 실행 16.04. 런처 아이콘에는 여전히 .desktop 파일의 변경 사항이 표시되지 않습니다.
RichArt

2
이 명령은 MIME 유형 데이터베이스 만 업데이트합니다. 다른 변경 사항은 업데이트되지 않습니다. 참조 : manpages.ubuntu.com/manpages/zesty/man1/…
hife

그것은 나를 위해 일했다
aless80

sudo와 함께 나를 위해 일합니다
Mahoor13

8

이 답변 에 따르면 (그리고 같은 의미로 다른 많은 것을 찾을 수 있음) 불행히도 unity-applications-daemon이 응용 프로그램 캐시를 새로 고치도록 명령하지 않는 것 같습니다. 그러나 나는 화합이의 .desktop파일에 대한 변경 사항을 자동으로 감지한다는 것을 확인할 수 있습니다 ~/.local/share/applications. 이러한 변경 사항을 즉시 사용할 수없는 경우 로그 아웃 한 후 다시 로그인하여 새로 고치십시오.


3
네, 자동으로 .... 한 시간 안에 감지합니다 ...
vladimir

@vladimir 내가 말했듯이 변경 사항을 즉시 사용하려면 로그 아웃했다가 다시 시도하여 새로 고치십시오.
Radu Rădeanu

3
나는 당신의 대답을 완전히 얻었고 아마 그것을 받아 들일 것입니다. 로그 오프의 단점을 이해합니다. 열려있는 모든 앱이 닫힙니다. 솔루션이 아니며 해결 방법이며 사용자에게 친숙하지 않습니다. 우연히 개발자입니까? 그렇다면, 데몬 소스를 알려주시겠습니까? :이 그것을 추측 단결 렌즈 - 응용 프로그램 daemon.vala
블라디미르

3

이 답변에는 데스크톱을 다시 시작하지 않아도됩니다.


꽤 늦었지만 데스크톱 데이터베이스 캐시를 업데이트하는 유틸리티 명령이 update-desktop-database있습니다.

에 추가 된 내용을 업데이트 $HOME/.local/share/applications/하려면 다음을 사용하십시오.

>> update-desktop-database

글로벌들에를 CH3OH 거즈 업데이트와 같은 /usr/share/ubuntu/applications, /usr/share/gnome/applications, /usr/share/applications, 등, 사용 :

>> sudo update-desktop-database

이것은 나를 위해 작동합니다.
Honghe. 우

0

이 명령 후에 일부 응용 프로그램이 제대로 작동하지 않을 수 있습니다. 예를 들어 크롬은 완전히 검은 색이되었습니다.

unity --replace

당신은 당신의 경고를 명확히 할 수 있습니까 (?)?
Zanna

0

다시 시작할 때 비슷한 문제가 발생했습니다. 나는 우분투 16.04를 사용한다

데스크톱 파일을 다른 사용자와 공유하고 한 명의 사용자 만 사용 하려는 경우 일반적으로 .desktop파일을 만듭니다 . 그리고 나는 보통 다시 시작합니다./usr/share/applications/~/.local/share/applications

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.