Вероятно, вы не можете сделать это с Java.Лучший способ сделать это - возможно, вы обнаружите, что программа не запущена как sudo
, поэтому вы можете попросить пользователей закрыть программу и повторно запустить ее как суперпользователь.(для этого решения я бы предпочел выбрать файл или каталог из системных файлов и проверить, доступен ли он для записи. Например, new File("/usr/bin/ls").isWritable()
)
Другими способами может быть запуск окон проверки подлинности, специфичных для среды рабочего стола.Например, существует Java-gnome , но, как и следовало ожидать, не все пользователи должны использовать GNOME.Так что на самом деле нет универсального решения, и все идет с кучей зависимостей.Java не предназначена для этого.
Лучше всего проверить привилегии суперпользователя с помощью хитрости при запуске.Может быть, вы сможете разработать свою проблему, и мы сможем найти решение, которое не требует root-доступа.