AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 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

O Steam não consegue criar arquivo(s) .desktop. Solução alternativa ou correção?

  • 772

Hoje, comprei o jogo Project Hospital no Steam para o meu Linux Mint 19 Cinnamon.

Eu tenho apenas este jogo instalado, então não consigo determinar se o problema persiste com outros jogos.

Enquanto o jogo roda bem, não consigo criar um .desktoparquivo via menu:

Clique com o botão direito do mouse em Project Hospital -> Create Desktop Shortcut item de menu.

Ele dirá (transcrição):

Não foi possível criar o atalho.
Um atalho para este jogo provavelmente já está na área de trabalho.

Da mesma forma, não criou a entrada de menu para este jogo.

(Versão da imagem indisponível - por algum motivo, não consigo capturar a tela do pop-up modal.)

Eu tenho a versão Steam datada de 2018-nov-26:

minha versão do Steam datada de 26 de novembro de 2018


É possível criar o .desktoparquivo manualmente?

Se sim, você explicaria o que, no mínimo, deve conter? E existe uma maneira de validá-lo após a criação?

linux-mint .desktop
  • 1 1 respostas
  • 1518 Views

1 respostas

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

    TL;DR

    Crie o .desktoparquivo com o conteúdo, o Steam Id do Project Hospital é 868360, você pode ver este número dentro do link do Steam, ex:

    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
    

    Você pode validar a sintaxe com o seguinte comando:

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

    Ele não dirá nada se não encontrar um erro.


    Detalhes

    Já existe um ticket de problema fechado no GitHub para este tópico que supostamente é uma duplicata deste ticket . O ticket aberto para este problema é: https://github.com/ValveSoftware/steam-for-linux/issues/5590

    Mas não há solução alternativa escrita em qualquer lugar. Foi fechado conforme resolvido em 8 de novembro de 2017, que foi há um ano.

    Não entendo por que isso ainda é um problema quando fechado, mas de qualquer maneira ...

    Você deve executar chmod +xneste arquivo colocado em sua área de trabalho, e não se colocado em seu menu.

    Localização dos meus itens da área de trabalho do usuário:~/Desktop

    Localização dos meus itens globais do Menu:/usr/share/applications/


    Depuração - transcrição do comentário do meu ticket de problema do Steam

    Por que vale a pena, acabei de enviar o ticket aberto, obrigado Aaron pelo comentário a propósito:

    • Versão do cliente Steam: Data de construção: 2018-nov-26
    • Distribuição: Linux Mint 19 Cinnamon 64 bits (Baseado no Ubuntu 18.04 LTS)
    • Aderiu à versão beta do cliente Steam?: Não
    • Você verificou as atualizações do sistema?: Sim
    • Jogos, que provavelmente funcionam , devo testá-los:
      1. Cidades: Skylines: https://store.steampowered.com/app/255710/Cities_Skylines/
      2. Sid Meier's Civilization® V: https://store.steampowered.com/app/8930/Sid_Meiers_Civilization_V/
      3. Hexcells: https://store.steampowered.com/app/265890/Hexcells/
    • Jogos que NÃO funcionaram:
      1. Projeto Hospital: https://store.steampowered.com/app/868360/Project_Hospital/

    Então, vamos direto ao assunto e depurar essa coisa finalmente!

    $ 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*
    

    A primeira coisa estranha que você notará aqui é que alguns dos arquivos têm um sinalizador de execução (indicado também com um asterisco após o nome do arquivo).

    A segunda coisa que você notará aqui é que alguns arquivos são pequenos, outros são maiores para serem um ícone em si mesmo.

    Portanto, executar o seguinte revelará mais:

    $ 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
    

    Agora que sabemos que alguns dos arquivos são na verdade arquivos .zip, vamos dar uma olhada neles mais de perto, copiá-los para um local seguro primeiro:

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

    Agora, vamos remover a permissão de execução, pois ela não deveria estar lá pelos meus padrões e listar o que obtivemos:

    $ 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
    

    Provavelmente devemos separar esses ícones dos arquivos agora:

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

    E dê a esses arquivos zip a extensão adequada:

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

    Agora, gostaria de criar um diretório para cada um dos arquivos zip e descompactá-los nos diretórios:

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

    Eu preciso ver a estrutura de diretórios agora. Você provavelmente não terá treeinstalado, então vamos instalá-lo, no meu Linux baseado no Ubuntu:

    $ sudo apt-get install tree
    

    E vamos ver o que temos:

    $ 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
    

    Até onde posso ver, aqui temos infelizmente alguns jogos não identificáveis, então é melhor ver na GUI:

    icons_folder_screenshot

    E acho que encontrei a causa agora!

    Como você pode ver por si mesmo, os jogos que funcionaram têm os ícones png dentro do diretório, enquanto o jogo que não funcionou no meu caso de teste (Project Hospital) tem um subdiretório chamado iconsque contém esses ícones.

    Caso resolvido, @kisak-valve Ajuste o cliente Steam para lidar com esses casos. Obrigada.

    • 7

relate perguntas

  • Atualizar libinput no Linux Mint

  • linux java -version funciona apenas para usuário root [fechado]

  • Qual é o procedimento correto para substituir o MDM pelo LightDM no Linux Mint?

  • Danos no kernel do Linux Mint

  • Configurações de Arquivo do Gerenciador de Pacotes Synaptic

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

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

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve