[Mac] Mac wechselt nicht mehr in den Ruhezustand

Ein Freund von mir hatte das Problem, dass sich sein Mac nicht mehr in den Ruhezustand versetzen lies. Er ist immer wieder aus dem Ruhezustand von selbst aufgewacht, obwohl er das nicht machen sollte. Wie sich rausstellte, war das Problem sein Drucker.

Mittels „pmset -g assertions“ im Terminal gab es folgende Informationen:

18.03.12 16:12:36 MEZ   
Assertion status system-wide:
   ChargeInhibit                           0
   PreventUserIdleDisplaySleep             0
   PreventUserIdleSystemSleep              0
   NoRealPowerSources_debug                0
   CPUBoundAssertion                       0
   EnableIdleSleep                         1
   PreventSystemSleep                      1
   DisableInflow                           0
   DisableLowPowerBatteryWarnings          0
   ExternalMedia                           1

Listed by owning process:
  pid 30: [0x0000012c0000001e] ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 
  pid 514: [0x0000012c00000202] PreventSystemSleep named: "org.cups.cupsd"

PreventSystemSleep zeigt an das es knarzt, sollte auf 0 sein. Unten in der Prozessliste sieht man dann, dass cupsd das problem verursacht. Er hat dann bei den Druckeinestellungen nachgeschaut, und irgendwie stand da was das der Drucker online oder schlafend wäre, was er aber nicht war. Das hatte sich dort restartresistent festgesetzt. Er hat es dann gelöscht. Anschliessend wurde der Drucker offline gezeigt und der Ruhezustand ging wieder.

[Mac] Maus und Tastatur sharen

Um über eine Tastatur und Maus mehrere Rechner zu steuern, gibt es mittlerweile diverse Softwarelösungen.

Teleport (Mac only)

Einfache und kostenlos zu installierende Lösung. Funktioniert einfach und ist bei mir jetzt im Einsatz.
http://abyssoft.com/software/teleport/

Synergy (Win, Mac, Linux)

Kostenlose Lösung, bei der unter Mac noch eine Konfigurationsdatei editiert werden muss.
http://synergy-foss.org/

ScreenRecyler (Mac, Clients auch Win)

Kommerzielle Lösung.
http://www.screenrecycler.com/

[Mac]: Tomcat und Apache verknüpfen mit Autostart

In diesem Post wird beschrieben, wie man auf seinem Mac einen Tomcat mit Autostart einrichtet und die Aufrufe über einen Apache Webserver an Tomcat weiterleiten lassen kann.

Einrichtung Tomcat

Auf aktuellen Macs ist standardmässig ein Apache 2 installiert. Dieser wird hier als Webserver genutzt.

Folgende Schritte sind zum Einrichten notwendig:

  1. Unter http://tomcat.apache.org/ eine passende Tomcat-Version herunterladen.
  2. Das heruntergeladene Archiv entpacken und das Verzeichnis nach „/Applications“ verschieben.
  3. Terminal öffnen und einen softlink auf das Tomcat-Verzeichnis erzeugen. Z.B.: „ln -s /Applications/apache-tomcat-7.0.6 /Applications/tomcat“
  4. Jetzt die Umgebungsvariablen für Tomcat setzen. Mit dem Editor seines Vertrauens (bei mir joe im Terminal) die Profildatei öffnen:
    „joe ~/.profile“
  5. Folgende Einträge einfügen:
    export JAVA_HOME=/Library/Java/Home
    export CATALINA_HOME=/Applications/tomcat
  6. Im Terminal ins Verzeichnis „/Applications/tomcat/bin“ wechseln und „./startup.sh“ ausführen und damit testen, ob Tomcat startet. Sollte es einen Permissionfehler geben, „chmod 755 /Applications/tomcat/bin/*.sh“ ausführen.
  7. Tomcat kann jetzt wieder mit „./shutdown.sh“ gestoppt werden.
  8. Um Zugriff auf die Manager-Oberfläche des Tomcats zu erlangen, fügt man in der Datei /Applications/tomcat/conf/tomcat-users.xml zwischen <tomcat-users></tomcat-users> folgendes ein:
    <user username=“yourmanageruser“ password=“asecretpassword“ roles=“manager-gui“ />

Damit läuft erstmal der Tomcat, muss aber noch manuell gestartet und gestoppt werden. Nächster Schritt ist die Einrichtung des Autostarts.

Autostart Tomcat

Mit dem Editor des Vertrauens die Datei „/Applications/tomcat/bin/launchd_wrapper.sh“ anlegen:

#!/bin/bash
function shutdown()
{
   date
   echo "Shutting down Confluence"
   $CATALINA_HOME/bin/catalina.sh stop
}
date
echo "Starting Confluence"
export CATALINA_PID=/tmp/$$

# Uncomment to increase Tomcat's maximum heap allocation
# export JAVA_OPTS=-Xmx512M $JAVA_OPTS
. $CATALINA_HOME/bin/catalina.sh start

# Allow any signal which would kill a process to stop Tomcat
trap shutdown HUP INT QUIT ABRT KILL ALRM TERM TSTP

echo "Waiting for `cat $CATALINA_PID`"
wait `cat $CATALINA_PID`
Zum Testen dieses Skript mit „/Applications/tomcat/bin/launchd_wrapper.sh“ aufrufen…es sollte sich NICHT selbst beenden. Mit Ctrl+C kann Tomcat wieder beendet werden.

Nun als „root“-User die Datei „/Library/LaunchDaemons/tomcat.plist“ anlegen:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Disabled</key>
        <false/>
        <key>EnvironmentVariables</key>
        <dict>
                <key>CATALINA_HOME</key>
                <string>/Applications/tomcat</string>
                <key>JAVA_HOME</key>
                <string>/Library/Java/Home</string>
        </dict>
        <key>Label</key>
        <string>Tomcat</string>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>/Applications/tomcat/bin/launchd_wrapper.sh</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>ServiceDescription</key>
        <string>Tomcat</string>
        <key>StandardErrorPath</key>
        <string>/Applications/tomcat/logs/launchd.stderr</string>
        <key>StandardOutPath</key>
        <string>/Applications/tomcat/logs/launchd.stdout</string>
        <key>UserName</key>
        <string>root</string>
</dict>
</plist>

Starten kann man den Tomcat-Service im Verzeichnis „/Library/LaunchDaemons/“ nun per:

"sudo launchctl load -w tomcat.plist"

Beendet wird der Tomcat-Service per:

"sudo launchctl unload -w tomcat.plist"

Tomcat sollte jetzt beim Starten des Macs von selbst hochfahren. Fehlt noch die Verknüpfung von Apache und Tomcat.

Verknüpfung Tomcat und Apache

Als „root“ mit einem Editor die Datei „/etc/apache2/other/tomcat.conf“ anlegen:

ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/

Jetzt noch mal den Apachen durchstarten:

"sudo apachectl graceful"

Jetzt sollte Tomcat über den Apachen ausgeliefert werden. Ein Test im Browser sollte mit „http://localhost/“ funktionieren.

Quellen:
————