Kubuntu: Autostart mit sudo

Dr. Zito

Neu angemeldet
Registriert
6 Sep. 2013
Beiträge
27
Ort
Dortmund
Hallo,

ich benutze Kubuntu 14.04 LTS.

Ich möchte gerne "emulationstation" im Autostart haben.
Das klappt auch, wenn ich über

"Systemeinstellungen -> Systemverwaltung -> Starten und Beenden"

emulationstation auswähle. Da ich über das Programm gerne
meinen PC herunterfahren möchte, müsste ich irgendwie noch
ein "sudo" oder ähnliches anhängen.

Bis jetzt fährt er nicht runter sondern startet im Hintergrund ein
Terminal und erwartet eine Passworteingabe. Das würde ich gerne
vermeiden.

Kennt jemand die Einstellung, die ich setzen muss?
 
Du musst in der /etc/sudoers einen "NOPASSWD"-Eintrag für das gewünschte Kommando setzen. Wie das geht, ist beispielsweise beschrieben. Da das entsprechende Kommando so aber immer, auch ohne eigenes Zutun, mit root-Rechten gestartet werden kann, sollte man solche Einträge nur mit Bedacht setzen, da damit auch schnell Schindluder getrieben werden kann (z. B. wenn man auf einem Server [kw]sudo cat[/kw] oder ähnliche allgemeine Kommandos freigibt).
 
Reden wir von ? Wenn ja, dann sind Root-Rechte definitiv falsch. Eine Spiele-Emulationsfront sollte definitiv nicht mit Root-Rechten laufen.

Warum man jetzt über ein Spiele-Frontend den Rechner runterfahren lassen will, weiß ich nicht so recht.

An der Stelle ist dann Polkit besser geeignet (dass ich das mal empfehlen würde…). Damit erlaubst du bestimmten Usern ausschließlich das Runterfahren des Rechners, gibst ihnen aber keine Root-Rechte.

Zum Einlesen:

(Von 2010. Weiß nicht, ob das noch funktioniert)
 
Geht das unter Umständen nicht auch einfach über su statt über sudo? :unknown:

Bei Grafischen programmen sollte er doch sowieso "kdesu -u" (bei Kunbuntu) verwenden..... su ist für Text(Terminal) gedacht.

Edit: achja, alternative kannst du den einzelnen Benutzer oder Gruppen(Grafisch) die Rechte zuteilen die es benötigen:
 
Zuletzt bearbeitet:
  • Thread Starter Thread Starter
  • #6
Bei Grafischen programmen sollte er doch sowieso "kdesu -u" (bei Kunbuntu) verwenden..... su ist für Text(Terminal) gedacht.

Edit: achja, alternative kannst du den einzelnen Benutzer oder Gruppen(Grafisch) die Rechte zuteilen die es benötigen:

Kannst du mir erklären, wie das geht? Ich finde dort in einer langen Liste meinen Login. Beim Klick auf meinen Namen habe ich dann die Reiter "Benutzerinformationen" "Passwortverwalrung" "Gruppen".

Wie kann ich mir jetzt die Rechte zuweisen, dass ich das Programm so im Autostart habe, dass ich ohne Passworteingabe den PC runterfahren kann?

Warum man jetzt über ein Spiele-Frontend den Rechner runterfahren lassen will, weiß ich nicht so recht.
Weil ich mir einen kleinen mini PC zusammengestellt habe, an den nur ein XBOX Controller angeschlossen ist. Will nach ner Spielerunde bequem per Controller den PC herunterfahren und nicht aufstehen müssen, Tastatur anschließen und dann ein Passwort eintippen müssen.

Mit Polkit komme ich leider nicht klar.
 
Wie kann ich mir jetzt die Rechte zuweisen, dass ich das Programm so im Autostart habe, dass ich ohne Passworteingabe den PC runterfahren kann?
Wichtig wäre erst mal die Beantwortung der Frage:

Kann das Programm selbst den Rechner runterfahren, oder kannst du im Programm einen Befehl zum Runterfahren angeben, d.h. irgendwas Optionen -> Kommando Rechner runterfahren -> [Texteingabefeld]?
  1. Programm fährt selbst den Rechner runter. Dazu muss das Programm Rootrechte haben, also müsstest du das Programm selbst mit Adminrechten (su, sudo, kdesu, gtksu, ...) starten. Das ist falsch, Müll, verwerflich, unverantwortlich, schlecht. Für diese Konstellation solltest du ausschließlich Polkit verwenden, da du mit Polkit explizit einem angegebenen lokal angemeldeten User das Recht gibst, den Rechner runterzufahren, d.h. nicht dem Programm. Und der User bekommt damit auch keine Rootrechte.
  2. Programm hat in den Optionen eine Kommandozeile: Dann kannst du dort: sudo shutdown -h now angeben. Nötige Systemänderungen gibt's nachzulesen.

Mit Polkit komme ich leider nicht klar.
Polkit ist nicht gerade leicht verständlich. Aber bei einem Doktortitel sollte man etwas Einarbeitungskompetenz erwarten können. Versuch mal Folgendes:

/etc/polkit-1/localauthority/50-local.d/user_shutdown.pkla
Code:
Expand Collapse Copy
[Actions for xxxUserxxx user]
Identity=unix-user:xxxUserxxx
Action=org.freedesktop.login1.*;org.freedesktop.udisks.*
ResultActive=yes
ResultInactive=yes
ResultAny=auth_admin
xxxUserxxx ersetzt du bitte durch den User, unter dem Dein Emulationstation läuft. Sofern es in dem o.g. Pfad Verzeichnisse bei Dir nicht gibt, leg sie an!

Wenn ich nichts vergessen hab, sollte das eigentlich reichen. Wie gesagt, sudo und Derivate sind in diesem Fall der falsche Weg, da dann EmulationStation mit Root-Rechten ausgestattet wird. Microsoft hat viele Jahre benötigt, dass diese Unart in Windows langsam verschwindet. In Linux wollen wir damit gar nicht erst anfangen.
 
  • Thread Starter Thread Starter
  • #8
Ich behelf mir jetzt einfach damit, dass ich den Powerbutton am Gehäuse drücke, dann fährt der Rechner auch runter. Ist von allen Optionen die einfachste und ich muss nicht weiter rumprobieren.
Ist zwar nicht elegant, weil ich aufstehen muss - aber das muss ich eh um den Stecker zu ziehen. :coffee:
 
Hast du ausprobiert, was ich einen Beitrag darüber geschrieben hab? Oder war Dir das einfach zuviel Text?
 
  • Thread Starter Thread Starter
  • #10
Zu aufwendig. Muss erst wieder den PC ins Arbeitszimmer tragen, weil nur dort Internet ist und dann noch Tastatur anschließen. Am Wochenende vielleicht, aber so funzt es ja jetzt auch. Sei mir nicht böse, danke für das Engagement.
 
Zurück
Oben