paint-brush
90 के दशक के यूजर इंटरफेस के लिए एक प्रेम पत्र SerenityOS चल रहा हैद्वारा@ChrisChinchilla
2,705 रीडिंग
2,705 रीडिंग

90 के दशक के यूजर इंटरफेस के लिए एक प्रेम पत्र SerenityOS चल रहा है

द्वारा Chris Chinchilla5m2022/10/20
Read on Terminal Reader
Read this story w/o Javascript

बहुत लंबा; पढ़ने के लिए

SerenityOS आधुनिक युग के लिए एक रेट्रो प्रेरित ऑपरेटिंग सिस्टम है। यह पोस्ट दिखाता है कि मैंने इसे मैक पर कैसे चलाया और साथ ही प्रोजेक्ट के ब्राउज़र प्रोजेक्ट के साथ मेरे प्रयोग जो क्रोमियम या वेबकिट का उपयोग नहीं करते हैं।
featured image - 90 के दशक के यूजर इंटरफेस के लिए एक प्रेम पत्र SerenityOS चल रहा है
Chris Chinchilla HackerNoon profile picture


मुझे हमेशा ऑपरेटिंग सिस्टम और डेस्कटॉप वातावरण के साथ खिलवाड़ करना पसंद है। मेरा मानना है कि मेरा पहला ग्राफिकल ऑपरेटिंग सिस्टम AmigaOS था। दशकों में जब से मैंने विभिन्न विंडोज संस्करणों के माध्यम से काम किया है, 7.0 के बाद से मैकोज़ के हर संस्करण, विभिन्न लिनक्स स्वाद और संयोजन, और कई अन्य छोटे आला ओएस जिन्हें मैं विंडोज़ और मेनू के समुद्र में भूल गया हूं।


एक वैकल्पिक (शायद भविष्य?) जीवन में, मैं फिल्मों, टीवी शो और गेम के लिए काल्पनिक यूजर इंटरफेस बनाना चाहता हूं। मेरी पसंदीदा किताबों में से एक " मेक इट सो " है जो विज्ञान कथा और वास्तविक इंटरफेस में इंटरफेस के बीच तुलना करती है।


आपका पसंदीदा ऑपरेटिंग सिस्टम क्या है या क्या था? हमें इस लेखन संकेत का उपयोग करके बताएं


मैंने पहली बार सेरेनिटीओएस के बारे में चेंजलॉग पर एक समाचार के माध्यम से सुना। उन्होंने उल्लेख किया कि मुट्ठी भर ओपन-सोर्स प्रोग्रामर एक वैकल्पिक ब्राउज़र और ब्राउज़र इंजन, लेडीबर्ड पर काम कर रहे थे। यह मेरे लिए एक रोमांचक संभावना है क्योंकि मैं क्रोमियम-आधारित ब्राउज़र आधिपत्य से चिंतित हूं, और कुछ अन्य विकल्प हैं जो कसकर नियंत्रित नहीं हैं (वेबकिट) या धीरे-धीरे गायब हो रहे हैं (फ़ायरफ़ॉक्स)। लेडीबर्ड अभी तक पूरी तरह से चित्रित या तैयार होने का दिखावा नहीं करती है, लेकिन जल्दी से विकसित हो रही है।


फिर जैसे ही मैंने लेडीबर्ड में खोदा, मैंने पाया कि यह एक ऐसा ब्राउज़र था जिसे समान रूप से अद्वितीय ऑपरेटिंग सिस्टम के लिए डिज़ाइन किया गया था, और मैं उत्सुक था! स्पष्ट करने के लिए, Serenity कोई अन्य Linux या BSD त्वचा नहीं है। यह जमीन से ऊपर से बनाया गया कुछ है लेकिन आधुनिक और क्लासिक ओएस से समान रूप से प्रेरित है। इसका लक्ष्य दिन-प्रतिदिन के उपयोग के लिए पूरी तरह कार्यात्मक और प्रयोग करने योग्य ओएस बनना है।


इस पोस्ट में, मैं अपने M1 MacBookPro पर Ladybird और SerenityOS के निर्माण और संचालन को देखता हूं। Apple Silicon का उपयोग करने से कुछ जटिलताएँ उत्पन्न हुईं, लेकिन बहुत अधिक नहीं, और जब आप समस्याओं का अनुभव करते हैं तो प्रोजेक्ट का समुदाय सहायक और संचारी होता है।



लेडीबर्ड का निर्माण और संचालन

शुरुआत में SerenityOS HTML पुस्तकालयों के साथ एक ब्राउज़र बनाने में एक प्रयोग के रूप में बनाया गया था, हाल ही में, यह कुछ ऐसा हो गया जो एक नया क्रॉस-प्लेटफ़ॉर्म ब्राउज़र विकल्प हो सकता है।

यह क्यूटी यूआई पुस्तकालय का उपयोग करता है, इसलिए यह पूरी तरह से क्रॉस-प्लेटफ़ॉर्म नहीं दिखता है, लेकिन क्यूटी का समर्थन करने वाले सभी प्लेटफार्मों पर प्रयोग योग्य है और इसका मतलब यह होगा कि आगे की वृद्धि के लिए काफी गुंजाइश है।

मुझे आपकी पसंद के प्लेटफ़ॉर्म के लिए बिल्ड पूर्वापेक्षाएँ और निर्देशों का पालन करने में कोई समस्या नहीं थी। संस्करण 6.2 के बाद से, क्यूटी ऐप्पल सिलिकॉन का समर्थन करता है, इसलिए इनमें से किसी ने भी मुझे कोई समस्या नहीं दी। केवल इतना कि मुझे Xcode इंस्टॉल करना था। एक बिंदु था जहां केवल ऐप्पल के कमांड लाइन टूल्स को स्थापित करना पर्याप्त था, लेकिन मुझे लगता है कि मुझे ऐसे टूल की आवश्यकता है जो केवल एक्सकोड प्रदान करता है।


बिल्ड चरणों में थोड़ा समय लगता है, और फिर ब्राउज़र खुल जाना चाहिए। ब्राउज़र का प्रारंभिक ध्यान लोगों को उन अनुप्रयोगों को डीबग करने में मदद करना था जो वे Serenity की HTML लाइब्रेरी के साथ बना रहे थे, इसलिए बहुत सारे डिबगिंग टूल उपलब्ध हैं, लेकिन अभी तक अंतिम उपयोगकर्ताओं के लिए बहुत अधिक नहीं हैं। मैंने शुरू में एक फ़ॉन्ट रेंडरिंग समस्या का अनुभव किया, संभवतः मेरी रेटिना स्क्रीन के कारण, लेकिन Serenity Discord सर्वर में एक प्रश्न को त्वरित प्रतिक्रिया मिली (यह macOS के लिए विशिष्ट है)।


बिल्ड/लेडीबर्ड में निर्मित बाइनरी पर राइट-क्लिक करें और सामग्री/info.plist फ़ाइल खोलें (शायद Xcode में, लेकिन कोई भी संपादक करेगा। NSHighResolutionCapable के मान को "NO" में बदलें और फिर से लॉन्च करें। टेक्स्ट रेंडरिंग अभी भी थोड़ा दिखता है अजीब है, लेकिन यह पठनीय है।


मैंने देखा कि लेडीबर्ड ऑडियो या वीडियो प्रस्तुत नहीं करता है। क्या ऐसा इसलिए है क्योंकि इसने अभी तक HTML की उस सुविधा को लागू नहीं किया है या लाइसेंसिंग मुद्दों के कारण, मुझे यकीन नहीं है।

SerenityOS का निर्माण और संचालन

ब्राउज़र बनाना और चलाना एक बात है, संपूर्ण ऑपरेटिंग सिस्टम बनाना और चलाना पूरी तरह से अधिक जटिल है। जैसा कि Serenity को X86_64 सिस्टम के लिए डिज़ाइन किया गया है, इसका मतलब यह भी है कि Apple सिलिकॉन उपयोगकर्ता के रूप में, मुझे इसे एक अनुकरणीय वातावरण में चलाने की आवश्यकता है। सौभाग्य से, जैसा कि Serenity एक संपूर्ण OS है, समुदाय आमतौर पर मानता है कि आप इसे एक वर्चुअल मशीन में चलाना चाहते हैं और QEMU का उपयोग करने के लिए पहले से ही रन स्क्रिप्ट में चरण प्रदान कर चुके हैं। कुछ अतिरिक्त चरणों के साथ, आप ऐप्पल सिलिकॉन पर चलते समय भी यह काम कर सकते हैं, भले ही कुछ प्रदर्शन हिट हो।


सबसे पहले, मैंने मैकोज़ बिल्ड पूर्वापेक्षा निर्देशों का पालन किया, और लिनक्स उपयोगकर्ताओं के लिए, अलग-अलग पूर्वापेक्षा निर्देश हैं । फिर आप सामान्य बिल्ड निर्देशों पर वापस जा सकते हैं। इन सभी ने ठीक काम किया लेकिन एक लंबा समय लगा, जो एक ऑपरेटिंग सिस्टम के निर्माण के लिए उचित है।

प्रारंभ में, क्यूईएमयू चरण में सेरेनिटी चलाना विफल रहा, और मैंने पहले एक सामान्य मैकओएस वर्चुअलाइजेशन और इम्यूलेशन लेख के लिए क्यूईएमयू के साथ कुछ मुद्दों का अनुभव किया था, जिस पर मैं काम कर रहा हूं। हालाँकि, डिस्कॉर्ड सर्वर में एक और त्वरित प्रतिक्रिया और मेरे पास एक समाधान था।


लाइन 256 (लेखन के समय) पर run.sh में, निम्नलिखित जोड़ें:


 -machine pc-i440fx-7.0


वह पूरा ब्लॉक QEMU वर्चुअल मशीन को परिभाषित करता है जिसका Serenity उपयोग करेगा, और " pc-i440fx-7.0 " एक विशेष PC कॉन्फ़िगरेशन को परिभाषित करता है। इसे जोड़ने के बाद, Serenity चलाना काम कर गया। यह एक नकली प्रोसेसर का उपयोग करने के कारण पिछड़ा हुआ है, लेकिन केवल थोड़ा सा, हर बार जब मैं कुछ क्लिक करता हूं तो दूसरी देरी के साथ। दिन-प्रतिदिन के आधार पर प्रयोग करने योग्य नहीं है, लेकिन परीक्षण उद्देश्यों के लिए स्वीकार्य है।


Serenity में निश्चित रूप से शुरुआती Windows UI वाइब्स हैं लेकिन एक Linux मानसिकता के साथ। कोई आधिकारिक पैकेज मैनेजर नहीं है, लेकिन पोर्ट बनाने के लिए उपलब्ध हैं । इसके बजाय, यह OS बिल्ड के साथ बहुत सारे सामान्य एप्लिकेशन को बंडल करता है। एक कोड संपादक, एक ब्राउज़र (लेडीबर्ड नहीं), गेम और बहुत कुछ है।

वापस भविष्य में

ये लो। कुछ बदलावों और डाउनलोड और बिल्ड के लिए बहुत प्रतीक्षा के साथ, आप भी पूरी तरह से एक नया और अनूठा ब्राउज़र और ऑपरेटिंग सिस्टम चला सकते हैं! मुझे पूरी तरह से यकीन नहीं है कि Serenity प्रोजेक्ट का अंतिम लक्ष्य क्या है, क्योंकि यह मुख्य अनुरक्षकों के लिए एक जुनून परियोजना के लिए कुछ के रूप में शुरू हुआ और कुछ बड़ा हो गया। यह उन चीजों में से एक है जो मुझे परियोजना के बारे में पसंद है। यह पूरी तरह से उन लोगों द्वारा बनाया गया है जो कुछ ऐसा बनाने की प्रक्रिया का आनंद ले रहे हैं जिस पर उन्हें गर्व है, और ओपन-सोर्स दुनिया को इस तरह की और परियोजनाओं की आवश्यकता है।


यह Hacktoberfest का महीना है, यदि आप SerenityOS जैसे ओपन सोर्स प्रोजेक्ट्स से प्यार करते हैं, तो हमें इस प्रॉम्प्ट का उपयोग करके ओपन सोर्स में योगदान करने वाले अपने अनुभवों के बारे में बताएं


आपका पसंदीदा ऑपरेटिंग सिस्टम क्या है या क्या था? हमें इस लेखन संकेत का उपयोग करके बताएं