Попросите установить программу после & ldquo; Программа 'x' в настоящее время не установлена ​​& rdquo;

Если вы попытаетесь запустить программу, которая не установлена, вы получите сообщение

The program 'x' is currently not installed. You can install it by typing: 
sudo apt-get install x

, и вместо того, чтобы предлагать вам установить программу для вас, вы должны ввести фактическую команду. Как можно изменить это поведение?

19
задан 9 January 2014 в 04:08

4 ответа

דער פּעקל וואָס איז פאַראַנטוואָרטלעך פֿאַר דעם נאַטור איז די באַפֿעל-ניט-געפֿונען Install command-not-found פּעקל, און עס שוין כולל די געבעטן נאַטור כאָטש עס איז פאַרקריפּלט דורך פעליקייַט. איר קענען געבן עס דורך לייגן די פאלגענדע שורה צו דיין ~ / .bashrc

export COMMAND_NOT_FOUND_INSTALL_PROMPT=1

איצט די נאַטור איז געביטן צו

The program 'x' is currently not installed. You can install it by typing:
sudo apt-get install x
Do you want to install it? (N/y)

באַמערקונג: אויב איר באַקומען אַ אָנזאָג וועגן פּיטהאָן קראַשינג (ספּאַסיפיקלי AttributeError: 'סטר' כייפעץ האט קיין אַטריביוט 'דעקאָדע' ) דאָס איז זשוק 1073919 . א פאַרריכטן איז שוין בנימצא פֿאַר ראַרינג און סאָסי. אַלטערנאַטיוועלי ( אַוואַנסירטע יוזערז בלויז ), איר קענען טוישן די טעקע /usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py

רעדאַגירן: די פיקס איז איצט באפרייט אין ווערסיע 0.3ubuntu7.1 אין Raring (SRU) און פֿאַר 0.3ubuntu8 אין Saucy.

17
ответ дан 9 January 2014 в 04:08

Автоматическая установка - плохая идея. Если вы хотите сэкономить на вводе, вы можете использовать

sudo apt-get install !!

, где !! будет заменено последней командой из истории. Вы, вероятно, также могли бы сделать это псевдонимом, но я не знаю, как добавить !! , не оценивая его.

Однако есть некоторые предостережения, как упоминалось @ eliah-kagan и @gertvdijk в комментариях. У некоторых программ нет того же имени пакета, что и у исполняемого двоичного файла. Кроме того, передача аргументов в двоичный файл может привести к неожиданным результатам.

0
ответ дан 9 January 2014 в 04:08

Мое решение представляет собой гибрид между безопасностью и удобством:

auto-apt проверяет доступ к файлам программ, работающих в его среды, и если программа пытается получить доступ к файлу, известному принадлежат к неустановленному пакету, auto-apt установит этот пакет с помощью apt-get. Для работы этой функции требуются apt и sudo. Он также предоставляет простую базу данных для поиска, какой пакет содержит запрошенный файл.

Это эмулятор терминала, в котором вы входите в среду, где каждый доступ к файлу проверяется заранее с помощью auto-apt, и если он не существует, он выполняет поиск в базе данных (a la apt-file ]), загрузите и установите нужный пакет, а затем разрешите программе продолжить работу. Вы должны выполнить его как root:

sudo auto-apt

Это полезно в тех случаях, когда вы создаете пакет и не в настроении находиться перед экраном, ища каждую ошибку конфигурации, отсутствующие заголовки и т.д.

Это также может использоваться в качестве замены apt-get + apt-file, где вы можете устанавливать программы, просто сообщающие команде о необходимости их выполнения.

Вы должны понимать, что не должны оставлять его открытым, когда ваша система не работает. t выглядело так, поскольку это почти как если бы вы использовали пользователя root.

Страница руководства: http://derpi.tuwien.ac.at/cgi-bin/man/man2html?1+auto-apt

1
ответ дан 9 January 2014 в 04:08

Есть несколько способов быстрой установки предлагаемого пакета:

  • Добавить export COMMAND_NOT_FOUND_INSTALL_PROMPT = 1 где-нибудь вроде ~ / .bashrc

    это самый «крутой» способ, хотя, очевидно, не так безопасно, но, вероятно, в 90% случаев вызовет внутреннее «Спасибо, это именно то, что я хотел, чтобы вы сделали!» ответ.

    (Один личный недостаток этого метода заключается в том, что мне кажется, что ответ трудно запомнить / найти, поэтому я, как правило, не использовал его до сих пор.)

  • Если вы используете Терминал по умолчанию , вы можете быстро выбрать строку и щелкнуть средней кнопкой мыши, чтобы вставить ее прямо в командную строку. (Другие терминалы или приложения SSH могут иметь другие методы.)

    На практике я обычно нахожу это достаточно быстрым и немного сложнее сделать «случайно» и без какой-либо предварительной настройки, поэтому я предпочитаю это делать.

  • Однако есть что сказать - если вы умеете (или хотите научиться) быстро печатать - для непосредственного ввода sudo apt install packagename .

    Это помогает вам тренировать мышечную память , а также означает, что вам нужно прочитать и ввести имя пакета, что означает, что вы, вероятно, легче запомните его в будущем. Это также немного проще в более поздних версиях Ubuntu, потому что apt работает вместо apt-get .

0
ответ дан 9 January 2014 в 04:08

Другие вопросы по тегам:

Похожие вопросы: