Wie starte ich eine GUI-Anwendung als root bei der Benutzeranmeldung?

12

Ich möchte eine Gnome-Anwendung mit Root-Rechten bei der Anmeldung starten.

Ich habe versucht, ein Skript zum Starten hinzuzufügen update-rc.d myscript.sh defaults.

Es sieht so aus, als würde die Anwendung gestartet, aber sie ist nicht mehr vorhanden, wenn die Gnome-Benutzeroberfläche eintrifft.

Wie kann ich das machen?

benlad
quelle

Antworten:

12

Grafische Dinge als root auszuführen ist eine schlechte Idee für die Sicherheit, aber ich gehe davon aus, dass Sie das wissen und dass Sie alle anderen Methoden ausgeschöpft haben. Sie müssen zwei Dinge tun:

  1. Ermöglichen Sie Ihrem Benutzer, den Befehl sudoohne Kennwort auszuführen, indem Sie ihn bearbeiten /etc/sudoers. Hier finden Sie eine kurze Erklärung, aber Sie suchen nach so etwas:

    username ALL=(ALL:ALL) NOPASSWD:/path/to/command 
    

    Offensichtlich ersetzen Sie das usernameund /path/to/commanddurch echte Werte, stecken Sie das dort hinein und versuchen Sie es dann sudo -k /path/to/command(das -kbedeutet nur, dass Sie nach Ihrem Passwort gefragt werden, wenn es nichts besseres weiß - es wird Sie nicht fragen, ob Ihre Sudoer-Bearbeitung korrekt war).

  2. Starten Sie Ihre Anwendung automatisch über die standardmäßigen "Startup Applications" (Startup-Anwendungen) sudo /path/to/command

Und das ist es.

Oli
quelle
Wenn Sie in / etc / sudoers den Benutzernamen ALL = (ALL: ALL) NOPASSWD: / path / to / command eingeben, schlägt sudo mit einem Analysefehler fehl. ALL = NOPASSWD: / path / to / command scheint zu analysieren, fragt mich jedoch nach dem Kennwort, wenn ich den Befehl ausführe.
Benlad
1
Es sieht also so aus, als ob "Benutzername ALL = (ALL) NOPASSWD: / Pfad / zu / Befehl" in der sudoers-Datei an letzter Stelle stehen muss und auch "Benutzername ALL = (ALL: ALL) NOPASSWD: / Pfad / zu / Befehl" nicht funktioniert mit Ubuntu 8.04.
Benlad
5

Sie können versuchen, einen benutzerdefinierten Anwendungsstarter ( .desktopDatei) mit gksudo <command>dem Befehl as zu erstellen, der ausgeführt werden soll, und diesen Laucher den Autostart-Einstellungen ( System - Settings - Autostartoder Startup) hinzufügen . Eine andere Möglichkeit wäre, die .desktopDatei direkt in ~/.config/autostartoder (für alle Benutzer) zu platzieren./etc/xdg/autostart .

tohuwawohu
quelle