.desktop lança aplicativo com ícone personalizado. porque não shell?

3

Eu tenho um arquivo .desktop que inicia um aplicativo e usa o ícone .desktop:

[Desktop Entry]
Name=My Ro
Type=Application
Comment=Web Application
Exec=/path/to/myapp -test
Icon=/opt/giteye/icon.xpm
Name[en_US]=My Ro

Eu quero usar um script de shell em vez de iniciar este aplicativo porque com o shell script eu posso passar os argumentos de linha de comando do script que então são passados para o aplicativo de inicialização.

#!/bin/sh
nohup /path/to/myapp -test "$@" &

No entanto, com o shell script, o ícone não é o do arquivo shell. Ele usa o ícone padrão do myapp. Existe alguma maneira de fazer isso se comportar como o .desktop e fazer o shell iniciar o aplicativo com um ícone personalizado?

EDIT - Eu tentei dar o caminho de entrada da área de trabalho para o shell

Uma entrada na área de trabalho:

[Desktop Entry]
Name=Firefox
Type=Application
Comment=Web Application
Exec=/home/yasir/Desktop/launchers/Mozilla\ Firefox\ -\ test.sh
Icon=/home/yasir/Desktop/customFx.png
Name[en_US]=Firefox

Outro ambiente de trabalho:

[Desktop Entry]
Name=Firefox Safe Mode
Type=Application
Comment=Web Application
Exec=/home/yasir/Desktop/launchers/Mozilla\ Firefox\ -\ test.sh -safe-mode
Icon=/home/yagt/Documents/fxSafe.png
Name[en_US]=Firefox Safe Mode

Shell:

#!/bin/sh
nohup /usr/lib/firefox/firefox "$@" &
    
por yatg 03.07.2015 / 02:53

1 resposta

1

Não há razão para fazer isso. É exatamente por isso que não é possível. Se você vai passar argumentos além dos argumentos permitidos, então você estará invocando a partir de uma linha de comando, caso em que não há razão para ter um ícone. Nesse caso, você não usará um arquivo .desktop , mas um script diretamente.

Add...  Accepts...
%f  a single filename.
%F  multiple filenames.
%u  a single URL.
%U  multiple URLs.
%d  a single directory. Used in conjunction with %f to locate a file.
%D  multiple directories. Used in conjunction with %F to locate files.
%n  a single filename without a path.
%N  multiple filenames without paths.
%k  a URI or local filename of the location of the desktop file.
%v  the name of the Device entry.

Estes são os argumentos permitidos, que são passados de dentro da GUI, como por exemplo, arrastando um arquivo para o arquivo .desktop .

Aqui está um exemplo de uso.

    
por daltonfury42 07.07.2015 / 00:13