@gkozyrev

Root для Golang — программы?

Всем привет)

Пишу мини-приложение на Go для себя.
Для GUI использую фреймворк Fyne.

Суть вопроса: возможно ли сделать так, чтобы мое приложение производило действия для которых требуются права суперпользователя (напр, редактировало файлы типа hosts)?
Ну, и хотелось бы, чтобы при этом выскакивало окно по типу такого:
auth_request-1024x635.png

Заранее спасибо!
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
Чтобы выполнить системную команду в Go пользуют os/exec
Чтобы выпало окошко в osx применяют /usr/bin/osascript
Попробуйте что нибудь вроде
package main
import (
	"os/exec"
	...
)

func main(){
...
//Чтобы получить приглашение в консоли
	cmd := exec.Command("sudo", "su")  
	err := cmd.Run()
	if err != nil {
		fmt.Printf("%s", err)
	}
...
//Или чтобы выпало окошко
	out, err := exec.Command("osascript", "-e", "do shell script /path/to/myscript with administrator privileges").Output()
	if err != nil {
		fmt.Printf("%s", err)
	}
...
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы