IntelliJ - Запуск программы от Sudo - PullRequest
25 голосов
/ 11 декабря 2010

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

Ответы [ 3 ]

41 голосов
/ 30 декабря 2010

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

В OSX я открыл окно терминала и перешел в / 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 

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

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

3 голосов
/ 12 марта 2012

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

sudo -s

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

оттуда вы можете запустить Idea IDE, используя скрипт:

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

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

1 голос
/ 11 декабря 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...