PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cups Oberfläche (:631) mit .pl Script erweitern. Wie?



Hoomer
17.11.05, 13:48
Moin

es werkelt ein alter Siemens PCD5H als Cupsserver in meinem Hausnetz. Der Drucker HP5MP wird mit Strom vom Monitorausgang des Netzteils versorgt. Wenn ich drucken will setzte ich ein WOL Paket ab, der PC fährt hoch und der Drucker geht an.
Alles funktioniert prima.
Zum Runterfahren habe ich ein Script mit fping geschrieben, dass über cron gesteuert, alle 15 Minuten schaut, ob einer der PCs ( die drucken könnten ) noch im Netz ist, ansonsten wird per shutdown runtergefahren.
Alles funktionierte prima, bis Madam ein XP SR2 Notebook bekommen hat und die Firewall den Ping nicht mehr zulässt....:mad:

Jetzt meine Frage:
Ich möchte die html Seiten der Cupsoberfläche ( Jobverwaltung usw. ) verändern und einen Link einfügen, der den PC herunterfährt. Anleitungen für Apache habe ich gefunden, dummerweise lässt Cupswebsoftware (:confused: ) kein .pl Script zu. Anscheinend funktionieren nur komplette CGIs.

Was ich vermeiden möchte:
Über Putty / Plink einen Rootbefehl absetzten
die Installation von Apache
an Madams Notebook etwas einstellen

Kann jemand helfen?

Falls ich mich unverständlich ausgedrückt habe bitte fragen.

Viele Grüße

Frank

marce
17.11.05, 14:08
als einfachster Hack: Nenne das Perl- oder Shell-Script doch einfach .cgi - solange es ausführbar ist und in der ersten Zeile über #! der Interpreter angegeben ist sollte das funzen...

Hoomer
17.11.05, 22:18
Tja, umbenennen war wohl zu einfach..... :rolleyes:

also: ich habe die index.html aus /usr/share/doc/cups so verändert:


....... <H1><A HREF="admin">Do Administration Tasks</A></H1>
<H1><A HREF="classes">Manage Printer Classes</A></H1>
<H1><A HREF="documentation.html">On-Line Help</A></H1>
<H1><A HREF="jobs">Manage Jobs</A></H1>
<H1><A HREF="printers">Manage Printers</A></H1>
<H1><A HREF="http://www.cups.org">Download the Current CUPS Software</A></H1
<H1><A HREF="runter">Lindrucker herunterfahren</A></H1> ..........

Ich habe die runter.pl in runter.cgi umbenannt.
Inhalt:


lindrucker:/usr/lib/cups/cgi-bin # cat runter.cgi
#!/usr/bin/perl print "Content-Type: text/html\n\n"; print "<html>\n";
print "<head>\n"; print "<title>DruckServer runterfahren</title>";
print "</head>\n"; print "<body>\n";
print "<h1>Der PC wird runtergefahren</h1>\n";
print "</body>\n";
print "</html>\n";
#system ("/sbin/shutdown -h now");

Die # ist zum testen. ./runter.cgi oder ./runter.pl oder '/usr/bin/perl runter.pl' fährt den PC wie gewünscht runter.
Fazit:
in der index.html die runter.pl angegeben = Datei wird heruntergeladen
in der index.html die runter (runter.cgi) angegeben = 404 nix gefunden

Was kann ich weiter probieren?

Die Variante mit telnet auf port 182 aus einem anderen Thread scheitert an inetd.conf mit anderer Syntax....

Gruß Frank