我创建了一个桌面快捷方式来启动 Android Studio - studio.desktop。但我就是无法运行它。Ubuntu 22.04 不断弹出一个对话框“不受信任的桌面文件”
This .desktop file is not trusted, it can not be launched. To enable launching, right-click, then:
**Enable "Allow Launching"**
但是这个对话框只有“关闭”按钮。而且在桌面上,无论我在哪里单击鼠标右键,我都看不到任何“允许启动”的提示。好吧,我想 - 尝试通过终端执行此操作。
我已经尝试了大量的命令,但它们没有帮助。
chmod a+x studio.desktop // Just in case, although I previously did it through the Permissions of the shortcut itself
dbus-launch gio set studio.desktop "metadata::trusted" yes
未显示任何消息,仍不允许启动。然后我尝试以下操作:
sudo gio set studio.desktop metadata::trusted true
此返回消息“gio:不支持设置属性 metadata::trusted“
我也尝试过:
sudo desktop-file-install studio.desktop
正如你可能猜到的那样,同样无济于事。
这是我的工作室.桌面:
[Desktop Entry]
Comment=Run Android Studio link
Exec=bash -c /home/user/android-studio/bin/studio.sh
GenericName=Android Studio
Icon=/home/user/android-studio/bin/studio.png
Name=Android Studio
Type=Application
Terminal=false
答案1
以下对我有用:转到 Nautilus 中的主目录,右键单击该Desktop
文件夹,转到“属性”,然后转到“权限”选项卡。在权限中,从“其他”中删除除“访问文件”之外的任何权限。即,当其他人被授予写权限时,Ubuntu 22.04 中的错误就会发生。
或者在终端中运行以下命令:
chmod -R 775 ~/Desktop
答案2
升级到 22.04 后,我遇到了这个问题。20.04 中有效的设置在 22.04 中按预期停止工作。我分享了帮助我解决此问题的笔记,希望它能帮助其他人。
- 如果该
.desktop
文件供所有用户使用,则应将其放在 下/usr/local/share/applications
。 - 如果该
.desktop
文件仅供当前用户使用,则应将其放在 下~/.local/share/applications
。 - 如上放置的文件
.desktop
不需要执行权限。可以是0644。也就是说stat --format="%a" myfile.desktop
应该显示644
。 - 如果
.desktop
文件有密钥,Hidden
那么应该是Hidden=false
。如果文件中没有密钥,那么没有关系,因为默认值Hidden
是false
。 - 如果
.desktop
文件有密钥,NoDisplay
那么应该是NoDisplay=false
。如果文件中没有密钥,那么没有关系,因为默认值NoDisplay
是false
。 - 密钥
Exec
应具有有效的命令。Bash 命令可能无法正常工作,详情请参见这个答案。
有了这些设置,桌面条目应该可以使用Super键进行搜索,这意味着该文件被识别为可启动。
答案3
打开终端并输入命令chmod +x /path/to/studio.desktop
答案4
就我而言(我昨天试过了),出于某种原因,在 Ubuntu 中,我必须确保两行位于 .desktop 文件中,然后突然间一切都正常工作,而无需使用 metacity。它还立即显示在 GUI 应用程序“启动应用程序”中
- 我确保我的桌面文件的名称(在发布的问题中是 studio.desktop)与行 Name=studio.desktop 中的名称匹配
- 其次,一旦我添加了 Hidden=false,一切都开始工作,无需使用“metacity is trust..”只需对我的桌面文件进行正常的权限 755,在我的情况下,该文件位于 ~/.config/autostart 中。在 Linuxmint 中,我从来不需要使文件名和 .desktop 文件中的“Name=”行相同,但出于某种原因,现在 Ubuntu 22.04 似乎有所不同。我甚至注意到,当我复制此文件时,Ubuntu 会自动更改文件名而不询问任何事情,这就是我想到让这两个东西相同的原因。我在新安装的 Ubuntu 22.04.2 上重复了几次,每次都有效。