标题的措辞有点棘手,但情况就是这样。我正在为我的游戏制作一个用Python编写的install.sh文件。我正在尝试使用所有资源创建一个游戏文件夹,而不是将其作为Python的模块。我可能正在以艰难的方式做事,但这种方法似乎运作良好。
install.sh将游戏目录复制到HOME文件夹,并将.desktop文件和游戏图标移动到适当的位置(即桌面,应用程序文件夹)。问题是,这个.desktop文件使用Icon =〜/ .local / share / icons / game.png和Exec =〜/ Game / game.sh,这会导致图标不显示在.desktop文件或菜单中,也不会游戏快捷方式执行。我用$ HOME替换了〜我得到了同样的问题。但是,如果我将其更改为/ home /(我的帐户)而不是〜或$ HOME,它将完美地工作并显示图标。
如果用户安装游戏,有没有办法让install bash文件动态创建这个.desktop文件?或者是否有某种方法可以使我无法意识到这一点?
编辑:更好的解释......是。
答案 0 :(得分:1)
或者,将~/.local/share/applications
放在预制的.desktop文件中,然后在安装程序脚本中放入sed 's/~/$HOME/g' appname.desktop > $HOME/.local/share/applications/appname.desktop
,或者将其作为shell exec从您的语言解释器中调用。
使用GUI的更多项目不会这样做真的很遗憾。这些桌面文件还需要一个wmClass'其中的元素是为了允许启动器也是一个窗口选项卡。为方便起见,我手动修复了几个应用程序。
答案 1 :(得分:0)
似乎最简单的方法是在系统范围内包含文件。虽然不是我的意图,但它使安装所有适当的文件变得容易得多。
将.desktop文件放在/ usr / share / applications和图标文件的/ usr / share / icons /
中