최근에 Starsector라는 게임을 다운로드했는데 매번 폴더에 들어가서 실행하는 대신 ./starsector.sh
데스크톱 항목을 만들고 싶습니다. 아래는 내 현재 .desktop
파일 입니다 starsector.desktop
.
[Desktop Entry]
Version=1.0
Name=Starsector
GenericName=Starsector
Exec=sh -c "cd /usr/games/starsector && sudo ./starsector.sh"
Terminal=false
Icon=/usr/games/starsector/graphics/icons/cargo/ai_core_alpha.png
Type=Application
Categories=Game
이 파일을 으로 옮겼습니다 ~/.local/share/applications
. 해당 Exec
줄을 복사하여 셸에서 실행하면 게임이 완벽하게 실행되지만 아이콘을 클릭하면 아무 작업도 수행되지 않습니다.
내가 시도한 것들
Terminal=true로 설정해 보았습니다 .
실행 desktop-file-validate
오류가 없습니다.
파일에 실행 권한을 추가합니다.
파일을 데스크톱에 복사하고 "실행 허용"을 클릭하여
실행합니다.gio set myapp.desktop metadata::trusted yes
현재로서는 파일 -rw-rw-r--
권한 문제인지, 게임 실행 파일 자체의 문제인지는 모르겠습니다.
편집하다:
내가 시도한 더 많은 것들
Exect=sh -c "cd /usr/game/starsector && sh ./starsector.sh
소유자 및 그룹을 starsector.sh
내 사용자 설정에서 root
내 사용자로 변경 starsector.desktop
소유자 및 그룹을 내 사용자에서 다음으로 변경합니다.root:root
답변1
startector.sh를 실행하도록 모드를 변경합니다.
sudo chmod +x /usr/games/starsector/starsector.sh
startector.desktop을 실행하도록 모드를 변경합니다.
sudo chmod +x /usr/share/applications/starsector.desktop
데스크톱 파일에서 EXEC 변경
Exec=/usr/games/starsector/starsector.sh
답변2
해결책은 매우 간단합니다. 내가 해야 할 일은 #!/bin/bash
파일 상단에 추가하는 것뿐 .desktop
이었고 모든 것이 완벽하게 작동했습니다.