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.)
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”.
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
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.
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.