参考 Nautilus Action-Config-Tool 中的 home 不起作用

参考 Nautilus Action-Config-Tool 中的 home 不起作用

现场截图

路径字段(在给定的屏幕截图中)给出了输入:~/.subseeker/subseeker.py,但它不起作用,命令运行时代码没有执行。

在此处输入图片描述

我甚至尝试过-$HOME/.subseeker/subseeker.py

如果没有运气,

但是当我给出绝对路径时,它运行良好!

但我确实需要使其独立于用户名。

是否可以?

答案1

这就是我解决问题的方法。参见下图,我将工具配置为“显示输出”,这样您就可以更轻松地查看任何错误消息。

当使用绝对路径时,你会得到如下结果: 在此处输入图片描述

您正在尝试的操作与此非常相似,在这里您可以看到错误: 在此处输入图片描述

当使用 $HOME 变量但python在开头使用命令时,它可以完美运行。 在此处输入图片描述

我的 python 脚本只是打印“它有效”。

希望它有助于解决您的问题。

答案2

没有提到可以提供非绝对路径(除了$PATH它本身)。

您可以做的是添加一个脚本(放置在PATH),该脚本将根据用户的主目录运行给定的文件(作为参数给出)。

只需打开终端并输入

sudo nano /usr/bin/run-in-home

然后简单地写下:

#!/bin/bash

`$HOME/$1`

退出编辑器(Ctrl+ X,然后Y然后Enter)并授予此脚本执行权限

sudo chmod +x /usr/bin/run-in-home

现在,您可以将Path : 字段设置为,run-in-home并将Parameters :字段设置为,'path/to/file param1 parm2'这样,在您的情况下,它将是

在此处输入图片描述

编辑

如果你想用另一个程序启动你的文件(例如 .jar 文件,或者 python 不能直接运行),你可以/usr/bin/run-in-home改为

#!/bin/bash

if [ $# -eq 2 ]; then
        `$1 $HOME/$2`
else
        `$HOME/$1`
fi

现在该Parameters :领域变成了'program program-parameter1 program-parameter2' 'path/to/file param1 parm2',例如'java -jar' 'Documents/Minecraft/Minecraft.jar'

相关内容