Zrobiłem plik .desktop dla Flashtool Androxyde (narzędzie dla urządzeń Sony Xperia, które muszę otworzyć za pomocą pliku wykonywalnego w jego folderze), który wymaga uprawnień roota do korzystania z narzędzi Fastboot. Kiedyś gksu
działałem z tym , ale pracuję na Ubuntu 15.04, a gksu jest już stary.
Próbowałem zmodyfikować exec
linię z
Exec=gksu /home/natasha/FlashTool/FlashTool
do Exec=pkexec /home/natasha/FlashTool/FlashTool
Później przeczytałem, że pkexec nie pozwala na uruchamianie aplikacji X11, więc zastępuję w ten sposób:
Link do pełnego obrazu na Imgur.com
Problem polega teraz na tym, że pyta mnie o hasło, ale GUI Flashtoola się nie uruchamia. ALE jeśli wykonam to polecenie w terminalu, program uruchomi się bez problemów. Co mogę zrobić?
command-line
.desktop
pkexec
nplezka
źródło
źródło
Odpowiedzi:
Utwórz nowy plik w
/usr/share/polkit-1/actions/
i dodaj poniższe linie:
Następnie utwórz nowy plik
/home/natasha/FlashTool/
i dodaj poniższe linie:
Użyj poniższego wiersza dla
Exec
w swoimdesktop
pliku:Przetestowano na moim systemie Ubuntu 15.04 GNOME z następującymi plikami:
źródło
Exec
polecenie: napisałemExec=pkexec /home/natasha/FlashTool/FlashTool
tak jak wcześniej, ponieważ flashtool-pkexec nie działa na pliku .desktop. Dzięki plikowi polisy działa jak urok. Dziękuję Ci!#!
, musisz poprzedzićExec
komendę/bin/sh
.sudo -H
wystarczy uruchomić aplikację graficzną zapobiegającą zmianom w plikach konfiguracyjnych użytkownika~/
, ponieważ ustawia katalog domowy uruchomionego środowiska na katalog główny root:źródło
desktop
pliku?sh
instancji (prawdopodobnie przy niektórych zmiennych środowiskowych ustawianych ad hoc, ale tutaj nie ma problemu).sudo
jeśli maszTerminal=false
linię w programie.desktop
uruchamiającym (tak jak tutaj OP). Jednak najprawdopodobniej działałoby toTerminal=true
zamiast tego.