não pode iniciar a aplicação se não estiver no caminho correto

0

Eu tenho o seguinte aplicativo "Indicador do monitor do sistema" e quero que ele seja iniciado na inicialização. Então, eu estou tentando descobrir qual é o nome do aplicativo para chamá-lo do terminal, eu encontro o "exe" em / usr / share / applications e o nome é indicador-monitor.desktop

Se eu tentar

sudo /usr/share/applications/indicator-monitor

diz que o comando não foi encontrado

Se eu remover o sudo, a permissão será negada.

no entanto, quando faço

cd /usr/share/applications && sudo indicator-monitor

executa bem.

Se eu colocar o acima no comando de inicialização, ele não abre. Alguma idéia?

Obrigado

    
por Drakoumel 15.07.2013 / 08:48

2 respostas

1

Você está errado. / usr / share / applications contém o arquivo de inicialização (arquivo de configuração), não o arquivo executável. Você não pode executar o arquivo .desktop pelo comando sudo. Em vez de você deve executar o arquivo executável.

sudo /usr/share/applications/indicator-monitor

Por que não está funcionando? Não há nenhum arquivo chamado indicador-monitor, mas indicador-monitor.desktop.

cd /usr/share/applications && sudo indicator-monitor

Por que está funcionando? seu primeiro comando irá para a pasta de aplicativos. Está certo. Mas o próximo comando executará o indicador-monitor (arquivo executável do caminho env), não do diretório atual. O diretório atual precisa de ./ prefixo.

Como encontrar onde é o arquivo executável? execute o seguinte comando com o nome do aplicativo

which indicator-monitor

Verifique o caminho env execute o seguinte comando echo $ PATH

diretórios impressos são acessíveis de qualquer lugar.

    
por shantanu 15.07.2013 / 09:05
0

Você não está executando nada em /usr/share/applications/ . Por cd 'em lá não o faz correr de um arquivo .desktop . Em vez disso, apenas desativa o seu PATH s. Você está apenas executando o global indicator-monitor de um global PATH .

Não faz qualquer diferença quanto ao seu diretório de trabalho atual. Apenas

sudo indicator-monitor

em qualquer lugar resultará no mesmo.

E você vê um erro "comando não encontrado" porque não existe esse arquivo como /usr/share/applications/indicator-monitor . Executar

ln -s /usr/share/applications/indicator-monitor

para verificar.

Um arquivo .desktop foi criado para ser executado a partir da GUI, sendo exibido como um ícone e para ser executado clicando nele. Veja o conteúdo do arquivo para o que realmente está acontecendo (apenas um arquivo de texto!).

    
por gertvdijk 15.07.2013 / 08:50