Подтвердить что ты не робот

IntelliJ - Запуск программы как Sudo

Разработка программы на OSX с использованием Java и IntelliJ. Работает с сетевыми сокетами и ICMP. Следовательно, программа должна запускаться как root или sudo'd на OSX. Программа отлично работает в терминальном окне вне IntelliJ под sudo. Тем не менее, я хотел бы отлаживать и запускать его из IntelliJ (V9). В IntelliJ это ошибки (мне нужно root privs для перечисления сетевых устройств). Я знаю, как передавать параметры программы и VM в IntelliJ, но теперь, как нажать Run and/Debug и запустить его под sudo? Нужно в основном sudo java...... MyProgram вместо java..... MyProgram Любые идеи или обходные пути.

4b9b3361

Ответ 1

Я вышел с ответом и хотел поделиться им на всякий случай, если кто-то еще столкнется с этим. Чтобы решить эту проблему, я принял решение о том, что я делаю с QT и QT Creator при программировании сети.

В OSX я открыл окно терминала и cd'd до /Applications/IntelliJ IDEA 9.0.3.app/Contents/MacOS. Там вы найдете файл под названием idea, который запускает IDE. Я запустил это как sudo (sudo./idea). Это позаботилось о разрешении на что-либо, запущенном Intellij, и я мог отлаживать и выполнять свой код по мере необходимости.

sudo /Applications/IntelliJ IDEA 9.0.3.app/Contents/MacOS/idea 

Поскольку это dev-машина, и я контролирую ее, безопасность не является проблемой в этом случае.

Надеюсь, что это поможет кому-то другому.

Ответ 2

Отладка программ sudo запрещена операционной системой, если отладчик не работает от имени пользователя root по соображениям безопасности.

Итак, даже если вы можете понять, как заставить IntelliJ использовать sudo, вам это не поможет.

Ответ 3

Внутри терминала:

sudo -s

предоставить доступ к пользователю root.

оттуда вы можете запустить IDE Idea с помощью script:

/Applications/IntelliJ\ IDEA*/bin/idea.sh

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