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

エラーが見つからない場合は何も言いません。


詳細

すでに1つ閉じています発券このトピックは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*

ここで最初に目立つ奇妙なことは、一部のファイルには実行フラグ(ファイル名の後にアスタリスクが表示されます)があることです。

2番目に目立つのは、一部のファイルは小さいが他のファイルは大きく、それ自体がアイコンであるということです。

したがって、次のコマンドを実行すると、より多くの情報が表示されます。

$ 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クライアントを調整してください。ありがとうございます。

おすすめ記事