使用自定义命令打开文件

使用自定义命令打开文件

gedit应用程序被设置为文本文件的默认应用程序。假设我有一个在 中具有执行权限的脚本/usr/bin,我该如何设置该脚本在使用 Nautilus 或 打开文本文件时运行xdg-open

/usr/bin/foo

echo "Works!"
gedit $*

如果我这样做foo my_text_fileWorks!则会出现消息并gedit运行。如何将此foo脚本设置为默认应用程序运行?

答案1

干净的方法是.desktop为您的脚本创建一个文件,然后将其设为默认文本编辑器。

  1. 创建一个名为的文件,/usr/share/applications/foo.desktop其内容如下:

    [Desktop Entry]
    Name=foo
    Exec=/usr/bin/foo.sh %U
    Terminal=false
    Type=Application
    MimeType=text/plain;
    
  2. 使其成为 mimetype 的默认程序text/plain

    xdg-mime default foo.desktop "text/plain" 
    

作为一个肮脏的黑客,你也可以简单地调用你的脚本gedit

sudo mv /usr/bin/gedit /usr/bin/gedit.orig
sudo mv /path/to/yourscript.sh /usr/bin/gedit

然后让你的脚本调用原始脚本:

echo "Works!"
/usr/bin/gedit.original "$@"

相关内容