cmd/buildlet: disable screensaver on MacStadium Mac VMs
It was using some CPU.
Kinda useless to save a virtual screen.
Change-Id: If2ca5a39818e190b44f87299837a305cfe966c3c
Reviewed-on: https://go-review.googlesource.com/37493
Reviewed-by: Kevin Burke <kev@inburke.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/cmd/buildlet/buildlet.go b/cmd/buildlet/buildlet.go
index f005826..5018294 100644
--- a/cmd/buildlet/buildlet.go
+++ b/cmd/buildlet/buildlet.go
@@ -65,7 +65,8 @@
// 3: switched to revdial protocol
// 5: reverse dialing uses timeouts+tcp keepalives, pargzip fix
// 7: version bumps while debugging revdial hang (Issue 12816)
-const buildletVersion = 7
+// 8: mac screensaver disabled
+const buildletVersion = 8
func defaultListenAddr() string {
if runtime.GOOS == "darwin" {
@@ -1256,6 +1257,8 @@
// TODO: setup RAM disk for tmp and set *workDir
+ disableMacScreensaver()
+
version, err := exec.Command("sw_vers", "-productVersion").Output()
if err != nil {
log.Fatalf("failed to find sw_vers -productVersion: %v", err)
@@ -1277,6 +1280,13 @@
*hostname = vmwareGetInfo("guestinfo.name")
}
+func disableMacScreensaver() {
+ err := exec.Command("defaults", "-currentHost", "write", "com.apple.screensaver", "idleTime", "0").Run()
+ if err != nil {
+ log.Printf("disabling screensaver: %v", err)
+ }
+}
+
func vmwareGetInfo(key string) string {
cmd := exec.Command("/Library/Application Support/VMware Tools/vmware-tools-daemon",
"--cmd",