【问题标题】:How do I redirect from a built-in bin to execute an AppImage instead?如何从内置 bin 重定向以执行 AppImage?
【发布时间】:2019-03-31 06:42:58
【问题描述】:
场景:Ubuntu 18LTS 中的当前 Kate 版本指向其自定义版本(似乎不支持正则表达式搜索功能)。垃圾箱是:/usr/bin/kate。
所需的解决方案:运行 Kate AppImage(具有正则表达式搜索/替换功能)。 AppImage 当前位于~/Downloads。
问题:如何重定向系统以执行Kate的AppImage版本,而不是内置版本?
我可以简单地在/usr/bin 中创建指向 AppImage 的链接吗?
【问题讨论】:
标签:
linux
ubuntu
hardlink
kate
appimage
【解决方案1】:
是的,看来您可以...即在我的情况下,我将现有的 kate bin 替换为指向 appimage 的链接:
# 1st remove the existing kate binary
# (cp kate somewhere first if you want to keep a copy)
sudo rm /usr/bin/kate
# 2nd create a link in the system bin that points to the appimage
sudo link [directory where the appimage resides]/Kate.AppImage /usr/bin/kate
完成!系统现在将在执行 'kate' 时执行 appimage(例如通过上下文菜单)。
===========================
更新...
上述解决方案有点工作......它确实运行了appimage,但是通常传递给kate的参数(即要打开的文件)在硬链接中丢失了。
所以...更好的解决方案是创建一个简单的可执行 shell 脚本(在 /usr/bin 目录中命名为“kate”)来执行 appimage:
#!/bin/sh
exec [directory where the appimage resides]/Kate.AppImage "$@"
这会将任何提供的参数传递给 appimage。
【解决方案2】:
您可能希望(无论出于何种原因)将系统安装的 Kate 保留在 /usr/bin/kate...
那就别碰它了。而是在您的 $HOME 中创建一个名为 bin 的目录(根据您运行的 Linux 发行版,它可能已经存在)。
在该目录中,创建一个符号链接:
ln -sf ~/Downloads/kate.AppImage ~/bin/kate
这可能已经奏效了。如果没有,您必须将~/bin 目录移动到路径的前面:
export PATH=${HOME}/bin:${PATH} # if you use Bash
要永久修改此$PATH,请将同一行添加到${HOME}/.bashrc