it-swarm-eu.dev

Jak spustit aplikaci jako root z Unity Launcher?

Hlavně hledám způsob, jak připnout aplikaci na spouštěcí lištu Unity a spustit ji jako root.

V současné době, i když spustím aplikaci se Sudo a po spuštění ji připojím, spustí se příště jako aktuální uživatel.

Smutné, ale neexistuje možnost kontextového menu „Spustit jako ...“.

Aktualizace: Přepnul jsem na gnome3 a teď jsem šťastný, že mi chybí jen vyhledávání.

83
sorin

Pokud chcete, aby se aplikace vždy spouštěla ​​jako root

  1. Připněte aplikaci ke spouštěči jako obvykle.

  2. Vyhledejte soubor .desktop aplikací, který bude buď:

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • nebo někde jinde, použijte locate .desktop|grep APPAME
  3. Otevřít pomocí geditu:

    gksudo gedit /usr/share/applications/APPNAME.desktop
    
  4. Pak změňte řádek

    Exec=APP_COMMAND
    

    na

    Exec=gksudo -k -u root APP_COMMAND
    
  5. Uložit

Tento příkaz také udrží vaše prostředí, což je velmi užitečné, pokud se potřebujete připojit k jiným serverům a použít svůj soukromý klíč.

Přidání volby rychlého seznamu do 'Spustit jako root'

Postupujte podle kroků 1, 2 a 3 výše

Pokud spouštěč v současné době nemá žádné další možnosti rychlého seznamu, připojte jej na konec dokumentu

X-Ayatana-Desktop-Shortcuts=Runroot

[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity
91
edm

V hlavní nabídce v části Systém, Předvolby zadejte do pole Příkaz ve vlastnostech spouštěče hodnotu gksudo, např .:

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

Vaše jméno může říkat:

Vaše aplikace

Uživatelé tedy vědí, že se jim může zobrazit vyskakovací okno s heslem a proč ...

Nejsem si jistý Unity Launcher vs hlavní menu. Možná to pomůže?

Hodně štěstí

4
boolship

Jako rychlá a jednoduchá alternativa k těžkopádným požadavkům popsaným v odpovědích zde jsem si zvykl dělat následující ...

  1. Spusťte nový terminál.
  2. Zadejte gksu nautilus

    (Sudo -i nautilus funguje také.)

Výsledné okno spadá pod sudoský deštník, takže jej můžete použít k přístupu a spouštění souborů s právy sudo-root k obsahu vašeho srdce, dokud se nezavře. To se hodí pro přechodné situace, kdy nepotřebujete trvalejší řešení. Používám jej například k extrahování komprimovaných souborů do chráněných systémových složek.

2
Syndog

Zdá se, že následující postupuje totéž, aniž by bylo nutné mít soukromé atributy:

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
2
Daniel

Protože toto je stará otázka se starou odpovědí; Doplnit úžasné vysvětlení @ edm.

Od Ubuntu 18.04 a novějších je gksudo (gksu) zastaralé, a proto nemá v oficiálních repozitářích kandidáta na instalaci. Alternativou je použití pkexec.

Upravit soubor /usr/share/applications/APPNAME.desktop a změňte řádek

Exec=APP_COMMAND

na

Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY APP_COMMAND

Více podrobností o pkexec zde .

2

Zveřejňuji toto in-respone na otázku @ Chris zeptal se v komentářích:

Předpokládejme, že chcete vytvořit spouštěč, který jako root otevře „správce souborů (nautilus)“. Pak to můžete udělat:

Otevřete terminál. Typ:

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

Stiskněte Enter. Na požádání zadejte své přihlašovací heslo a stiskněte Enter. Tím se otevře gedit (textový editor). Nyní vložte následující:

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

Nyní ji uložte a ukončete. Jsi hotov. Nyní, pokud budete hledat na pomlčce, najdete nový launcher "Nautilus (Root)". Kliknutím na toto budete vyzváni k zadání hesla a po autentizaci bude nautilus otevřen jako root.

Poznámka: Buďte opatrní, pokud používáte „Nautilus (Root)“. V tomto režimu můžete vymazat téměř cokoli z / a přerušte systém.

1

To by snad mohl být komentář k Danielovu řešení. Funguje to pro mě, dokonce i v Ubuntu 15.04. Musel jsem dát příkaz mezi uvozovky Exec=gksu "nautilus --new-window" kvůli zvláštní argument. Také nějak nevím, proč jsem musel upravovat launcher přímo, abych zachoval původní menu (společně s novou možností). Pokud přetáhnete svůj vlastní spouštěč, zaregistruje se, ale nebudete mít stejnou nabídku.

V Ubuntu 15.04 je launcher pro nautilus usr/share/applications/org.gnome.Nautilus.desktop. K zobrazení skutečného názvu souboru musíte použít příkazový řádek.

Další výzkum mě dovedl k tomu, co považuji za lepší možnost: http://ubuntuhandbook.org/index.php/2014/04/ubuntu-14-04-add-open-as-rootadministrator-to-context -menu / . Namísto úplného otevření Nautilus jako Root vám to umožní otevřít vybrané adresáře jako Root v rámci Nautilus. Každopádně jsem to zkontroloval a tyto dvě možnosti jsou kompatibilní. Pokud otevřete Nautilus jako Root a poté druhou možností otevřete adresář jako Root, jednoduše jej otevře bez vyžádání hesla.

0
Dominic108