Qual a maneira de saber a linha de código de um programa específico para abrí-lo pelo terminal?

INTRODUÇÃO: basicamente, preciso saber de um comando no terminal do Linux Mint que analisa a linha de código a ser executada de um programa específico já instalado no sistema.
Por exemplo, para abrir o Editor de Texto do Linux Mint, basta escrever no terminal “xed” que o editor abre.

PROBLEMA: às vezes, quero executar um programa no qual não sei exatamente a linha de código para executá-lo no terminal e gostaria de saber uma maneira prática de conhecer tal linha.

OBJETIVO FINAL: quero criar um atalho personalizável no meu linux para abrir um programa (no caso, o LibreOffice Writer), já que a criação do atalho requer a inserção do comando que se usa no terminal para abrir o programa em questão.
(No caso específico do LibreOffice Writer, insiro “libreoffice-writer” no terminal e há o retorno de invalidação.)

1 curtida

Na verdade, pelo o que eu entendi, você quer saber o nome do aplicativo no terminal. A forma para descobrir é:

apt list --installed

Sobre o libreoffice, tente libreoffice --writer %U

1 curtida

Se o programa está no menu, você pode utilizar um editor de menus (Alacarte, por exemplo) e olhar isso graficamente. Uma forma universal e pelo terminal seria investigar os arquivos “.desktop”, geralmente armazenados em “/usr/share/applications” (sistema) e “~/.local/share/applications” (usuário). Os arquivos podem ser abertos num editor de textos. Procure pelo parâmetro “Exec”.

1 curtida

Tentei o comando que você comentou, e também fui conferir na pasta que o @knimer comentou e confirmei ser o mesmo.
Porém, o retorno pelo terminal foi “/home/user/%U não existe” em uma caixa de diálogo como resposta ao comando… por que será ?

edit: tentei apenas libreoffice --writer e deu certo, porém ainda quero saber o porquê da primeira maneira não ter dado certo.

Poderia explicar esse parâmetro?
Por exemplo, pelo o que entendi, escrevo em um editor de texto a linha de comando do programa e edito o nome do documento como “example.exec” ?

Se puder colocar no pastebin.com ou aqui com a formatação de código (use o botão “</>” da barra de ferramentas do editor), fica mais fácil pra gente te ajudar. Você lê em inglês? Se sim, o Freedesktop explica esses parâmetros para endereços da chave “Exec”.

Vou te dar um exemplo aqui baseado no KNIME, do meu arquivo “~/.local/share/applications/knime.desktop”:

[Desktop Entry]
Name=KNIME Analytics Platform
Comment=Konstanz Information Miner, data analytics, reporting and integration platform
TryExec=/home/user/bin/knime_4.2.2/knime
Exec=/home/user/bin/knime_4.2.2/knime -- %u
Icon=/home/user/bin/knime_4.2.2/icon.xpm
Terminal=false
Type=Application
Categories=Science
2 curtidas

No link do @knimer explica, %U %f %F (entre outros parâmetros que começam com %) são substituídos pelo arquivo selecionado pelo usuário quando você abre o programa pelo gerenciador de arquivos/“menu iniciar”.

Como no terminal não tem a capacidade de selecionar arquivos, você substitui o %U manualmente:

libreoffice --writer # Nenhum arquivo
libreoffice --writer /home/emosqueti/monografia.odt # Substituir o %U com o arquivo a ser aberto.

Ou, com o exemplo do post acima:

/home/user/bin/knime_4.2.2/knime -- # Nenhum arquivo
/home/user/bin/knime_4.2.2/knime -- /home/user/saopaulo.table # Abrir um arquivo

O erro, no seu caso, é porque %U foi passado sem contexto algum, então ele procurou um arquivo chamado %U na sua pasta Home e não viu nada, retornando erro.

1 curtida

A única coisa aqui é evitar caminhos completos em Exec e Icon, procure sempre colocar no Path e no tema hicolor