Jak uruchomić aplikację jako root z Unity Launcher?

81

Głównie szukam sposobu, aby przypiąć aplikację do paska uruchamiania Unity i uruchomić ją jako root.

Obecnie, nawet jeśli uruchomię aplikację za pomocą sudo i przypinam ją po uruchomieniu, następnym razem zostanie uruchomiony jako bieżący użytkownik.

Niestety, ale nie ma opcji menu kontekstowego „uruchom jako ...”.

Aktualizacja : przełączyłem się na gnome3 i teraz jestem szczęśliwy, brakuje mi tylko wyszukiwania.

sorin
źródło
Jeśli znasz ryzyko uruchamiania aplikacji graficznych jako root i nadal chcesz kontynuować, wykonaj krok 1 tutaj: askubuntu.com/a/118483/41562
edm
Nie zrozumiałeś pytania, wiem, jak go używać sudoi już go dostroiłem. Pytanie dotyczy tego, jak mogę utworzyć skrót do programu uruchamiającego Ubuntu Unity do aplikacji, którą chcę uruchomić jako root.
sorin
W przypadku programu uruchamiającego Unity nie wiem. Ale jeśli masz plik na pulpicie i chcesz go uruchomić jako gksu, możesz zainstalować rozszerzenie „nautilus execute”.
Ciekawy uczeń

Odpowiedzi:

89

Jeśli chcesz, aby aplikacja zawsze działała jako root

  1. Przypnij aplikację do programu uruchamiającego jak zwykle.

  2. Znajdź plik .desktop aplikacji, który będzie w:

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • lub gdzieś indziej użyj locate .desktop|grep APPAME
  3. Otwórz za pomocą gedit:

    gksudo gedit /usr/share/applications/APPNAME.desktop
    
  4. Następnie zmień linię

    Exec=APP_COMMAND
    

    do

    Exec=gksudo -k -u root APP_COMMAND
    
  5. Zapisać

To polecenie zachowa również twoje środowisko, które jest bardzo przydatne, jeśli potrzebujesz połączyć się z innymi serwerami i użyć swojego klucza prywatnego.

Aby dodać opcję szybkiej listy do opcji „Uruchom jako root”

Wykonaj kroki 1, 2 i 3 powyżej

Jeśli program uruchamiający nie ma obecnie żadnych innych opcji szybkiej listy, po prostu dołącz go na końcu dokumentu

X-Ayatana-Desktop-Shortcuts=Runroot

[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity
edm
źródło
51
Dlaczego tak proste jest ustawienie prostego skrótu? Co złego dzieje się z twórcami ubuntu?
Sliq
7
na gksudopolecenie, musisz zainstalowaćsudo apt-get install gksu
Arul
5
@Sliq nazywa się bezpieczeństwo ... Posiadanie ikony pulpitu, która jest wykonywana jako root bez potrzeby hasła ... jest bardzo niebezpieczna ... Dla mnie jest to w rzeczywistości radość z Linuksa ... Gdybym chciał łatwego życia .. używałbym Windowsa jako mojego głównego systemu ...
Angry 84
3
@sliq „Dlaczego tak trudno jest grepować z wiersza poleceń cmd? Co jest nie tak z twórcami systemu Windows?” - Twórcy Ubuntu ... prawdopodobnie
kod lotniczy
3
nieaktualne dla Ubuntu 18.XX Czy ktoś może dostarczyć zaktualizowane rozwiązanie?
JRsz
4

W menu głównym w obszarze System, Preferencje, wpisz gksudow polu Polecenia właściwości programu uruchamiającego, np .:

/usr/bin/gksudo /usr/bin/yourapplication

Twoje imię i nazwisko może brzmieć:

sudo twój wniosek

Użytkownicy wiedzą, że mogą zobaczyć wyskakujące hasło i dlaczego ...

Nie jestem pewien, czy Unity Launcher vs Menu główne. Może to pomaga?

Powodzenia

boolship
źródło
3
Prawdopodobnie wiesz, że prosto sudonie należy używać do uruchamiania aplikacji graficznych, ponieważ - w rootkońcu używasz gksudo(co jest jednym z dobrych sposobów). Z tego samego powodu odradza się używanie sudopola nazwy tak, jak masz, ponieważ takie postępowanie (1) sprawia wrażenie wystarczająco doświadczonych użytkowników, że program uruchamiający jest nieprawidłowo wykonany, a (2) sprawia wrażenie wśród mniej doświadczonych użytkowników że można używać bezpośrednio sudodo uruchamiania aplikacji graficznych jako root.
Eliah Kagan,
Unable to locate package gksudo- Ubuntu 18.04.1 LTS
8bitjunkie
2

Następujące czynności wydają się robić to samo, bez potrzeby posiadania prywatnych atrybutów:

Actions=Runroot;Another

[Desktop Action Runroot]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND

[Desktop Action Another]
Name=Another action
Exec=whatever
Daniel
źródło
Unable to locate package gksudo- Ubuntu 18.04.1 LTS
8bitjunkie
2

Jako szybką i prostą alternatywę dla uciążliwych żądań opisanych w odpowiedziach tutaj mam nawyk robienia następujących czynności ...

  1. Uruchom nowy terminal.
  2. Wchodzić gksu nautilus

    (też sudo -i nautilusdziała.)

Powstałe okno znajduje się pod parasolem sudo, więc możesz używać go do uzyskiwania dostępu i uruchamiania plików z uprawnieniami sudo-root do zawartości twojego serca, dopóki się nie zamknie. Jest to przydatne w sytuacjach przejściowych, w których nie potrzebujesz bardziej trwałego rozwiązania. Używam go rutynowo, aby na przykład wyodrębniać skompresowane pliki do chronionych folderów systemowych.

Syndog
źródło
2
Używanie sudoz aplikacjami graficznymi NIE jest dobrym pomysłem. Użyj gksulub jeśli musisz sudo -i.
Seth
2
@Seth: Zaktualizowano. Także ... Małe wyjaśnienie, dlaczego nie byłoby niedopuszczenia, zamiast tylko tajemniczego stwierdzenia, że ​​to nie jest dobry pomysł.
Syndog
Ciekawy wątek na ten temat: crunchbang.org/forums/viewtopic.php?id=8468
Syndog
1

Wysyłam to w odpowiedzi na pytanie, które @ Chris zadał w komentarzach:

Załóżmy, że chcesz utworzyć program uruchamiający, który otworzy „menedżera plików (nautilus)” jako root. Następnie możesz to zrobić:

Otwórz terminal. Rodzaj:

sudo -H gedit /usr/share/applications/nautilus_root.desktop

Wciśnij Enter. Gdy zostaniesz o to poproszony, wprowadź hasło logowania i naciśnij enter. Otworzy się gedit (edytor tekstu). Teraz wklej tam następujące:

[DesktopEntry]
Encoding=UTF-8
Name=Nautilus(Root)
Comment=FileManager
Exec=gksu nautilus
Icon=file-manager
Categories=System;
Type=Application
Terminal=0

Teraz po prostu zapisz i wyjdź. Gotowe. Teraz, jeśli szukasz w desce rozdzielczej, znajdziesz nowy program uruchamiający „Nautilus (root). Kliknięcie tego spowoduje podanie hasła, a po uwierzytelnieniu nautilus zostanie otwarty jako root.

Uwaga: zachowaj ostrożność podczas uruchamiania „Nautilus (root)”. W tym trybie możesz usunąć prawie wszystko /i zepsuć system.

Ciekawy uczeń
źródło
0

To może być komentarz do rozwiązania Daniela. Działa dla mnie, nawet w Ubuntu 15.04. Musiałem umieścić polecenie między cudzysłowami z Exec=gksu "nautilus --new-window"powodu dodatkowego argumentu. Ponadto, jakoś nie wiem dlaczego, musiałem edytować program uruchamiający bezpośrednio, aby zachować oryginalne menu (wraz z nową opcją). Jeśli przeciągniesz własny program uruchamiający, zostanie on zarejestrowany, ale nie będziesz mieć tego samego menu.

W Ubuntu 15.04, program uruchamiający nautilus to usr/share/applications/org.gnome.Nautilus.desktop. Musisz użyć wiersza polecenia, aby zobaczyć prawdziwą nazwę pliku.

Dalsze badania doprowadziły mnie do tego, co uważam za lepszą opcję: http://ubuntuhandbook.org/index.php/2014/04/ubuntu-14-04-add-open-as-rootadministrator-to-context-menu/ . Zamiast całkowicie otwierać Nautilusa jako root, pozwala to otwierać wybrane katalogi jako root w Nautilusie. W każdym razie sprawdziłem i te dwie opcje są kompatybilne. Jeśli otworzysz Nautilus jako root, a następnie użyjesz drugiej opcji, aby otworzyć katalog jako root, po prostu otworzy go bez pytania o hasło.

Dominic108
źródło