/usr/share/applications에 데스크톱 파일을 생성했지만 Dash에 표시되지 않습니다.

/usr/share/applications에 데스크톱 파일을 생성했지만 Dash에 표시되지 않습니다.

.desktop 파일을 만들었습니다.

[Desktop Entry]
Exec=cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
Terminal=false
StartupNotify=true
Categories=GNOME;Oracle;Utility;Development;
Type=Application
Icon=/opt/sqldeveloper/icon.png
Name=Oracle SQL Developer
Comment=what to say
Version=s.0.m.t.h.i.n.g
GenericName=ORACLE SQL DEVELOPER

에 있습니다 /usr/share/applications. 노틸러스에서 보면 아이콘이 표시되기도 하는데 Alt(대시 또는 Windows 키)를 누르고 검색하면 표시되지 않습니다.

또한 나는 다음을 시도했습니다.

sudo update-desktop-database

답변1

.desktop 파일의 중요한 문제는 무엇입니까?

명령을 다른(간단하고 작동하는) 명령으로 대체하여 .desktop 파일을 시도했는데 Exec=파일이 작동하는 것으로 보이며 Dash에서 거부되지 않습니다.

Exec=.desktop 파일의 행을 마치 터미널 창인 것처럼 사용할 수 있다는 것은 일반적인 오해입니다 . 그렇지 않습니다. 예를 들어 확장이 작동 ~/하지 않거나 $HOME작동하지 않습니다. 런처 파일(사용자 .desktop파일) 에서 실행되도록 별도의 스크립트 파일에 더 복잡한 명령을 배치하는 것이 좋은(의미: 쉬운) 습관입니다.

.desktop 파일에서 복잡한 명령 실행

특별히 명령을 지키고 싶다면내부에파일 .desktop을 다음과 같이 만들어야 합니다.

Exec=sh -c "your_complicated_command_here && the_rest_of_it"
(command inside quotes)

.desktop 파일에서 스크립트를 실행하여 작업 수행

당신의 명령이

cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*

터미널 창에서 작동하지만 간단히 작은 스크립트를 만듭니다.

#!/bin/bash
cd /opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*

로 저장하고 .desktop 파일의 줄을 다음과 같이 scriptname.sh변경합니다 .Exec=

Exec=sh /path/to/scriptname.sh

그러면 .desktop파일이 Dash에 표시됩니다.

메모

@Braiam 및 @MrVaykadji가 언급한 것처럼 .desktop 파일에 더 많은 문제가 있습니다. 몇 가지 예:

  • Categories=읽을 수 있듯이 행 에서 구성된 값만 사용해서는 안됩니다 .여기
  • 버전 필드는 필수는 아니지만, 사용하는 경우 1.0을 사용하세요.

더 많은 것을 찾을 수 있습니다여기. 찾을 수 있는 좋은 도구여기(@Braiam 및 @MrVaykadji에게도 감사드립니다)

그러나 .desktop 파일이 Dash에 표시되지 않게 만드는 중요한 것은 라인입니다 Exec=.

관련 정보