如何创建指向 AppImage 的符号链接

如何创建指向 AppImage 的符号链接

我正在尝试创建一个符号链接,以便能够运行比 18.04 中安装的版本更新的 qpdf 版本。

他们提供了一个 AppImage。

如果我做:

/usr/local/bin$ sudo wget https://github.com/qpdf/qpdf/releases/download/release-qpdf-9.1.1/qpdf-9.1.1-x86_64.AppImage
/usr/local/bin$ sudo chmod a+x qpdf-9.1.1-x86_64.AppImage
/usr/local/bin$ ./qpdf-9.1.1-x86_64.AppImage --version
qpdf version 9.1.1
Run qpdf --copyright to see copyright and license information.

但是当我尝试建立符号链接时(因此我可以在任何地方将其调用为 qpdf):

/usr/local/bin$ sudo ln -s qpdf-9.1.1-x86_64.AppImage qpdf
/usr/local/bin$ ./qpdf --version

qpdf: an input file name is required

Usage: qpdf [options] infile outfile
For detailed help, run qpdf --help

并且它没有显示版本(或--help等)。

我怎样才能让它工作?

我是 Linux 新手,也许我忽略了一些显而易见的东西。

答案1

我是按照以下方式完成的:

  • mkdir ~/appimage && cd ~/appimage
  • wget https://github.com/qpdf/qpdf/releases/download/release-qpdf-9.1.1/qpdf-9.1.1-x86_64.AppImage
  • chmod +x ~/appimage/qpdf-9.1.1-x86_64.AppImage

  • $ vim.tiny appimage/qpdf.sh

    #!/bin/bash
    cd /home/user/appimage/ && exec ./qpdf-9.1.1-x86_64.AppImage "$@"`
    
  • chmod +x ~/appimage/qpdf.sh

  • sudo ln -s /home/user/appimage/qpdf.sh /usr/local/bin/qpdf

因此:

$ qpdf --version
qpdf version 9.1.1
Run qpdf --copyright to see copyright and license information.

答案2

您必须禁用参数:

./qpdf -- --version

答案3

这并不能直接回答您有关符号链接的问题,但您可以尝试另一种方法。

卸载 qpdf

apt remove qpdf

为 AppImage 制作自定义桌面启动器

nano ~/.local/share/applications/qpdf.desktop

在 ~/.local/share/applications/ 中创建启动器,自定义此处的“Exec”路径以匹配 AppImage 文件的位置。

[Desktop Entry]
Version=1.0
Name=qpdf
Exec=Path/To/Your/qpdf.AppImage
Terminal=false
X-MultipleArgs=false
Type=Application
StartupNotify=true

将 qpdf 命令添加到 .bashrc 以供 CLI 使用

nano ~/.bashrc && source ~/.bashrc

将以下几行粘贴到现有 ~/.bashrc 文件的末尾。如上所述,自定义此示例中的路径以匹配 AppImage 文件的位置。

qpdf()
{
~/Path/To/Your/qpdf.AppImage
}

相关内容