我想通过 来挂载没有 root 权限的 iso 文件fuseiso
,以下是挂载 iso 文件的方法:
fuseiso -p '/path/to/isofilename' '/media/isofilename'
,所以我创建了一个 .desktop 文件,然后Freedesktop 标准版 (Exec 键)如下:
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Mount ISO image
Name[zh_TW]=掛載光碟映像檔
Exec=fuseiso -p %U "/media/$(basename %U)"
Terminal=false
MimeType=application/x-cd-image
,但失败了。
我认为它失败的原因是$(basename %U)
,如果将其更改为固定字符串,则可以挂载 iso 文件。
我怎么解决这个问题?
答案1
一个非常简单的修复方法是:
制作一个自定义脚本并在桌面文件内使其变为:
/home/kevin/Documents/Scripts/orWherever/myCustomScript.sh %U
(或者您的自定义脚本的路径;不要忘记使其可执行)
在你的自定义脚本中调用
#!/bin/bash
fuseiso -p $1 "/media/$(basename $1)"
编辑:
解释为什么它不能按照您尝试的方式工作:
为了$(command here)
获取命令的输出basename
,它是一件bash
事情,默认情况下它并不是在所有地方都起作用。该Exec
字段需要一个可执行文件,并且可以(可选)向其传递参数。事实上,%U
不是唯一得到支持的东西。这就是为什么在 bash 脚本中可以工作的东西在这种情况下并不总是可以工作的原因。