CUPS: Drucker-Warteschlange neu starten

CUPS ist ein möchtiges Tool, um Drucker zentral zu verwalten. Allerdings macht CUPS in der Standard-Installation von SuSE manchmal sorgen, da der User „root“ nicht für das Admin-Interface (Erreichbar via Web-Browser unter der IP <your server>:631) freigeschaltet ist. Manchmal macht es auch Sinn, die Warteschlangen nur über die Konsole zu steuern.

  • lpstat -p zeigt die aktuellen Warteschlangen inklusive Status
  • lpstat -p -o zeigt zusätzlich auch die ausstehenden Druckaufträgean

Um eine Warteschlange neu zu starten, weil sich z.b. ein Netzwerkdrucker mal an einem Auftrag verschluckt hat und die weitere Bearbeitung der Druckaufträge nicht funktioniert, sind folgende Befehle gut:

  • /usr/bin/enable <printername> schaltet die Warteschlange wieder ein
  • /usr/sbin/accept <printername> erklärt CUPS, dass wieder Aufträge angenommen werden dürfen.

Entsprechend kann eine Warteschlange auch abgeschlatet werden, indem man folgende Befehle verwendet:

  • /usr/bin/disable <printername> schaltet die Warteschlange aus
  • /usr/sbin/reject <printername> weist CUPS an, keine weiteren Aufträge mehr anzunehmen

Socket-Programmierung in Java

Java als plattformunabhängige Programmiersprache unterstützt im Package java.net unmittelbar die Socket-Programmierung. Das zeigt die Betriebssystemunabhängigkeit des Socket-Konzeptes. Die Implementierung der Sockets für die verschiedenen Plattformen (Linux, Windows, Spezialsysteme) erfolgt in der Klassenbibliothek der virtuellen Maschine.

Die Klassen für die Socket-Programmierung sind Socket und ServerSocket. Folgendes Kurzbeispiel zeigt die Verwendung:

ServerSocket serverSocket = new ServerSocket(port);
//Serversocket mit bestimmter Portnummer erstellen
while(true) {
Socket clientSocket = serverSocket.accept();
//auf Anfragen warten
InputStream input = clientSocket.getInputStream();
//InputStream-Objekt öffnen
int data = input.read();
//Daten lesen
clientSocket.close();
//Verbindung schließen
}