विक्रेता स्टिंग() काम नहीं करता है, यह हमेशा सूर्य माइक्रोसिस्टम्स है, भले ही यह ज़ोरग सोलारिस के लिए बनाया गया हो।Xorg से Xsun, प्रोग्रामेटिक रूप से अंतर कैसे करें?
उत्तर
यह संभवतः थोड़ा हैकी है, लेकिन यदि आप Xsun और Xorg से लौटाए गए एक्सटेंशन की सूची देखते हैं तो आपको यह देखना चाहिए कि ज़ोरग में कुछ अतिरिक्त XFree86- व्युत्पन्न एक्सटेंशन हैं।
xdpyinfo
अंतरों की जांच के लिए कमांड लाइन के माध्यम से एक्सटेंशन सूचीबद्ध करने के लिए उपयोग किया जा सकता है; प्रोग्रामेटिक रूप से आप XListExtensions()
या XQueryExtension()
का उपयोग कर सकते हैं।
(मुझे Xsun X सर्वर नहीं मिला है, लेकिन मुझे पूरा यकीन है कि जब मैंने अतीत में देखा है तो उन्होंने काफी अबाउट किया है)।
$ xdpyinfo | grep vendor vendor string: The X.Org Foundation vendor release number: 10601901
यह लिनक्स पर xorg-server 1.6.1 है। उम्मीद है कि सोलारिस पर एक्सओआरजी और एक्सएसन यहां अलग-अलग होंगे।
उत्पादन इन दो क्षेत्रों के लिए, xdpyinfo
विक्रेता निर्धारित करने के लिए ServerVendor
macro कहता है, तो VendorRelease
macro अलग तरह से निर्भर करता है क्या पर ServerVendor
था की वापसी पार्स करता है।
वैसे, VendorString()
क्या है? मेरे पास उस नाम से कोई फ़ंक्शन या मैक्रो नहीं है ...
धन्यवाद! ओह, विक्रेता रीलिज़() स्ट्रिंग यह है। वैसे भी, दुर्भाग्य से हम इस स्ट्रिंग पर शर्त नहीं लगा सकते हैं। Xsun के साथ-साथ Xorg के लिए, यह अक्सर परेशानी के लिए पर्याप्त परिवर्तन करता है। मुझे उनके लिए और कई अन्य (व्युत्पन्न) सर्वरों जैसे Xvfb, Xnest इत्यादि के लिए एक समाधान मिल रहा है।
Xsun KP_ (numpad) कीकोड के लिए कुंजीपटलों की सरणी में तीसरे मान का उपयोग करता है। एक्सर्ग 1-सेंट या 2-एनडी का उपयोग करता है। एक स्निफ़र को पहले, केपी_ कीजिम के लिए एक कीकोड प्राप्त करना चाहिए, उदाहरण के लिए XK_KP_7, दूसरा, XKeycodeToKeysym (डी, कीकोड, [0-3]) में क्या है। XSun के लिए हमारे XK_KP_7 इंडेक्स 2 पर होंगे।
वाह, यह डेव के समाधान की तुलना में एक भी बदसूरत हैक की तरह लगता है, लेकिन जब तक यह काम करता है ...! – ephemient
यह यूनिट परीक्षण लिखने के लिए एक अच्छी जगह की तरह लगता है! –
केवल एक्ससुन में एडोब-डीपीएस होगा - सूर्य हमारे एक्सर्ग बंदरगाह में शामिल नहीं है। – alanc