如何在Ubuntu 18.04中将.desktop文件标记为受信任?


16

在Ubuntu 18.04中,当用户单击自定义桌面文件时,程序将显示消息,提示应用程序启动不受信任,并且启动它可能不安全。桌面也不会为桌面文件显示正确的图标。

如何将应用程序启动的桌面文件标记为受信任,以便不显示该消息,并且ICON也显示在桌面上。

我尝试使用

chmod +x *.desktop

正如某些查询中所建议的那样,但这在18.04中似乎不起作用。



我也遇到了完全相同的问题,每次我单击.desktop文件时,它都会要求“信任并启动”,并打开,但每次(在同一文件中)都要求我做同样的事情,并且图标永不更新。奇怪的是,我认为它是在我必须重新启动X11(startX)的时候开始的,因为我在全屏显示时遇到了一个应用异常。您是否找到了解决方案?
贾里德(Jared)'18

Answers:


12

到目前为止,所提供的答案均未包含有关如何以非交互方式执行此操作的信息。如果我想编写启动程序的脚本并使其可信而不需要单击该怎么办?

这种用法案件已经处理了这个问题,这个答案。我在此处复制此信息是因为该问题更容易查找,而并非严格意义上的重复,因为此处的问题范围更大。

要将启动器设置为受信任的命令行,请运行:

gio set /path/to/your/launcher.desktop "metadata::trusted" yes

完成后,在桌面或当前文件夹中按F5刷新视图。现在应该信任启动器。

必须满足某些条件(所有权,正在运行的程序,以正确的用户身份运行gio)。有关完整列表,请参见Sander的答案


在18.04,它对我不起作用。目标.desktop文件保留Allow executing file as program在属性菜单中未选中的复选框
artu-hnrq,

我在桌面上有一个新的.desktop文件作为启动器,带有正确的图标路径和所有内容,它运行了可执行文件以及所有文件(因此它是受信任的)-并且直到我在桌面上按F5时,它才显示图标。感谢这个技巧!
sdaau

11
  • 首先像您已经设置的那样,设置.desktop文件的可执行位。您也可以通过右键单击文件管理器中的文件,然后在“属性”对话框的“权限”选项卡上设置可执行文件属性来执行此操作(如果发现它比命令行更简单)。
  • 现在,尝试通过双击再次启动图标。再次出现一个对话框,但请注意:这是一个不同的对话框。这次,选择“启动并信任”按钮,您的桌面文件现在将变成带有右侧图标的功能启动器。

1
感谢您的答复。我的问题是,当我单击图标时,我不希望出现任何消​​息。默认情况下,如何将应用程序标记为受信任?该图标也需要显示。
阿伦·纳特(Arun nath)

请再次仔细阅读我写的内容,然后尝试一下。这是将启动器标记为“受信任”的过程。完成此操作后,启动器将按预期工作,并立即启动您的应用程序。您询问“如何将应用程序启动桌面文件标记为受信任,以便不显示消息,并且图标也显示在桌面上。” 这就是“如何”的答案。

我能够启动该应用程序。一切正常。但是桌面文件不会变成图标。同样,当我关闭该应用程序并尝试再次启动它时,该消息再次弹出。似乎没有一种方法可以一劳永逸地消除此弹出消息。一直弹出。我希望我不要在这里错过任何东西。
阿伦·纳特(Arun nath)

您的意思是,您可以在回答对话框后从不受信任的启动器启动应用程序,但是启动器不会变成“受信任的”吗?那不是正常行为。在我的系统上,我需要执行一次,然后启动器被“信任”并且被记住。

没错,它似乎不再记得它了。它曾经像您建议的那样工作。最新的Ubuntu 18.04更新系列似乎已将其破坏。
阿伦·纳特(Arun nath)

10

经过数小时的搜索,我终于找到了造成我的问题的原因:.desktop文件从未受到信任并且没有显示图标:

将所有者更改为您的用户名(我的被设置为root,这很麻烦):

sudo chown $USER:$USER ~/.local/share/gvfs-metadata/home*

感谢@George Udosen,他帮助我解决了该问题: GVFS-警告**:无法初始化元数据树/home/user/.local/share/gvfs-metadata/home:打开:权限被拒绝


1
没为我工作。这些文件已被设置为适当的所有者。
安德鲁·拉玛拉

1

为特定的桌面文件(chown)设置正确的用户名和组名。现在尝试再次启动,出现对话框,选择“启动并信任”按钮。


我遇到的问题是已经有正确的用户和组集。不幸的是,当我再次在桌面上安装Ubuntu并使用相同的用户名重新安装主目录时,情况并非如此。原来,具有相同名称的用户本身不是同一用户。随着sudo chown -R myuser:myuser ~/一切工作没有任何问题,并且无需重新启动。
塞巴斯蒂安·巴特

我也有同样的问题。另外,如果在使用Nautilus时双击/home/${users}/.local/share/applications/EclipseWeb.desktop中的.desktop文件,则会收到一条消息,指出:启动应用程序时出错,我找不到任何信息帮助我解释信息。
乔纳森

0

只是为了增加b_laoshi的答案-从16.04更新到18.04后,我的桌面上充满了Steam链接,所以我不想打开每个游戏然后退出以信任它们

for i in ~/Desktop/*.desktop; do    gio set "$i" "metadata::trusted" yes ;done

在确定其功能之前,切勿信任stackoverflow中的代码:

  • "$i"依次设置为桌面上每个文件的完整路径,命名为desktop
  • 运行

    gio set </home/path/to/your/whatever.desktop> "metadata::trusted" yes
    

    每个

  • done 标志着循环的结束

我遇到了同样的问题,gio和chown都不会更改组或所有者。
乔纳森

gio不会更改所有者或组-它只是告诉gnome信任它。检查与所有者/组stat filename,如果CHOWN工作不检查任何错误消息,则只能运行它作为根(即sudo)和一些文件系统(例如文件共享,SD卡,Windows磁盘)将不支持它
格雷格
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.