.desktop 파일 권한
.desktop파일 권한에 대한 설명이 필요 합니다. 루트 소유의 모든 .desktop파일에 /usr/share/applications/권한이 있음을 볼 수 있습니다.
-rw-r--r--
 
    또한 examples.desktop에서 $HOME사용자가 소유 한 같은 권한이 있습니다. 모두 제대로 실행됩니다.
그러나 .desktop동일한 권한을 가진 사용자 정의 파일 을 만들려고 할 때 다음 오류 메시지가 표시됩니다.
신뢰할 수없는 애플리케이션 실행기
애플리케이션 실행기 "myapp.desktop"이 신뢰할 수있는 것으로 표시되지 않았습니다. 이 파일의 출처를 모르면 시작하는 것이 안전하지 않을 수 있습니다.
그러나 실행 권한을 추가하면 문제없이 실행할 수 있습니다.
Q : 사용자 지정
.desktop파일+x에 실행 권한이 필요한 이유 또는 일부.desktop파일을 실행 권한없이 실행할 수 있는 이유는 무엇 입니까?.desktop실행 권한없이 사용자 정의 파일을 실행할 수 있습니까?
답변
이것은 Ubuntu의 보안 정책 에서 가져온 것입니다 .
실행 권한 비트 필요
데스크톱 및 셸을 포함한 응용 프로그램은 다음과 같은 경우 파일에서 실행 코드를 실행해서는 안됩니다.
- 실행 가능한 비트 부족
 - 사용자의 홈 디렉토리 또는 임시 디렉토리에 있습니다.
 여기에는 * .desktop, * .jar 및 * .exe 파일이 포함됩니다.
어쨌든 자동으로 실행하는 해결 방법은 없습니다 ...
그렇습니다.이 정책에 따르면 실행 가능한 비트를 설정하지 않고도 .desktop 파일을 실행할 수 있습니다. 이 정책에 따르면 해당 파일을 /home/및 /tmp/디렉토리 에서 다른 곳으로 옮기기 만하면 실행 가능한 비트 세트없이 실행할 수 있습니다. 이것은 이론상 / 정책에 따른 것입니다.
실제로 노틸러스를 사용하면 XDG_DATA_DIR 디렉터리와 디렉터리에서 실행 가능한 비트를 설정하지 않고도 .desktop 파일을 시작할 수 있습니다 ~/.gnome2/. echo $XDG_DATA_DIRS명령으로 XDG_DATA_DIRS를 확인할 수 있습니다 . 따라서 .desktop 파일을 XDG_DATA_DIR 또는에 넣으면 ~/.gnome2/실행 비트 세트없이 노틸러스에서 실행할 수 있습니다. 적어도 12.04에서는 그렇게 작동합니다. 이것이 내가 모르는 앞서 언급 한 정책과 어떻게 일치 하는가.
examples.desktop질문 에서 언급 한 내용 : 해당 .desktop 파일은 다른 종류의 .desktop 파일입니다. 그것은 "링크"이고, 아무것도 실행하고 싶지 않으며, 기본적으로 심볼릭 링크로 작동합니다. 이러한 종류의 .desktop 파일은 어디서나 작동합니다.
.desktop파일을 만들고 배치 할 수 있습니다. ~/.local/share/applications그러면 대시 / 메뉴 / 무엇이든 표시됩니다.
다음과 같이 표시되어야합니다.
[Desktop Entry]
Name=Files
Comment=Launch Nemo File manager
Keywords=folder;manager;explore;disk;filesystem;
Exec=nemo %U
Icon=system-file-manager
Terminal=false
Type=Application
StartupNotify=true
OnlyShowIn=GNOME;Unity;
Categories=GNOME;GTK;Utility;Core;
NoDisplay=false
 
     왜냐하면 대부분의 시스템에서 루트가 아닌 사용자가 소유 한 경우에도 실행 권한 없이도 둘 다 잘 작동 ~/.local/share/applications하는 파일과 동일하게 작동 하기 때문 /usr/share/applications입니다. 그러나 항상 그런 것은 아닙니다.
실제로 파일을 클릭 한 다음 열려면 실행 권한이 필요합니다.
GNOME을 수정하지 않고서는 할 수 없습니다. 있다 런치 패드 버그 리포트 확정,하지만 정확한 문제에 따라 행동하지 않습니다.
소유자 루트 로 사용자 정의 .desktop파일 을 만들 때 /usr/share/applications/실행 권한이 필요하지 않습니다.