मैं जाकर के सीजीओ के रूप में निम्नलिखित ग उपयोग करना चाहते हैं:जाने + सीजीओ और जोड़ने
#include <X11/extensions/scrnsaver.h>
main() {
XScreenSaverInfo *info = XScreenSaverAllocInfo();
Display *display = XOpenDisplay(0);
XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
printf("%u ms\n", info->idle);
}
निर्माण के साथ:
gcc -o idle printXIdleTime.c -lX11 -lXss
मैं फिर से लिखा जाओ के सीजीओ के लिए कि कोड:
package tools
// #cgo pkg-config: x11
// #include <X11/extensions/scrnsaver.h>
import "C"
func GetIdleTime() (idleTime uint32) {
var info *C.XScreenSaverInfo
var display *C.Display
info = C.XScreenSaverAllocInfo()
display = C.XOpenDisplay(0)
defaultRootWindow := C.XDefaultRootWindow(display)
C.XScreenSaverQueryInfo(display, defaultRootWindow, info)
idleTime = info.idle
return
}
ने संकलन करने की कोशिश की:
go build -gccgoflags="-lXss -lX11"
लेकिन मैं हो रही है लिंकर त्रुटियों:
/tmp/go-build076004816/opensource.stdk/lib/tools/_obj/x11.cgo2.o: In function
_cgo_c0e279f6f16e_Cfunc_XScreenSaverAllocInfo': ./x11.go:52: undefined reference to
XScreenSaverAllocInfo' /tmp/go-build076004816/opensource.stdk/lib/tools/_obj/x11.cgo2.o: In function_cgo_c0e279f6f16e_Cfunc_XScreenSaverQueryInfo': ./x11.go:65: undefined reference to
XScreenSaverQueryInfo' collect2: error: ld returned 1 exit status
क्या मैं गलत कर रहा हूँ?
GOS XGB के साथ समस्या यह है, मैं नहीं है कि मेरे घर में एक .X प्राधिकरण मौजूद न्यूकॉन() संदेश के साथ विफल रहता है "कनेक्ट नहीं हो सकता" –
एक्सजीबी को एक चेतावनी संदेश उत्सर्जित करना चाहिए, लेकिन फिर भी कनेक्ट करें। क्या आप एक परीक्षण मामले और अपने पर्यावरण के विवरण के साथ एक बग रिपोर्ट जमा कर सकते हैं? https://github.com/BurntSushi/xgb/issues – BurntSushi5