Por que não consigo montar o arquivo ISO deste arquivo .desktop por 'fuseiso'?

2

Eu quero montar arquivos iso sem permissão de root por fuseiso , e isso é como montar um arquivo iso:

fuseiso -p '/path/to/isofilename' '/media/isofilename'

, então eu faço um arquivo .desktop seguido Freedesktop Standard (A tecla Exec) como abaixo:

#!/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

, mas falhou.

Eu acho que ele falhou por causa de $(basename %U) , se for alterado para uma string fixa, o arquivo iso pode ser montado.

Como posso resolver este problema?

    
por Kevin Dong 24.08.2014 / 15:11

1 resposta

3

Uma correção muito fácil é a seguinte:

Crie um script personalizado seu e dentro do arquivo da área de trabalho faça-o:

/home/kevin/Documents/Scripts/orWherever/myCustomScript.sh %U (ou qualquer que seja o caminho para o seu script personalizado; não se esqueça de torná-lo executável)

e dentro do script personalizado da sua chamada

#!/bin/bash
fuseiso -p  "/media/$(basename )"

Editar:

Explicação de por que não funciona da maneira como você tentou:

O $(command here) para obter a saída do comando basename é uma coisa bash e não funciona por padrão em todos os lugares. O campo Exec espera um arquivo executável e (opcionalmente) pode passar parâmetros para ele. Na verdade, %U não é a única coisa que é suportado . É por isso que algo que funcionaria em um script bash nem sempre funciona nesse caso.

    
por hytromo 24.08.2014 / 15:16