AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 486371
Accepted
Vlastimil Burián
Vlastimil Burián
Asked: 2018-12-07 05:27:46 +0800 CST2018-12-07 05:27:46 +0800 CST 2018-12-07 05:27:46 +0800 CST

Steam 无法创建 .desktop 文件。解决方法或修复?

  • 772

今天,我在 Steam 上为我的 Linux Mint 19 Cinnamon购买了Project Hospital游戏。

我只安装了这个游戏,所以我无法确定其他游戏是否仍然存在问题。

虽然游戏运行良好,但我无法.desktop通过菜单创建文件:

鼠标右键单击 Project Hospital -> Create Desktop Shortcut 菜单项。

它会说(成绩单):

无法创建快捷方式。
该游戏的快捷方式可能已经在桌面上。

同样,它也没有为此游戏创建菜单项。

(图片版本不可用 - 出于某种原因,我无法截取模态弹出窗口。)

我的 Steam 版本日期为 2018 年 11 月 26 日:

我的 Steam 版本日期为 2018 年 11 月 26 日


是否可以手动创建.desktop文件?

如果是,你能解释一下它至少必须包含什么吗?有没有办法在创建后验证它?

linux-mint .desktop
  • 1 1 个回答
  • 1518 Views

1 个回答

  • Voted
  1. Best Answer
    Vlastimil Burián
    2018-12-07T05:27:46+08:002018-12-07T05:27:46+08:00

    TL;博士

    创建包含内容的文件, Project Hospital.desktop的 Steam Id是,您可以在 Steam 链接中看到这个数字,例如:868360

    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 问题单评论记录

    物有所值,我刚刚提交了公开票,顺便感谢Aaron的评论:

    • Steam 客户端版本:构建日期:2018 年 11 月 26 日
    • 发行版:Linux Mint 19 Cinnamon 64 位(基于 Ubuntu 18.04 LTS)
    • 选择加入 Steam 客户端测试版?:否
    • 您是否检查过系统更新?:是
    • 可能有效的游戏,我必须对其进行测试:
      1. 城市:天际线:https ://store.steampowered.com/app/255710/Cities_Skylines/
      2. Sid Meier 的文明® V:https ://store.steampowered.com/app/8930/Sid_Meiers_Civilization_V/
      3. Hexcells:https ://store.steampowered.com/app/265890/Hexcells/
    • 游戏,不起作用:
      1. 项目医院:https ://store.steampowered.com/app/868360/Project_Hospital/

    所以,让我们直接进入它并最终调试这个东西!

    $ 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 图标,而在我的测试用例(项目医院)中无效的游戏有一个名为的子目录icons,其中包含这些图标。

    案例已解决,@kisak-valve 请调整 Steam 客户端以处理这些案例。谢谢你。

    • 7

相关问题

  • 在 Linux Mint 上更新 libinput

  • linux java -version 仅适用于 root 用户[关闭]

  • 在 Linux Mint 上用 LightDM 替换 MDM 的正确程序是什么?

  • Linux Mint 内核损坏

  • Synaptic 包管理器文件设置

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve