Steam에서는 .desktop 파일을 생성할 수 없습니다. 해결 방법 또는 수정?

Steam에서는 .desktop 파일을 생성할 수 없습니다. 해결 방법 또는 수정?

오늘 나는 샀다프로젝트 병원Linux Mint 19 Cinnamon용 Steam 게임입니다.

저는 이 게임만 설치해서 다른 게임에서도 이런 문제가 발생하는지 알 수 없습니다.

게임은 잘 실행되지만 .desktop메뉴를 통해 파일을 생성할 수 없습니다.

"프로젝트 병원"->"바탕화면 바로가기 생성" 메뉴 항목을 마우스 오른쪽 버튼으로 클릭하세요.

(대본)은 다음과 같습니다.

바로가기를 만들 수 없습니다.
게임 바로가기가 이미 바탕화면에 있을 수도 있습니다.

마찬가지로 이 게임에 대한 메뉴 항목도 생성되지 않습니다.

(이미지 버전을 사용할 수 없습니다. 어떤 이유로 모달 팝업의 스크린샷을 찍을 수 없습니다.)

2018년 11월 26일자 Steam 버전을 가지고 있습니다.

내 Steam 버전의 날짜는 2018년 11월 26일입니다.


.desktop파일을 수동으로 생성 할 수 있나요 ?

그렇다면 최소한 무엇을 포함해야 하는지 설명할 수 있나요? 생성 후 확인할 수 있는 방법이 있나요?

답변1

긴 이야기 짧게

.desktop콘텐츠가 포함된 파일을 생성하세요 . Steam ID는 다음과 같습니다.프로젝트 병원868360, Steam 링크에서 이 번호를 볼 수 있습니다. 예:

https://store.steampowered.com/app/868360/Project_Hospital/

[Desktop Entry]
Name=[replace with the game name]
Exec=steam steam://rungameid/[replace with a number = Steam Id of the game]
Icon=[replace with a path to some image you find suitable]
Terminal=false
Type=Application
Categories=Game

다음 명령을 사용하여 구문을 확인할 수 있습니다.

desktop-file-validate /path/to/the/desktop/file

오류가 발견되지 않으면 아무 말도 하지 않습니다.


세부 사항

이미 하나 닫혀있습니다발권이 주제는 GitHub에서 중복된 것으로 추정됩니다.이 티켓. 이 질문에 대한 공개 티켓은 다음과 같습니다.https://github.com/ValveSoftware/steam-for-linux/issues/5590

그러나 어디에도 해결책이 기록되어 있지 않습니다. 이 문제는 1년 전인 2017년 11월 8일에 해결되었습니다.

문을 닫은 후에도 이것이 왜 여전히 문제인지 이해가 안 되지만 어쨌든...

이 파일은 데스크탑에서 실행 해야 chmod +x하지만 메뉴에 있는 경우에는 실행하지 마십시오.

내 사용자 데스크톱 항목의 위치:~/Desktop

내 전역 메뉴 항목의 위치:/usr/share/applications/


디버그-내 Steam 티켓 댓글성적 증명서

어쨌든 방금 오픈 티켓을 제출했습니다. 감사합니다.아론그건 그렇고 코멘트:


자, 바로 들어가서 마지막으로 이 문제를 디버깅해 봅시다!

$ ls -lhF ~/.local/share/Steam/steam/games/

-rwxrwxr-x 1 vlastimil vlastimil 102K Dec  4 14:51 051f52fdea67d8f16a20daaccaf2fbfa1823d202.ico*
-rwxrwxr-x 1 vlastimil vlastimil 159K Nov 12 12:06 3f2b22c6d7bca4d39f06c203d16facb50014bbbb.ico*
-rw-rw-r-- 1 vlastimil vlastimil 178K Oct 17 10:00 61f9291306d3f002cc749d437ce84c42c9c9d52d.ico
-rw-rw-r-- 1 vlastimil vlastimil  11K Sep 26 15:13 75a21c39178811f5ec421d85a58fa2a07c2633b7.ico
-rwxrwxr-x 1 vlastimil vlastimil  60K Nov 27 03:42 7f263bfdc0c2df24b756d7e87472c6b447ee8538.ico*
-rwxrwxr-x 1 vlastimil vlastimil 362K Nov 19 13:09 866ec9836186e7127888bfd7a11231a3971f105d.ico*
-rwxrwxr-x 1 vlastimil vlastimil  602 Feb  4  2010 PlatformMenu.vdf*
-rwxrwxr-x 1 vlastimil vlastimil 9,9K May  4  2006 SteamMovie.ico*

여기서 가장 먼저 눈에 띄는 이상한 점은 일부 파일에는 실행 플래그(파일 이름 뒤에 별표가 표시됨)가 있다는 것입니다.

두 번째로 눈에 띄는 점은 일부 파일은 작은 반면 다른 파일은 더 크며 그 자체가 아이콘이라는 것입니다.

따라서 다음 명령을 실행하면 더 많은 정보가 표시됩니다.

$ file ~/.local/share/Steam/steam/games/*

/home/vlastimil/.local/share/Steam/steam/games/051f52fdea67d8f16a20daaccaf2fbfa1823d202.ico: Zip archive data, at least v1.0 to extract
/home/vlastimil/.local/share/Steam/steam/games/3f2b22c6d7bca4d39f06c203d16facb50014bbbb.ico: Zip archive data, at least v2.0 to extract
/home/vlastimil/.local/share/Steam/steam/games/61f9291306d3f002cc749d437ce84c42c9c9d52d.ico: MS Windows icon resource - 5 icons, 16x16, 32 bits/pixel, 24x24, 32 bits/pixel
/home/vlastimil/.local/share/Steam/steam/games/75a21c39178811f5ec421d85a58fa2a07c2633b7.ico: Zip archive data, at least v2.0 to extract
/home/vlastimil/.local/share/Steam/steam/games/7f263bfdc0c2df24b756d7e87472c6b447ee8538.ico: Zip archive data, at least v2.0 to extract
/home/vlastimil/.local/share/Steam/steam/games/866ec9836186e7127888bfd7a11231a3971f105d.ico: MS Windows icon resource - 6 icons, 16x16, 32 bits/pixel, 32x32, 32 bits/pixel
/home/vlastimil/.local/share/Steam/steam/games/PlatformMenu.vdf:                             ASCII text, with CRLF line terminators
/home/vlastimil/.local/share/Steam/steam/games/SteamMovie.ico:                               MS Windows icon resource - 6 icons, 16x16, 4 bits/pixel, 16x16, 8 bits/pixel

이제 일부 파일이 실제로 .zip 아카이브라는 것을 알았으므로 먼저 안전한 위치에 복사하여 자세히 살펴보겠습니다.

$ mkdir -p ~/steamIcons && cp ~/.local/share/Steam/steam/games/*.ico ~/steamIcons && cd ~/steamIcons && rm SteamMovie.ico

이제 내 기준에 따르면 실행 권한이 전혀 없어야 하므로 실행 권한을 제거하고 얻는 내용을 나열해 보겠습니다.

$ chmod -x * && ls -lh

-rw-r--r-- 1 vlastimil vlastimil 102K Dec  6 23:54 051f52fdea67d8f16a20daaccaf2fbfa1823d202.ico
-rw-r--r-- 1 vlastimil vlastimil 159K Dec  6 23:54 3f2b22c6d7bca4d39f06c203d16facb50014bbbb.ico
-rw-r--r-- 1 vlastimil vlastimil 178K Dec  6 23:54 61f9291306d3f002cc749d437ce84c42c9c9d52d.ico
-rw-r--r-- 1 vlastimil vlastimil  11K Dec  6 23:54 75a21c39178811f5ec421d85a58fa2a07c2633b7.ico
-rw-r--r-- 1 vlastimil vlastimil  60K Dec  6 23:54 7f263bfdc0c2df24b756d7e87472c6b447ee8538.ico
-rw-r--r-- 1 vlastimil vlastimil 362K Dec  6 23:54 866ec9836186e7127888bfd7a11231a3971f105d.ico

이제 이러한 아이콘을 아카이브에서 분리해야 할 것입니다.

$ mkdir -p ico zip
$ mv 61f9291306d3f002cc749d437ce84c42c9c9d52d.ico 866ec9836186e7127888bfd7a11231a3971f105d.ico ico/
$ mv *.ico zip/

그리고 이러한 zip 아카이브에 적절한 확장자를 지정하십시오.

$ for file in *; do mv "${file}" "${file}.zip"; done && ls -lh

이제 각 zip 파일에 대한 디렉터리를 만들고 해당 디렉터리에 파일을 추출하려고 합니다.

$ for filename in *; do dirname="${filename%.zip}"; dirname="${dirname%.ico}"; mkdir -p "${dirname}"; unzip "${filename}" -d "${dirname}";rm "${filename}"; done

이제 디렉토리 구조를 확인해야 합니다. 아직 설치 하지 않았을 수도 있으므로 treeUbuntu 기반 Linux에 설치해 보겠습니다.

$ sudo apt-get install tree

우리가 무엇을 가지고 있는지 봅시다:

$ tree

.
├── 051f52fdea67d8f16a20daaccaf2fbfa1823d202
│   └── icons
│       ├── icon_16.png
│       ├── icon_24.png
│       ├── icon_32.png
│       ├── icon_64.png
│       └── icon_96.png
├── 3f2b22c6d7bca4d39f06c203d16facb50014bbbb
│   ├── 128x128.png
│   ├── 16x16.png
│   ├── 24x24.png
│   ├── 256x256.png
│   ├── 32x32.png
│   ├── 64x64.png
│   └── 96x96.png
├── 75a21c39178811f5ec421d85a58fa2a07c2633b7
│   ├── Hexcells Icon 128.png
│   ├── Hexcells Icon 16.png
│   ├── Hexcells Icon 32.png
│   ├── Hexcells Icon 64.png
│   └── Hexcells Icon 96.png
└── 7f263bfdc0c2df24b756d7e87472c6b447ee8538
    ├── civ5.png
    └── __MACOSX

6 directories, 18 files

내가 아는 한, 안타깝게도 인식할 수 없는 게임이 일부 있으므로 GUI에서 확인하는 것이 좋습니다.

Icon_Folder_스크린샷

이제 그 이유를 찾은 것 같아요!

직접 볼 수 있듯이 작동하는 게임의 디렉토리에는 png 아이콘이 있는 반면, 내 테스트 사례(Project Hospital)에서 작동하지 않는 게임에는 icons이러한 아이콘이 포함된 png라는 하위 디렉토리가 있습니다.

사례가 해결되었습니다. @kisak-valve에서는 이러한 사례를 처리할 수 있도록 Steam 클라이언트를 조정해 주세요. 감사해요.

관련 정보