エラーを吐いて最後はスレーブがオフラインになる症状に遭遇しました。
Macへのスレーブ起動方法はSSHを利用しました。
java.io.IOException: Unexpected termination of the channel at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50) Caused by: java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2323) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2792) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:800) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298) at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:40) at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34) at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)起動時のJVMオプションに-Djava.awt.headless=trueを設定すると対応できました。
JenkinsのWikiにも載っていました。
-Djava.awt.headless=true X サーバが有効となっていない UNIX環境で jenkins を利用するときに、無用なトラブルに会わないために必要です。