Как перенаправить из встроенного бина, чтобы вместо этого выполнить AppImage? - PullRequest
1 голос
/ 28 марта 2019

Сценарий: текущая версия Kate в Ubuntu 18LTS указывает на их настроенную версию (которая не поддерживает возможность поиска по регулярному выражению). Контейнер: /usr/bin/kate.

Желаемое решение: запустите Kate AppImage (который имеет функцию регулярного поиска / замены). AppImage в настоящее время находится в ~/Downloads.

Вопрос: как перенаправить систему для выполнения версии Kate AppImage вместо встроенной версии?

Могу ли я просто создать ссылку на AppImage в /usr/bin?

Ответы [ 2 ]

0 голосов
/ 31 марта 2019

Возможно, вы захотите сохранить (по каким-либо причинам) установленную в системе 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

0 голосов
/ 28 марта 2019

Да, похоже, вы можете ... т.е. в моем случае я заменил существующую корзину Кейт ссылкой, указывающей на изображение:

# 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» (например, через контекстные меню).

=========================

UPDATE ...

Приведенное выше решение вроде работает ... оно запускает appimage, однако параметры, обычно передаваемые kate (то есть открываемому файлу), теряются в жесткой ссылке.

Итак ... лучшее решение - создать простой исполняемый скрипт оболочки (с именем 'kate' в каталоге / usr / bin) для выполнения appimage:

#!/bin/sh
exec [directory where the appimage resides]/Kate.AppImage "$@"

Это передает любые предоставленные пармы на изображение.

...