Como saber a linha de comando cmd correspondente para o clique da UI?

4

Eu posso clicar no "movie player" da GUI do Ubuntu, mas como eu poderia saber a linha de comando correspondente cmd. Quero executar o reprodutor de filmes da linha de comando.

E isso não é apenas sobre o comando de fundo para o player de filme, eu quero saber todo o comando real que foi executado pelo shell x-window quando clico em um dos ícones no menu.

Muito obrigado.

    
por smwikipedia 21.05.2010 / 07:16

10 respostas

6

abra o console e digite

ps --sort start_time x

isso deve fornecer uma lista de processos ativos, classificados por hora de início, com o processo mais recente na parte inferior. Por exemplo, acabei de iniciar o Firefox e consegui isto:

19713 ?        S      0:00 /bin/sh /usr/lib/firefox-3.6.3/firefox
19718 ?        S      0:00 /bin/sh /usr/lib/firefox-3.6.3/run-mozilla.sh /usr/lib/firefox-3.6.3/firefox-bin
19722 ?        Sl     0:01 /usr/lib/firefox-3.6.3/firefox-bin
19737 pts/2    R+     0:00 ps --sort start_time x

É claro que ps --sort start_time x é sempre o processo mais recente.

    
por 21.05.2010 / 19:57
4

Clique com o botão direito no ícone e selecione Propriedades. Isso dirá a você a linha de comando associada a ele na maioria dos casos.

    
por 21.05.2010 / 08:36
3

As três GUIs principais para o Ubuntu são o Gnome, KDE, Xfce. Todos esses projetos tentam seguir os padrões do Free Desktop no freedesktop.org. O Xfce parece seguir o padrão Desktop Entry , que define como os itens de menu são tratados, entre outras coisas.

As seguintes instruções devem funcionar no Gnome, KDE e Xfce.

Os itens de menu (também chamados de 'Lançadores' ou 'Entradas da Área de Trabalho' são armazenados em /usr/share/applications .

Você sabe que este aplicativo é chamado de "Movie Player", portanto, para encontrar o arquivo apropriado, faça o seguinte:

stefanl@HOST:/usr/share/applications $ grep -i "movie player" *.desktop
totem.desktop:Name=Movie Player

Grep me mostra que 'totem.desktop' contém o conteúdo apropriado. A partir disso, sei que o "Movie Player" está associado ao aplicativo "totem".

Agora, para ver o comando que é executado por este item de menu, você procura por Exec :

stefanl@HOST:/usr/share/applications $ grep Exec totem.desktop 
Exec=totem %U

O formato desses arquivos Gnome / KDE / Xfce .desktop é descrito em detalhes em Entrada na Área de Trabalho do freedesktop.org. Especificação . A Especificação de entrada na área de trabalho: a chave Exec descreve o uso da chave %U :

A list of URLs. Each URL is passed as a separate argument to the executable program. Local files may either be passed as file: URLs or as file path.

    
por 02.06.2010 / 23:42
1

Se você quiser um reprodutor de filmes, também pode controlá-lo a partir da linha de comando, use mplayer .

    
por 21.05.2010 / 08:44
1

Nota: Esta resposta é uma extensão da resposta do artistoex .

Este comando deve exibir todos os comandos atualmente em execução executados pelo usuário atual e iniciados nos últimos 60 segundos:

ps x --sort -start_time -U YOURUSERNAME -o start,command | \
awk '$1>=recently&&$1<=now' \
recently=$(date --date='60 seconds ago' +%T) now=$(date +%T) | sed 1,1d

Para usar este comando, clique em um ícone ou item de menu para executar um comando e enquanto o programa que acabou de ser aberto ainda estiver em execução, execute o comando acima. Lembre-se de substituir YOURUSERNAME pelo nome de usuário atual.

Explicação :

ps exibirá os processos em execução no momento. Explicação dos argumentos ps :

  • x : inclui processos não executados através de um terminal (na verdade, tty ). Adicionar -t '?' exibiria apenas processos não associados a um terminal.
  • --sort -start_time : classifica a saída no momento em que o processo foi iniciado (ordem decrescente)
  • -U YOURUSERNAME : Substituir YOURUSERNAME pelo seu nome de usuário mostrará apenas os processos executados por seu usuário. Essa restrição pode ser removida, se necessário.
  • -o start,command : Exibe duas colunas na saída: a hora de início do processo e o comando que foi executado

awk é usado aqui para mostrar apenas os processos executados recentemente. Explicação dos argumentos awk :

  • $1>=recently&&$1<=now : restringe a saída a processos que foram executados nos últimos 60 segundos. Para alterar este período de tempo, modifique o próximo argumento ( recently atribuição de variável)
  • recently=$(date --date='60 seconds ago' +%T) : defina o awk variable recently usado no argumento anterior para 60 segundos atrás no formato HH:MM:SS ( ps time format).
  • now=$(date +%T) : defina a awk variable now para a hora atual (isto é para excluir processos executados há menos de 24 horas que pareceriam que foram executados no futuro)

Eu adicionei sed 1,1d para excluir a primeira linha de saída porque mostrará o comando atualmente em execução, que é inútil exibir.

Lembre-se: Usar ps para descobrir qual processo foi executado não funcionará como esperado para determinados programas. Por exemplo, se você clicar em um atalho do Firefox, mas o Firefox já estiver em execução, um novo processo não será criado e a hora de início do processo antigo não será alterada. No entanto, esse método funciona razoavelmente bem para muitos programas.

    
por 02.06.2010 / 23:25
1

No Xubuntu, acesse user / share / applications e clique com o botão direito em qualquer aplicativo que você queira colocar em um painel. Selecione enviar (link) para a área de trabalho. Agora os lançadores estão na área de trabalho, você pode clicar com o botão direito em qualquer um e selecionar Propriedades para ver a linha de comando. Clique com o botão direito do mouse em um painel, selecione criar um lançador e duplique as propriedades no iniciador de área de trabalho para cada aplicativo. Agora você pode excluir os lançadores na área de trabalho.

É um pouco mais rotativo do que no Ubuntu (Gnome), mas o Xubuntu é mais rápido porque reduz todos os recursos.

    
por 01.03.2011 / 20:08
0

Isso seria totem .

    
por 21.05.2010 / 08:19
0

O que aparece no menu é controlado pelos arquivos em .desktop arquivos em /usr/share/applications . Se você visualizar algum desses arquivos, existe uma linha Exec= something, este é o comando que o Ubuntu executa quando você clica no ícone.

    
por 02.06.2010 / 20:46
0

Esta resposta é uma extensão do Cry Havok's.

Acho que esta é a maneira mais fácil.

Primeiro, você precisa ter o atalho que você tem no lançador de aplicativos copiado para a sua área de trabalho. Você pode clicar com o botão direito do mouse em qualquer aplicativo e selecionar "Adicionar este iniciador ao Desktop" (se você estiver usando o gnome).

Agora que o atalho está na área de trabalho, você pode clicar com o botão direito e selecionar propriedades. Lá na aba Básica, ele mostrará o comando da linha de comando que foi iniciado para iniciar o aplicativo.

Você também pode abrir o gedit e abrir o ícone da área de trabalho. Os ícones da área de trabalho são apenas arquivos de texto com uma extensão ".desktop". Neste arquivo, você verá todos os parâmetros desse atalho, incluindo a parte "Exec=", que mostra o programa que pode ser chamado a partir da linha de comando.

    
por 03.06.2010 / 06:11
0

Se você está usando o gnome, é

 gnome-open <file> 
O

gnome-open abre o arquivo usando o programa que foi registrado para abrir o arquivo. No entanto, se você não quer saber o processo final que está sendo executado, você pode tentar

ps ux | grep filename

ou você pode pesquisar na saída de

ps ux
    
por 02.06.2010 / 18:01