Запустите "sudo arduino" с файлом.desktop

Для близких избирателей: казалось бы, обман, но не совсем, по крайней мере, не из предложенного: в связанном вопросе команды могут быть безопасно добавлены в файл sudoers. В случае IDE это плохая идея.

Поэтому я установил Arduino IDE из центра программного обеспечения. Вот в чем дело, мне нужно запустить команду "sudo arduino" из терминала, чтобы arduino IDE работал правильно для меня. Не поймите меня неправильно, когда я запускаю arduino из обычного значка, он также работает нормально. Я просто использую определенную библиотеку, которая не компилируется правильно, если я не использую команду "sudo arduino", чтобы открыть мою IDE (не знаю почему).

Поскольку мне нужно всегда открывать терминал, мне было интересно, можно ли создать файл.desktop (или, может быть,.sh?), На который я могу просто щелкнуть и запустит IDE "sudo arduino". Я хочу, чтобы по возможности не открывать терминал каждый раз.

Заранее спасибо!

Обновление 1 ---------------------------------------

Я не заинтересован в том, чтобы просто избегать использования команды sudo при запуске IDE из терминала (поэтому вместо написания "sudo arduion" пишите "arduino"). Что я хочу, так это избегать совместного использования терминала и иметь значок на рабочем столе, который при щелчке запускает IDE arduino, аналогично тому, как входить в терминал и писать "sudo arduino".

2 ответа

Решение

Предположение, что это обман, предполагает, что добавление Arduino в файл sudoers - хорошая идея, но это не так. Никогда не добавляйте приложение, которое потенциально разрушает вашу систему, или редактирует код, который разрушает вашу систему, в файл sudoers, просто потому что это представляет угрозу безопасности.

Добавляйте только приложения или скрипты в sudoers файл, если:

  • код не может быть отредактирован (хранится в месте, для которого требуется разрешение администратора), и

  • Приложение не имеет возможности редактировать код других приложений или скриптов.

Что делать в этом случае

  1. Скопируйте существующий .desktop подать в ~/.local/share/applications:

    cp /usr/share/applications/arduino.desktop ~/.local/share/applications
    
  2. Откройте файл с помощью gedit:

    gedit ~/.local/share/applications/arduino.desktop
    

    и добавьте раздел внизу файла:

    Actions=Arduino IDE with sudo;
    
    [Desktop Action Arduino IDE with sudo]
    Name=Arduino IDE with sudo
    Exec=gksu arduino
    OnlyShowIn=Unity;
    

Сейчас arduino запускается "нормально", когда вы нажимаете на него, но имеет опцию щелчка правой кнопкой мыши для запуска с sudo:

Заметки

  • Если у вас нет gksu установлен (16.04, он предварительно установлен), вам нужно сначала запустить:

    sudo apt-get install gksu
    
  • Вы, вероятно, должны выйти / войти, чтобы отредактированный модуль запуска был эффективным.

альтернативно

Если вы не хотите Arduino Значок заблокирован на панели запуска, добавьте команду в качестве сочетания клавиш: выберите: Параметры системы> "Клавиатура" > "Ярлыки" > "Пользовательские сочетания клавиш". Нажмите "+" и добавьте команду:

gksu arduino

на ярлык по вашему выбору.

Скопируйте файл.desktop и отредактируйте копию с помощью gedit (или любого текстового редактора), т. Е. Открыв редактор и поместив файл в окно редакторов. Вы увидите строку, начинающуюся с Exec=, что-то вроде Exec=/path/arduino, Эту строку необходимо соответствующим образом изменить, а затем сохранить изменения.

Если вы хотите узнать больше о настольных файлах, я рекомендую:

Вопрос: Создание файлов.desktop - всего несколько вопросов
Спецификация файлов рабочего стола: https://standards.freedesktop.org/desktop-entry-spec/latest/index.html

Начните с прав sudo, введя пароль

Установите gksu с помощью команды sudo apt-get install gksu, Теперь используйте gksu вместо sudo (Exec=gksu /path/arduino), и вам будет предложено ввести поле ввода пароля, как это делает gparted, при запуске через файл рабочего стола.

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