Existe uma maneira de determinar como iniciar qualquer programa a partir da linha de comando

9

Mesmo se não houver uma interface CLI. Eu gostaria de poder lançá-lo / eliminá-lo da linha de comando.

myusuf3
fonte
2
Você poderia explicar exatamente o que você quer dizer? Deseja saber como iniciar programas listados no menu de aplicativos na linha de comando?
Isaiah
@DoR qualquer aplicativo. Eu gostaria de saber como iniciar e matá-lo de cli
myusuf3

Respostas:

18

Versão curta :

  • Encontre o comando Exec para seu aplicativo, cumprimentando o diretório de aplicativos

    grep 'Calculator' /usr/share/applications/*
    
  • Iniciar o aplicativo

    gcalctool
    
  • Mate-o pressionando Ctrl+C


Primeiro, descubra onde está seu aplicativo. Alguns diretórios estão em uma variável de ambiente $PATH, para que você não precise digitar o diretório inteiro.

Uma maneira de encontrar seu aplicativo é abrir o Editor de menus (clique com o botão direito do mouse no menu Aplicativos e selecione Editar menus) e encontre o comando do aplicativo .

A calculadora, por exemplo, está gcalctoolem /usr/bin/gcalctool(use o whereiscomando para encontrar o caminho exato de um aplicativo). Como /usr/binestá na variável PATH (tipo echo $PATH), você pode executá-la no seu terminal digitando gcalctool.

Agora está sendo executado em primeiro plano. Você pode pausá-lo pressionando Ctrl+ Z, retome-o em segundo plano digitando bgou retome-o em primeiro plano digitando fg. Você também pode usar fgpara elevar um aplicativo ao primeiro plano.

Se você fizer isso com vários aplicativos, poderá usar jobspara obter uma lista numerada de todos eles e, por exemplo, fg 3para criar um deles.

Um aplicativo que está em primeiro plano pode ser eliminado com Ctrl+ Cou Ctrl+ \(se não reagir ao primeiro).

Uma maneira universal de encontrar seu aplicativo é abrir o Navegador de Arquivos, vá para Sistema de Arquivos → usr → compartilhar → aplicativos e encontrar seu aplicativo lá.

Você verá vários .desktoparquivos, que podem ser arrastados para um Editor de texto (ou usados cat) para serem lidos. Este é um pedaço do arquivo .desktop das Calculadoras:

[Desktop Entry]
Name=Calculator
Comment=Perform arithmetic, scientific or financial calculations
Exec=gcalctool

A entrada Exec é o que você está interessado aqui. É o mesmo que você veria se fosse ao Editor de menus, mais rápido. Você pode grep os arquivos para procurá-los pelo seu aplicativo, se não conseguir encontrá-lo.

Se o aplicativo não tiver um arquivo .desktop no diretório de aplicativos, você precisará saber o seu comando, é claro. Use TABpara obter sugestões de apenas algumas letras. Imprensa tab, tab, ypara obter uma lista enorme de cada aplicação.

Stefano Palazzo
fonte
1
Outra maneira é usar o gnome-system-monitor e encontrar o logotipo do aplicativo + o valor da linha de comando correspondente na coluna da direita.
Olivier Lalonde
2

Mesmo quando alguns aplicativos usam o terminal para monitorar o processo de um software, existem outros programas que simplesmente executam e retornam o controle ao terminal. Assim, você pode fechar o terminal mantendo o aplicativo em execução.

Dessa forma, pressionar Ctrl-C no terminal não interromperá o aplicativo.

Você pode usar o comando "killall" para interromper o programa quando enfrentar essa condição em um programa.

Por exemplo: se você estiver executando o kdenlive e ele parar de responder ou desejar (como você diz) fechar o aplicativo usando um comando no terminal, basta soltar uma linha como:

killall kdenlive

Você pode fazer isso com qualquer outro aplicativo, mas se estiver executando mais de uma instância do programa que será eliminada, todas as instâncias do programa serão fechadas.

Se você, por exemplo, soltar o: killall nautilus para fechar o navegador de arquivos, também estará fechando o navegador principal usado para o gerenciamento da área de trabalho.

Geppettvs D'Constanzo
fonte
0

Usando

gnome-open <file>

Abre qualquer arquivo diretamente da linha de comando em seu aplicativo padrão.

killall <programname>

Mata todos os processos envolvendo

Junkbot
fonte