今天,我买了项目医院Steam 上为我的 Linux Mint 19 Cinnamon 准备的游戏。
我只安装了这个游戏,所以我无法确定其他游戏是否也存在该问题。
虽然游戏运行良好,但我无法.desktop
通过菜单创建文件:
右键单击“Project Hospital”->“创建桌面快捷方式”菜单项。
它会说(文字记录):
无法创建快捷方式。
该游戏的快捷方式可能已经在桌面上。
同样,它也没有为此游戏创建菜单条目。
(图片版本不可用 - 由于某种原因,我无法对模式弹出窗口进行屏幕截图。)
我有 2018 年 11 月 26 日的 Steam 版本:
是否可以.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
但没有任何地方写出解决方法。该问题已于 2017 年 11 月 8 日(即一年前)解决。
我不明白为什么关闭后这仍然是一个问题,但无论如何......
您应该chmod +x
在桌面上的此文件上运行,但如果放在菜单中则不然。
我的用户桌面项目的位置:~/Desktop
我的全局菜单项的位置:/usr/share/applications/
调试-我的 Steam 问题票评论成绩单
无论如何,我刚刚提交了公开票,谢谢亚伦顺便说一下评论:
- Steam 客户端版本:构建日期:2018 年 11 月 26 日
- 发行版:Linux Mint 19 Cinnamon 64 位(基于 Ubuntu 18.04 LTS)
- 选择加入 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
我现在需要查看目录结构。您可能还没有tree
安装,所以让我们在我的基于 Ubuntu 的 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 中查看:
我想我现在已经找到原因了!
正如您自己所看到的,能够运行的游戏在目录中具有 png 图标,而在我的测试用例(Project Hospital)中不起作用的游戏有一个名为 的子目录,icons
其中包含这些图标。
案例已解决,@kisak-valve 请调整 Steam 客户端以处理这些案例。谢谢。