Existe uma maneira de encontrar o nome do executável para um aplicativo para que eu possa iniciá-lo em um terminal?

2

Existe uma maneira de encontrar o nome do pacote / executável (por exemplo, evince para o visualizador de documentos ou totem para Vídeos) para um aplicativo?

    
por Yet Another User 12.05.2013 / 03:22

4 respostas

0

(1) Se você conhece o nome do programa

Experimente na linha de comando:

find /usr -name 'evince'

A maioria dos programas está no diretório / usr / bin.

Então você pode digitar na linha de comando:

/usr/bin/evince

Isto irá iniciar o programa evince.

Para conhecer a hierarquia do sistema de arquivos Linux (onde está), você pode verificar página sobre a Hierarquia do Sistema de Arquivos Linux no site do Projeto de Documentação do Linux

(2) Se você não sabe o nome do programa.

Passo 1: Abra um terminal e liste todos os processos em execução com seu número identificador de processo PID:

ps -e 

Etapa 2: inicie seu programa

Etapa 3: alterne para o terminal e digite novamente:

ps -e 

Etapa 4: tentativa e erro para encontrar o processo do seu programa.

O Ubuntuone-syncd está em ambas as listas com o PID 2911. Ps é o processo do comando ps⁻ no terminal. Existem três possibilidades: update-notifier, aptd e evince.

Na linha de comando para essas 3 possibilidades

man name_of_the_process

ou

info name_of_the_process

ou

name_of_the_process -h 

Substitua name_of_the_process pelo nome do processo real.

Neste caso, se digitarmos

evince -h 

temos:

Então o evince é o visualizador de documentos do GNOME que estávamos procurando.

    
por user85164 12.05.2013 / 03:36
0

A resposta de Frank deve funcionar para você. Eu adicionarei que para localizar processos de aplicativos eu gosto do comando pstree melhor que a lista plana ps dá. (Tecnicamente, o comando ps , muito capaz, pode ser usado para imprimir uma árvore.) Mas aqui está uma abordagem alternativa.

Você deve ser capaz de encontrar o mapeamento entre o nome do arquivo executável de um aplicativo e seu nome de GUI em seu arquivo .desktop, e eles estão espalhados pelo sistema em vários diretórios. Em um terminal tente isto

grep -l "Categories=.*Settings" /usr/share/applications/*.desktop

para listar os arquivos .desktop do sistema primário que descrevem os aplicativos mostrados nas caixas de diálogo de configurações.

grep -l "Categories=.*Settings" /usr/share/applications/*.desktop | grep -i sound

lista essa lista apenas para arquivos que contenham o nome "sound". O programa que você está procurando pertence a um dos arquivos .desktop listados, com alguma sorte. Eles são arquivos de texto. A linha "Name=" fornece o nome da GUI. Você está interessado na linha "Exec=", que nomeia o arquivo executável. Esta linha pode até mesmo funcionar sem esforço:

grep -l "Categories=.*Settings" /usr/share/applications/*.desktop | grep -i sound | xargs grep -e Name= -e Exec=

Mesmo que isso não funcione, a informação que você deseja é quase certamente na linha Exec de algum arquivo .desktop em algum lugar, provavelmente em / usr / share / applications, provavelmente em um arquivo com "som" no nome. Desculpe eu não posso simplesmente dar-lhe o nome do programa. Eu não tenho um desktop Unity na minha frente.

    
por Salt 13.05.2013 / 01:50
0

Os aplicativos da área de trabalho são iniciados por meio de um arquivo *.desktop . Assim, se você fizer locate --regex '.desktop$' , você obterá uma lista de todos os arquivos '*. desktop' em seu sistema. Como geralmente são arquivos curtos, é fácil encontrar a linha " EXEC= ".

    
por waltinator 13.05.2013 / 03:03
0

xprop | grep PID e depois clique na janela. Isto dá-lhe é PID, como mencionado em: Informe um processo PID por sua janela?

Agora, apenas ps aux | grep <PID> .