Server über PS3 herunterfahren

Ich bin gerade total aus dem Häuschen. Eigentlich ist es total billig gelöst, aber ich kann jetzt von meiner Playstation 3 mein NAS ausschalten auf dem die Mediendaten liegen, die ich mir auf der PS3 (Streaming) anschauen möchte.

Dazu habe ich ps3mediaserver (eine in Java implementierte Open Source Software für DLNA-Streaming) die ich verwende angepasst. Ich habe also einen neuen Menüpunkt hinzugefügt, der mittels der Java Funktion Runtime.getRuntime.exec(String) die Shutdown Binary von Ubuntu aufruft und den Server ausschaltet.

Angepasster Quelltext (PMS.java)

// Menüpunkt um Server herunterzufahren
// Klaus Meyer, 26.02.2010
// http://www.klaus-meyer.net
// Have fun
vf.addChild(new VirtualVideoAction("::: Server ausschalten :::", true) {
   public boolean enable() {
      try {
         System.out.println("::: Shutdown :::");
         // Terminal Befehl zusammenbauen
         String [] command = new String [] {
             "sudo"
            ,"shutdown"
            ,"-h"
            ,"now"
         };
         // Befehl ausführen
         Process proc = Runtime.getRuntime().exec(command);
         // Waren bis Prozess durchgelaufen
         proc.waitFor();
         // Debugausgabe
         BufferedReader buff = new BufferedReader(new InputStreamReader(proc.getInputStream()));
         String currentLine;
         while ((currentLine = buff.readLine()) != null) {
            System.out.printf(">%s\n",currentLine);
         }
         System.out.println("::: Ende Shutdown-Vorgang :::");
         // PS3 Mediaserver beenden
         System.exit(0);

      } catch (Exception e) {
         System.out.println("::: Shutdown nicht möglich :::");
      }
      return true;
   }
});
// End of Changes

Hier findet ihr den Patch für die SVN Revision 410 des PS3Mediaserver und ein fertiges Tarball zum Download: http://downloads.klaus-meyer.net/other/PS3MediaServer/ Eventuell läuft der Patch auch noch mit späteren Versionen.

Um den Shutdown zu erlauben, müsst Ihr unter Ubuntu z.B. noch die /etc/sudoers Datei anpassen (bitte sudo visudo verwenden) in meinem Fall ist meyer der Benutzer unter dem der PMS läuft:

meyer ALL = NOPASSWD: /sbin/shutdown -h now

Ich wünsche euch viel Spaß damit, falls ihr es auch verwenden möchtet.

Du kannst eine Antwort hinterlassen, oder einen Trackback von deiner eigenen Seite senden.

Hinterlasse eine Antwort

(erforderlich)
(wird nicht veröffentlicht, erforderlich)
(erforderlich)