Различия в запуске программы через терминал и через средство запуска приложений

Другие ответы хороши, но я хочу добавить кое-что, что ни в одном из них не затрагивалось: проблема безопасности.

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

0
05.09.2017, 18:08
1 ответ

Одной из распространенных причин ошибок этого типа являются различия в среде оболочки. Скорее всего, ваша переменная PATHи/или ваш текущий рабочий каталог отличаются и влияют на ваш скрипт.

Вы можете проверить с помощью одной процедуры.

Чтобы проверить разницу в среде и рабочих каталогах, сделайте следующее:

  1. Запустите gvimиз терминала и в этом gvimвведите:

    :!env > /tmp/env.терминал
    
  2. Запустите gvimиз лаунчера и в этом gvimвведите:

    :!env > /tmp/env.launcher
    
  3. В окне терминала в командной строке введите

    diff /tmp/env.terminal /tmp/env.launcher
    

Эта команда diffпокажет разницу в средах обоих экземпляров gvim.

Посмотрите на различия в окружающей среде. Обязательно проверьте значения обеих переменных PATHи PWD.

3
28.01.2020, 02:24

Теги

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