桌面文件不起作用

桌面文件不起作用

我正在尝试为 vcvRack 制作一个桌面文件。我已将程序和其他文件保存在 中~/.Rack/。当我双击它或使用 从终端启动时,该程序可以正常启动./Rack

该文件~/.local/share/applications/Rack.desktop包含以下内容。

[Desktop Entry]
Name=Rack
Comment=bleep bloop
Exec=/home/uname/.Rack/Rack
Icon=/home/uname/.Rack/icon-3.png
Terminal=false
Type=Application
Categories=Music;

它在搜索中显示图标和所有内容,但实际上并未启动。我尝试过chmod +x Rack.desktopsudo chmod +x Rack.desktop,但我认为两者都没有必要。

我还有其他几乎相同的桌面文件,用于其他运行良好的程序。

有任何想法吗?

答案1

解决方案(tl;dr):

添加Path=/home/username/opt/Rack2Freerack.desktop,即替换为您在 Rack 工作目录中找到文件的任何路径Rack。然后可能需要重新启动计算机(或注销并重新登录)。

细节:

我在为 VCV Rack 创建桌面文件时遇到了完全相同的问题。按下 时它会显示在其他应用程序中super,但就是无法启动(什么都没有发生)。但是,通过运行文件来启动~/opt/Rack2Free/Rack是可行的。

rack.desktop我通过放置以下文件解决了这个问题~/.local/share/applications

[Desktop Entry]
Version=1.0
Type=Application
Name=VCVRack
Exec=/home/username/opt/Rack2Free/Rack
Path=/home/username/opt/Rack2Free
Icon=/home/username/opt/Rack2Free/res/icon.png
Terminal=false
Categories=Audio;Music
Keywords=Music
X-Desktop-File-Install-Version=0.26

这里的关键是“Path”变量。在此之前,当我尝试gtk-launch rack在终端中运行时(参见上面的注释),我得到了:~/opt/Rack2Free/Rack: error while loading shared libraries: libRack.so: cannot open shared object file: No such file or directory。因此,即使 Exec-path 在那里,它也无法找到所需的其他文件,因此将该 Path 添加到 Rack 的工作目录并重新启动计算机对我来说就解决了问题。

笔记:由于某种原因,在重启电脑之前,使用 启动gtk-launch rack可以,但通过启动器(即super按钮)启动则不行。但重启后问题解决了。


另外:我在上面的评论中提到的错误显然是我在运行时遇到的./Rack,只是我通常不通过终端运行它,所以我不习惯看到它们。它们可能与此无关,但它们是:

MidiInJack::initialize: JACK server not running?
MidiOutJack::initialize: JACK server not running?
RtAudio alsa: _NOT_ running realtime scheduling
RtAudio alsa: _NOT_ running realtime scheduling
ERROR: File doesn't exist or otherwise can't load file
ERROR: File doesn't exist or otherwise can't load file
...

相关内容