如何在使用 GNOME Shell 时从桌面运行符号链接的可执行应用程序?

如何在使用 GNOME Shell 时从桌面运行符号链接的可执行应用程序?

我安装了带有默认 GNOME Shell 的 Ubuntu 20.04 LTS。

~/Desktop然后我在文件夹中为某个应用程序创建了符号链接

ln -s /usr/bin/xclock ~/Desktop/xclock

(这xclock只是一个例子,它是 ELF 二进制可执行文件:

$ 文件 /usr/bin/xclock /usr/bin/xclock:ELF 64 位 LSB 共享对象,x86-64,版本 1 (SYSV),动态链接,解释器 /lib64/ld-linux-x86-64.so.2,适用于 GNU/Linux 2.6.32,BuildID[sha1]=f87335aa6570ba055b8c02492cafd6def2836a30,已剥离

现在看起来如下所示:

xclock 符号链接

单击此文件没有任何反应,执行位已设置。下拉菜单中没有“标记为受信任”。

我如何启动这个符号链接,同时避免创建特殊的。桌面-file 为其链接的可执行文件?

答案1

我自己找到了解决方案——我们需要创建特殊的代理。桌面文件启动器,然后在中选择它打开用作为默认应用程序。

警告:请谨慎使用您尝试以此方式启动的 ELF 或符号链接。如果您从不受信任的第三方获取它,它可能会损害您的系统

要执行的步骤:

  1. 创造。桌面文件为 ELF 二进制文件提供新的文件关联:

     mkdir -p ~/.local/share/applications
     cat << EOF > ~/.local/share/applications/exec.desktop
     [Desktop Entry]
     Name=Run binary executable
     Exec=sh -c %f
     Terminal=false
     Type=Application
     EOF
    
  2. 选择此应用程序作为默认启动器 - 选择使用其他应用程序打开并设置这个新创建的运行二进制可执行文件作为默认启动器。

  3. 双击刚刚创建的符号链接来启动链接的可执行文件。

笔记:

  1. 这是针对 GNOME Shell、Unity、Cinnamon、Xfce 和 MATE(18.04 LTS 及更新版本)的通用修复。
  2. 此修复程序也适用于复制到桌面或 Nautilus 管理的任何位置(甚至是从 Nautilus 本身)的 ELF 文件。
  3. 对于带有 Caja 文件管理器的 Ubuntu MATE,此问题已报告给 Launchpad,如下所示错误 1877591

答案2

您可能无法做到这一点,直到 Gnome Shell 桌面图标开发出来允许直接运行可执行文件(可能不应该,但这是另一个讨论和意见问题 ;))。您现在需要坚持使用 .desktop 文件。

相关内容