Как узнать командную строку, соответствующую приложению с графическим интерфейсом (например, LibreOffice Writer)?

35

Как я могу запустить LibreOffice Writer из командной строки? По сути, какова его команда и как мне узнать, что такое команда для запуска конкретного приложения в целом?

Ederico
источник

Ответы:

43

Запустите libreoffice --writerдля запуска LibreOffice Writer.

В этом случае я догадался, что это может быть libreofficeили похоже, поэтому я вошел libreв терминал и дважды нажал кнопку табуляции. libreofficeбыл один из вариантов, поэтому я запустил это. Началось что-то, из чего можно было перейти к Writer, Calc, Impress и т. Д. Так как вы спросили конкретно о Writer, я посмотрел man libreoffice, что упоминается -writerкак один из параметров командной строки. Бег libreoffice -writerработал, но в результате

$ libreoffice -writer
Warning: -writer is deprecated.  Use --writer instead.

И вот я добрался libreoffice --writer.

В общем, можно попробовать что-то вроде следующего:

  • Угадай и попробуй названия, основываясь на названии приложения. Используйте Tab-завершение для помощи. Прочитайте справочные страницы для вариантов.
  • Запустите программу (используя меню с графическим интерфейсом или, если хотите, запустите ее), угадайте имя процесса и проверьте, используя ps aux | grep guessed_name.
  • Если вы знаете, что программа принадлежит установленному пакету X, запустите dpkg -L X. Это будет список установленных файлов из пакета X, искать /usr/bin, /bin, /sbinи т.д. на выходе.
  • Узнать процесс, соответствующий окну, можно следующим образом:

    Запустите xprop _NET_WM_PID, перейдите к целевому окну (не нажимая!) И щелкните по нему. Это напечатает PID, соответствующий окну, например

    _NET_WM_PID(CARDINAL) = 7394
    

    Теперь запустите ps -p 7394(с 7394, замененным полученным PID), чтобы узнать имя процесса для данного PID.

Prateek
источник
2
Отличное объяснение процесса здравого смысла, который вы использовали, чтобы найти команду ... даже без Google!
SRDC
4

Чтобы найти команду, попробуйте использовать команду автозаполнения:

введите « libre », затем нажмите [« Tab »], давая вам:

libreoffice

затем добавьте ' --help ', наконец, получив:

libreoffice --help

Это даст вам ВСЕ возможные варианты, которые вам могут понадобиться.

(snip)
LibreOffice 3.4  340m1(Build:402)

Usage: soffice [options] [documents...]

Options:
--minimized    keep startup bitmap minimized.
--invisible    no startup screen, no default document and no UI.
--norestore    suppress restart/restore after fatal errors.
--quickstart   starts the quickstart service
--nologo       don't show startup screen.
 :
--writer       create new text document.
--calc         create new spreadsheet document.
--draw         create new drawing.
--impress      create new presentation.
--base         create new database.
:
david6
источник
Что именно @prateek получил ответ ...
Ури Эррера
Не согласна Этот подход включал в себя угадывание и поиск «писателя». Я описал более правильный и общий метод.
david6
Ну, оба связаны с угадыванием libreили libreoffice. Является ли это --helpболее общим или правильным, чем man?
Пратик
Принятый ответ - это список общих стратегий, которые могут работать в различных ситуациях. Это на самом деле отвечает на конкретный вопрос, который был задан.
Westcroft_to_Apse
3

Обычно все приложения с графическим интерфейсом имеют значок запуска. Большинство из них хранятся в /usr/share/applications. Эти .desktopфайлы содержат информацию об имени приложения и соответствующих командах.

Быстрый способ получить список всех приложений и команд - использовать команду awk :

awk '{FS = "=";if ($1=="Name") printf("%s => ",$2); if($1=="Exec") {printf("%s\n",$2);nextfile;}}' /usr/share/applications/*.desktop
воспламеняться
источник
Отлично, мы можем просто передать это в grep и найти любое приложение!
ChillarAnand
2

Когда я получаю доступ к Writer, я захожу в свой терминал и набираю:

lowriter

Это, кажется, работает отлично и может быть повторено для Calc (localc); Draw (lodraw); Основание (лобаз); Импресс (loimpress). Вы получаете смысл.

Другая замечательная команда терминала, которую я узнал сегодня вечером, такова:

firefox google.com

это вызовет Firefox при переходе на веб-сайт по вашему выбору или в этом случае Google. Чем больше я играю с интерфейсом командной строки (CLI), тем больше я влюбляюсь во все возможности.

daslinkard
источник
Пожалуйста, проверьте lowriterправильность использования. Я попробовал это только сейчас, используя 12.04 и LibreOffice 3.5.4.2, и получил такой ответ:The program 'lowriter' is currently not installed. You can install it by typing: sudo apt-get install libreoffice-writer
работает над полностью обновленной Linux
Mint
2

Один очень простой способ, который не предполагает никаких догадок :

  • Запустить alacarte(это «Главное меню» в меню Gnome).
  • Выполните следующие действия, чтобы узнать имя команды приложения:

Поиск имени команды приложения в редакторе меню Gnome

  1. Выберите приложение.
  2. Нажмите Properties.
  3. Найдите имя команды для приложения в поле Command, в данном примере это так file-roller.
nem75
источник
Проголосовал за то, что не использовал догадки! Кроме того, я не знал об алакарте.
Westcroft_to_Apse
1

Честно говоря, это может быть легко google'ed: p

libreoffice --writer
Паулюс Шукис
источник
1

В Ubuntu 12.10 и новом libreoffice 4.0 после ручной установки команда выглядит так:

libreoffice4.0 - писатель

все остальные команды, как и предыдущий ответ, даются с включением 4.0 после libreoffice.

Aleandro
источник
1

Если я понятия не имею, где находится программа или как она называется, и у меня есть только ссылка из «меню Пуск», я создам ярлык на рабочем столе, щелкнув правой кнопкой мыши -> добавить на рабочий стол. Затем я открою ярлык в текстовом редакторе и поищу строку, начинающуюся с «Exec». Итак, для LibreOffice Calc, я вижу:

Exec = libreoffice --calc% U

Это соответствует команде bash "libreoffice --calc". Знак процента имеет отношение к расширенной неявной (?) Опции для exec, которую я не понимаю, но которую можно игнорировать, поскольку вы не используете Exec.

user189557
источник
0

Чтобы запустить LibreOffice для существующего документа, используйте xdg-open. Это работает не только для документов LibreOffice, но и для любого файла или URL. xdg-openоткроет файл, используя ваше предпочтительное приложение.

xdg-open file-or-url

Поскольку я обычно работаю с терминала, у меня ~/.bash_aliasesесть alias o=xdg-open, поэтому он сводится к следующему:

o aDocument.odt
o https://askubuntu.com
zwets
источник