Vraag Hoe kan ik de toepassing als root starten vanuit Unity Launcher?


Ik ben vooral op zoek naar een manier om een ​​toepassing vast te zetten op de Unity-startbalk en deze als root uit te voeren.

Momenteel, zelfs als ik de toepassing start met sudo, en vastgepend nadat deze is gestart, wordt deze de volgende keer als de huidige gebruiker gestart.

Triest, maar er is geen contextmenuoptie "uitvoeren als ...".

Bijwerken: Ik schakelde over op gnome3 en nu ben ik blij, ik mis alleen de zoekopdracht.


75
2018-04-04 10:05


oorsprong


Als u het risico kent om grafische apps als root uit te voeren en toch wilt doorgaan, volgt u stap 1 hier: askubuntu.com/a/118483/41562 - edm
Je begreep de vraag niet, ik weet hoe ik moet gebruiken sudo en ik heb het al gemunt. De vraag is hoe ik een snelkoppeling naar Ubuntu Unity launcher naar app kan maken die ik als root wil uitvoeren. - sorin
Voor een eenheidswerper weet ik het niet. Maar als u een bestand op uw bureaublad hebt en u wilt het als gksu uitvoeren, dan kunt u de extensie "nautilus execute" installeren. - Curious Apprentice


antwoorden:


Als u wilt dat de app altijd als root wordt uitgevoerd

  1. Pin de applicatie op de launcher zoals normaal.

  2. Zoek het .desktop-bestand van de toepassing dat zich in een van beide bevindt:

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • of ergens anders, gebruik locate .desktop|grep APPAME
  3. Open met gedit:

    gksudo gedit /usr/share/applications/APPNAME.desktop
    
  4. Verander dan de lijn

    Exec=APP_COMMAND
    

    naar

    Exec=gksudo -k -u root APP_COMMAND
    
  5. Opslaan

Deze opdracht houdt ook uw omgeving in de hand, wat erg handig is als u verbinding wilt maken met andere servers en uw privésleutel wilt gebruiken.

Een snellijstoptie toevoegen als 'Uitvoeren als root'

Volg stap 1, 2 en 3 hierboven

Als het opstartprogramma momenteel geen andere snellijstopties heeft, voegt u dit gewoon toe aan het einde van het document

X-Ayatana-Desktop-Shortcuts=Runroot

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

85
2018-04-04 11:53



Waarom is het zo extreem ingewikkeld om een ​​eenvoudige snelkoppeling in te stellen? Wat is er mis met de makers van ubuntu? - Sliq
Ik heb stap 1-5 gedaan en de applicatie vraagt ​​om een ​​wachtwoord, maar zal niet starten. - user1880405
voor gksudo opdracht, je moet installeren sudo apt-get install gksu - Arul
@Sliq heet de beveiliging ... Een bureaubladpictogram dat als root wordt uitgevoerd zonder een wachtwoord te hoeven gebruiken ... is erg gevaarlijk ... Voor mij is dit eigenlijk de vreugde van Linux ... Als ik een gemakkelijk leven wilde ... ik zou Windows als mijn hoofdsysteem gebruiken ... - Mayhem
@sliq "Waarom is het zo moeilijk om te grep vanaf de cmd-prompt? Wat is er mis met de makers van Windows?" - Makers van Ubuntu ... waarschijnlijk - thenaglecode


Typ in het hoofdmenu onder Systeemvoorkeuren gksudo in het Command-veld van Launcher Properties, bijvoorbeeld:

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

Uw veld Naam kan zeggen:

sudo ulicicatie

Zodat gebruikers weten dat ze een wachtwoord kunnen zien verschijnen en waarom ...

Ik ben niet zeker van Unity Launcher vs Main Menu. Misschien helpt dit?

Succes


4
2018-04-20 02:40



Je weet dat waarschijnlijk meteen sudo mag niet worden gebruikt om grafische toepassingen uit te voeren als root- na alles wat u gebruikt gksudo (dat is een van de goede manieren). Om dezelfde reden is het niet raadzaam om te gebruiken sudo in het naamveld zoals je hebt, omdat dit (1) de indruk wekt bij voldoende ervaren gebruikers dat je opstartprogramma verkeerd is gemaakt, en (2) bij minder ervaren gebruikers de indruk wekt dat het recht is om rechtstreeks te gebruiken sudo om grafische toepassingen uit te voeren als root. - Eliah Kagan


Het volgende lijkt hetzelfde te doen, zonder dat privékenmerken nodig zijn:

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
2018-06-24 20:50





Als een snel en eenvoudig alternatief voor de omslachtige eisen die hier in de antwoorden worden beschreven, heb ik de gewoonte om het volgende te doen ...

  1. Lanceer een nieuwe terminal.
  2. invoeren gksu nautilus

    (sudo -i nautilus werkt ook.)

Het resulterende venster valt onder de sudo-paraplu, dus je kunt het gebruiken om bestanden met sudo-root-rechten te openen en te starten naar hartenlust totdat het sluit. Dit is handig voor tijdelijke situaties waarbij u geen meer permanente oplossing nodig heeft. Ik gebruik het routinematig om gecomprimeerde bestanden te extraheren naar bijvoorbeeld beschermde systeemmappen.


2
2018-02-20 15:41



Gebruik makend van sudo met grafische toepassingen is NIET een goed idee. Gebruik gksu of als je moet sudo -i. - Seth♦
@Seth: Bijgewerkt. Ook ... Een kleine uitleg over waarom zou niet nalatig zijn, in plaats van gewoon cryptisch te zeggen dat het geen goed idee is. - Syndog
Een interessante thread over het onderwerp: crunchbang.org/forums/viewtopic.php?id=8468 - Syndog
hier: askubuntu.com/questions/11760/... - Seth♦


Ik plaats deze in-respone op de vraag @Chris gevraagd in reacties:

Stel dat u een opstartprogramma wilt maken waarin "bestandsbeheer (nautilus)" als root wordt geopend. Dan kunt u dit doen:

Open terminal. Type:

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

Druk op enter. Voer uw aanmeldingswachtwoord in wanneer dit wordt gevraagd en druk op Enter. Dit opent gedit (teksteditor). Plak hier het volgende:

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

Bewaar het nu en verlaat het. Je bent klaar. Als u nu op dash zoekt, vindt u een nieuwe launcher "Nautilus (Root)". Als u hierop klikt, wordt u om een ​​wachtwoord gevraagd en na verificatie wordt nautilus als root geopend.

Opmerking: wees voorzichtig als u "Nautilus (root)" gebruikt. In deze modus kunt u bijna alles verwijderen van / en breek het systeem.


1
2018-03-24 10:18





Dit zou misschien een commentaar moeten zijn op de oplossing van Daniel. Het werkt voor mij, zelfs in Ubuntu 15.04. Ik moest het commando tussen aanhalingstekens plaatsen Exec=gksu "nautilus --new-window"vanwege het extra argument. Op de een of andere manier, ik weet niet waarom, moest ik het startprogramma direct bewerken om het originele menu (samen met de nieuwe optie) te behouden. Als u uw eigen opstartprogramma sleept, wordt het geregistreerd, maar heeft u niet hetzelfde menu.

In Ubuntu 15.04 is de launcher voor nautilus usr/share/applications/org.gnome.Nautilus.desktop. U moet de opdrachtregel gebruiken om de echte bestandsnaam te zien.

Verder onderzoek leidde me naar wat volgens mij een betere optie is: http://ubuntuhandbook.org/index.php/2014/04/ubuntu-14-04-add-open-as-rootadministrator-to-context-menu/ . In plaats van Nautilus volledig als root te openen, kunt u hiermee geselecteerde mappen openen als root binnen Nautilus. Hoe dan ook, ik heb gecontroleerd, en deze twee opties zijn compatibel. Als u Nautilus als root opent en vervolgens de tweede optie gebruikt om een ​​map als root te openen, wordt deze eenvoudig geopend zonder het wachtwoord te vragen.


0
2017-10-03 11:19