Cria um atalho para um programa que muda para seu diretório

1

Desculpe se isso parece uma pergunta idiota, mas ainda sou novo no Linux. Existe um equivalente de um atalho do Windows no Linux (em oposição a um link)

O problema que tenho é este:

Eu tenho um aplicativo que fica em /home/user/appDirectory/application.exe (é um aplicativo do Windows em execução no Wine)

Eu, então, tenho um script de monitoramento que procura esse aplicativo para ver se ele está sendo executado.

por exemplo,

application="/home/user/appDirectory/application.exe"

if pgrep -f "$application" > /dev/null 
then
    is_running=1
else
    is_running=0
fi

Até aí tudo bem. Mas eu preciso colocar um 'atalho' na área de trabalho para que qualquer pessoa possa entrar e facilmente parar / iniciar o aplicativo.

Se eu criar um link (e colocar isso na área de trabalho) e iniciá-lo a partir dele, o caminho se tornará /home/user/desktop/link to appDirectory/application.exe e o script de monitoramento não poderá vê-lo.

É possível criar um atalho que, quando aberto, é aberto como o local original, para que o aplicativo seja iniciado a partir do local original?

    
por IGGt 12.01.2016 / 11:28

1 resposta

2

Como sua solicitação parece ser apenas para GUI, sugiro seguir o comentário do jofel sobre o .desktop arquivos. O Archlinux tem um bom breve resumo sobre as chaves interessantes nos arquivos .desktop. Uma sugestão seria

[Desktop Entry]
Name=Whatever you want
Type=Application
Path=/home/user
Exec=env WINEPREFIX="<prefix>" wine appDirectory/application.exe

A parte env WINEPREFIX pode não ser necessária, mas use-a se você tiver vários prefixos ou para uma boa medida.

Coloque o arquivo <Whatever you want>.desktop em sua pasta $ HOME / Desktop e você deverá definir um novo ícone que possa clicar. Este arquivo daria a você pelo menos appDirectory/application.exe para grep. Path é onde o comando será executado. Dessa forma, você pode modificar as proporções Path e Exec para obter mais do caminho em Exec , se precisar dele para grepping. Portanto, com Path=/ e o restante em Exec , você receberá o comportamento solicitado.

No entanto, a necessidade de grepping assim não está clara para mim. Se for executado apenas como uma instância por vez, você poderá criar um arquivo PID e verificar se o PID existe, como apresentado aqui mas modificado para as suas necessidades. Esta resposta também pode ser interessante se você decidir ir para um arquivo PID.

    
por 12.01.2016 / 13:08