我正在嘗試為 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.desktop
但sudo chmod +x Rack.desktop
我認為兩者都沒有必要。
我還有其他幾乎相同的桌面文件,用於其他運行良好的程式。
有任何想法嗎?
答案1
解決方案(tl;博士):
新增Path=/home/username/opt/Rack2Free
至rack.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 路徑在那裡,它也找不到所需的其他文件,因此將該路徑添加到 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
...