هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان

TL، ڊاڪٽر: هائيڪو هڪ آپريٽنگ سسٽم آهي جيڪو خاص طور تي پي سيز لاءِ ٺهيل آهي، تنهن ڪري ان ۾ ڪيتريون ئي چالون آهن جيڪي هن جي ڊيسڪ ٽاپ ماحول کي ٻين کان وڌيڪ بهتر بڻائين ٿيون. پر اهو ڪيئن ڪم ڪندو آهي؟

تازو مون دريافت ڪيو هائيڪو، هڪ غير متوقع طور تي سٺو سسٽم. مان اڃا تائين حيران آهيان ته اهو ڪيترو آساني سان هلندو آهي، خاص طور تي لينڪس ڊيسڪ ٽاپ ماحول جي مقابلي ۾. اڄ مون کي هود هيٺ هڪ نظر وٺندس. جتي ضروري سمجھڻ لاءِ ضروري آھي، مان اصل Macintosh، Mac OS X ۽ Linux ڊيسڪ ٽاپ ماحوليات (freedesktop.org کان XDG معيار) سان مقابلو ڪندس.

ELF فائلن ۾ وسيلا

ڪالهه مون سکيو ته IconOMatic ELF executables ۾ rdef وسيلن ۾ آئڪن کي محفوظ ڪري سگهي ٿو. اڄ مان ڏسڻ چاهيان ٿو ته اهو ڪيئن ڪم ڪري ٿو.

وسيلن؟ اشارو от بروس هارن, Macintosh Finder جو اصل ليکڪ ۽ Macintosh ريسورس مئنيجر جو ”پيءُ“:

مان روايتي ڪوڊنگ جي سخت نوعيت بابت پريشان آهيان. منهنجي لاءِ، ڪوڊ ۾ منجمد ٿيل ايپليڪيشن جو تمام گهڻو خيال، ڪنهن به شيءِ کي متحرڪ طور تي تبديل ڪرڻ جي صلاحيت کان سواءِ، سڀ کان وڏو وحشي آهي. رن ٽائم تي جيترو ممڪن ٿي سگھي تبديل ڪرڻ گھرجي. يقينا، ايپليڪيشن ڪوڊ پاڻ کي تبديل نٿو ڪري سگهجي، پر ضرور ڪوڊ کي ٻيهر ترتيب ڏيڻ کان سواء ڪجهه تبديل ٿي سگهي ٿو؟

اصل Macintosh تي، هنن انهن فائلن کي ”ڊيٽا سيڪشن“ ۽ ”ريسورس سيڪشن“ ٺاهيو آهي، جنهن شين کي محفوظ ڪرڻ ناقابل يقين حد تائين آسان بڻائي ڇڏيو آهي جهڙوڪ آئڪن، ترجما وغيره. قابل عمل فائلن ۾.

Mac تي اهو استعمال ڪيو ويندو آهي ٻيهر ترميم ڪريو, هڪ گرافڪ پروگرام لاءِ - اوچتو - تدوين وسيلن.

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
اصل Macintosh تي ٻيهر ترميم ڪريو

نتيجي طور، آئڪن، مينيو شيون، ترجما وغيره کي تبديل ڪرڻ ممڪن ٿي ويو. ڪافي آسان، پر اهي اڃا تائين "سفر" ايپليڪيشنن سان.
ڪنهن به صورت ۾، هن طريقي سان هڪ وڏي خرابي هئي: اهو صرف ايپل فائل سسٽم تي ڪم ڪيو، جنهن جو هڪ سبب اهو هو ته ايپل "وسائل سيڪشن" کي ڇڏي ڏنو جڏهن Mac OS X ڏانهن منتقل ڪيو ويو.
Mac OS X تي، ايپل هڪ فائيل سسٽم-آزاد حل چاهيندو هو، تنهن ڪري انهن پيڪيجز جو تصور اختيار ڪيو (NEXT کان)، ڊائريڪٽريز جن کي فائل مئنيجر طرفان ”اوپيڪ آبجیکٹ“ طور سمجهيو وڃي ٿو، جهڙوڪ فائلون بجاءِ ڊائريڪٽري. فارميٽ ۾ ايپليڪيشن سان ڪو به پيڪيج .app ٻين شين جي وچ ۾، هڪ فائل آهي Info.plist (ڪجهه قسم جي ايپل جي JSON يا YAML جي برابر) جنهن ۾ ايپليڪيشن ميٽا ڊيٽا شامل آهي.

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
Mac OS X ايپليڪيشن پيڪيج مان Info.plist فائل لاءِ چاٻيون.

وسيلا، جهڙوڪ آئڪن، UI فائلون، ۽ ٻيا، فائلن جي طور تي پيڪيج ۾ محفوظ ٿيل آهن. اهو تصور اصل ۾ پنهنجي جڙڙن ڏانهن واپس ويو NeXT.

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
1.0 ۾ NeXTSTEP 1989 تي Mathematica.app: ٽرمينل ۾ فائلن جي ڊاريڪٽري طور ظاهر ٿئي ٿو، پر گرافڪ فائل مئنيجر ۾ ھڪڙي اعتراض جي طور تي.

اچو ته BeOS ڏانھن موٽيون، اھي تصور جن تي ھائيڪو ٻڌل آھي. ان جي ڊولپرز، جڏهن PEF (PowerPC) کان ELF (x86) (جيئن ته لينڪس تي استعمال ڪيو ويو) کي تبديل ڪرڻ جو فيصلو ڪيو، ELF فائلن جي آخر ۾ وسيلن جي سيڪشن کي شامل ڪرڻ جو فيصلو ڪيو. اهو پنهنجو مناسب ELF سيڪشن استعمال نه ڪيو، اهو صرف ELF فائل جي آخر ۾ شامل ڪيو ويو. پروگرام جي نتيجي ۾ strip ۽ ٻيا binutils کان، هن کان واقف نه آهن، بس ان کي ڪٽي ڇڏيو. تنهن ڪري، جڏهن BeOS تي ELF فائل ۾ وسيلن کي شامل ڪيو وڃي، اهو بهتر نه آهي ته ان کي لينڪس اوزار سان هٿي وٺن.

هائيڪو سان هاڻي ڇا پيو ٿئي؟ بنيادي طور تي، گهٽ يا گهٽ ساڳيو.

نظريي ۾، اهو ممڪن ٿيندو ته وسيلن کي ELF جي گهربل حصي ۾ رکڻ لاء. irc.freenode.net تي #haiku چينل تي ڊولپرز جي مطابق:

ELF سان سيڪشن وڌيڪ معنيٰ ۾ آڻيندو... صرف اهو ئي سبب آهي جو اسان ان طريقي سان نٿا ڪريون ڇاڪاڻ ته اهو BeOS ۾ انهي طريقي سان ڪيو ويو آهي.
۽ هاڻي ان کي تبديل ڪرڻ جو ڪو به مطلب ناهي.

وسيلن جو انتظام

وسيلا هڪ منظم "وسيع" جي شڪل ۾ لکيل آهن: بنيادي طور تي وسيلن جي هڪ فهرست ۽ پوءِ انهن جو مواد. مون کي ياد آيو ar فارميٽ.
هائيڪو ۾ وسيلن جي جانچ ڪيئن ڪجي؟ ResEdit وانگر ڪا شيء آهي؟
جي مطابق دستاويز:

ائپليڪيشن پيڪيج ۾ مهيا ڪيل وسيلن کي ڏسڻ لاء، توهان هڪ پروگرام تي عمل ڪندڙ فائل کي ڇڪي سگهو ٿا جهڙوڪ وسيلن وارو. توھان پڻ ٽرمينل ڏانھن وڃو ۽ حڪم هلائي سگھو ٿا listres имя_файла.

Resourcer HaikuDepot ۾ موجود آهي، پر اهو صرف منهنجي لاءِ حادثو آهي.

ELF فائلن ۾ وسيلن کي ڪيئن منظم ڪجي؟ استعمال ڪندي rsrc и rdef. rdef فائلون گڏ ڪيون وينديون آهن rsrc. فائل rdef سادي ٽيڪسٽ فارميٽ ۾ ذخيرو ٿيل آهي، تنهنڪري اهو ڪم ڪرڻ تمام آسان آهي. فائل فارميٽ rsrc ELF فائل جي آخر ۾ شامل ڪيو ويو. اچو ته کيڏڻ جي ڪوشش ڪريون:

~> rc -h
Haiku Resource Compiler 1.1To compile an rdef script into a resource file:
    rc [options] [-o <file>] <file>...To convert a resource file back into an rdef script:
    rc [options] [-o <file>] -d <file>...Options:
    -d --decompile       create an rdef script from a resource file
       --auto-names      construct resource names from ID symbols
    -h --help            show this message
    -I --include <dir>   add <dir> to the list of include paths
    -m --merge           do not erase existing contents of output file
    -o --output          specify output file name, default is out.xxx
    -q --quiet           do not display any error messages
    -V --version         show software version and license

توھان پروگرام استعمال ڪري سگھو ٿا xres چڪاس ۽ ڪنٽرول لاء:

/> xres
Usage: xres ( -h | --help )
       xres -l <file> ...
       xres <command> ...The first form prints this help text and exits.The second form lists the resources of all given files.The third form manipulates the resources of one or more files according to
the given commands.
(...)

ٺيڪ، اچو ته ڪوشش ڪريون؟

/> xres -l /Haiku/system/apps/WebPositive/Haiku/system/apps/WebPositive resources:type           ID        size  name
------ ----------- -----------  --------------------
'MIMS'           1          36  BEOS:APP_SIG
'APPF'           1           4  BEOS:APP_FLAGS
'MSGG'           1         421  BEOS:FILE_TYPES
'VICN'         101        7025  BEOS:ICON
'VICN'         201          91  kActionBack
'VICN'         202          91  kActionForward
'VICN'         203         300  kActionForward2
'VICN'         204         101  kActionStop
'VICN'         206         243  kActionGoStart
'MSGG'         205        1342  kActionGo
'APPV'           1         680  BEOS:APP_VERSION

وسيلن ۽ فارميٽ بابت وڌيڪ rdef توهان پڙهي سگهو ٿا هتي.

معياري وسيلن جي قسمن

جيتوڻيڪ توهان وسيلن ۾ ڪا به شيء وجهي سگهو ٿا، اتي ڪجھ بيان ڪيل معياري قسم آهن:

  • app_signature: MIME ايپليڪيشن جو قسم، فائل اوپن ميپنگ لاءِ، لانچ، IPC، وغيره.
  • app_name_catalog_entry: جيئن ته ايپليڪيشن جو نالو عام طور تي انگريزيءَ ۾ هوندو آهي، تنهن ڪري توهان انهن هنڌن جي وضاحت ڪري سگهو ٿا جتي ترجمو ڪيل نالا موجود آهن، ته جيئن مختلف ٻولين جا استعمال ڪندڙ ترجمو ڪيل ايپليڪيشن جو نالو ڏسندا، جيڪڏهن گهربل هجي.
  • app_version: بلڪل جيڪو توهان سوچيو
  • app_flags: اشارو registrar ايپليڪيشن کي ڪيئن پروسيس ڪيو وڃي. مان سمجهان ٿو ته ان ۾ اکين سان ملڻ کان وڌيڪ آهي. مثال طور، اتي آهي B_SINGLE_LAUNCH، جيڪو سسٽم کي مجبور ڪري ٿو هڪ نئين ايپليڪيشن پروسيس کي لانچ ڪرڻ لاءِ هر ڀيري صارف ان جي درخواست ڪري ٿو (ساڳيو اصول لينڪس تي اڪثر ايپليڪيشنن لاءِ استعمال ڪيو ويندو آهي). کائو B_MULTIPLE_LAUNCH، عمل کي هلائڻ جو سبب بڻيو هر فائل. آخرڪار اتي آهي B_EXCLUSIVE_LAUNCH، جيڪو سسٽم کي هڪ وقت ۾ صرف هڪ عمل کي شروع ڪرڻ تي مجبور ڪري ٿو، نه ته صارف ان کي ڪيترا ڀيرا لانچ ڪندا آهن (مثال طور، هي ڪيئن فائر فاڪس لينڪس تي هلندو آهي؛ ساڳيو نتيجو حاصل ڪري سگهجي ٿو Qt ايپليڪيشنن ۾ فنڪشن استعمال ڪندي QtSingle ايپليڪيشن). اپليڪيشن سان گڏ B_EXCLUSIVE_LAUNCH اطلاع ڏنو ويندو آهي جڏهن صارف انهن کي ٻيهر هلائڻ جي ڪوشش ڪندو آهي: مثال طور، انهن کي فائل جو رستو ملي ٿو جيڪو صارف انهن جي مدد سان کولڻ چاهي ٿو.
  • vector_icon: ویکٹر ايپليڪيشن آئڪن (BeOS وٽ ویکٹر آئڪن نه هئا، اڪثر ايپليڪيشنن جي بدران انهن جي قابل عمل فائلن ۾ ٻه راسٽر آئڪن هئا).

يقينا، توهان وسيلن کي شامل ڪري سگهو ٿا ڪنهن به گهربل IDs ۽ قسمن سان، ۽ پوء انهن کي پڙهو ايپليڪيشن ۾ يا ٻيون ايپليڪيشنون استعمال ڪندي ڪلاس. BResources. پر پهرين، اچو ته نظر اچن ٿا دلچسپ موضوع جي icons.

هائيڪو انداز ۾ ویکٹر آئڪن

يقينن، نه رڳو هائيڪو چونڊيو بهترين آئڪن فارميٽ؛ هن حصي ۾، لينڪس ڊيسڪ ٽاپ ماحول جي صورتحال مثالي کان پري آهي:

me@host:~$ ls /usr/share/icons/hicolor/
128x128  256x256  512x512           index.theme
160x160  28x28    64x64             scalable
16x16    32x32    72x72             symbolic
192x192  36x36    8x8
22x22    42x42    96x96
24x24    48x48    icon-theme.cache

ان کي ڏسي توهان اڳ ۾ ئي محسوس ڪري سگهو ٿا ته اهو ڇا آهي.

يقينن، اتي اسپيبلبل آهي، جنهن ۾ شامل آهي، جيئن توهان سمجهي سگهو ٿا، ویکٹر آئڪن. پوءِ ٻيو ڪجهه ڇو آهي؟ ڇو ته ننڍي سائيز ۾ ویکٹر گرافڪس ڊرائنگ جو نتيجو مثالي کان گهٽ ٿي سگهي ٿو. مان چاهيان ٿو ته مختلف اختيارن کي مختلف سائزن لاءِ بهتر بڻايو وڃي. لينڪس ڊيسڪ ٽاپ ماحول ۾، اهو حاصل ڪيو ويو آهي مختلف سائزن جي آئڪن کي پکيڙڻ سان سڄي فائل سسٽم ۾.

me@host:~$ find /usr/share/icons/ -name 'firefox.*'
/usr/share/icons/HighContrast/16x16/apps/firefox.png
/usr/share/icons/HighContrast/22x22/apps/firefox.png
/usr/share/icons/HighContrast/24x24/apps/firefox.png
/usr/share/icons/HighContrast/256x256/apps/firefox.png
/usr/share/icons/HighContrast/32x32/apps/firefox.png
/usr/share/icons/HighContrast/48x48/apps/firefox.png
/usr/share/icons/elementary-xfce/apps/128/firefox.png
/usr/share/icons/elementary-xfce/apps/16/firefox.png
/usr/share/icons/elementary-xfce/apps/22/firefox.png
/usr/share/icons/elementary-xfce/apps/24/firefox.png
/usr/share/icons/elementary-xfce/apps/32/firefox.png
/usr/share/icons/elementary-xfce/apps/48/firefox.png
/usr/share/icons/elementary-xfce/apps/64/firefox.png
/usr/share/icons/elementary-xfce/apps/96/firefox.png
/usr/share/icons/hicolor/128x128/apps/firefox.png

مهرباني ڪري نوٽ ڪريو: فائر فاڪس جي مختلف نسخن جو ڪو تصور ناهي. اهڙيء طرح، اهو ممڪن ناهي ته سسٽم تي ايپليڪيشن جي ڪيترن ئي نسخن جي صورتحال کي منظم ڪرڻ لاء.

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
مختلف نسخن ۾ مختلف فائر فاکس شبیہیں. هن وقت لينڪس ۾ مختلف ڪچين کان سواءِ هن کي سنڀالڻ ناممڪن آهي.

Mac OS X ان کي ٿورو وڌيڪ ذليل طور سنڀاليندو آهي:

Mac:~ me$ find /Applications/Firefox.app | grep icns
/Applications/Firefox.app/Contents/MacOS/crashreporter.app
/Contents/Resources/crashreporter.icns
/Applications/Firefox.app/Contents/MacOS/updater.app/Contents/Resources/updater.icns
/Applications/Firefox.app/Contents/Resources/document.icns
/Applications/Firefox.app/Contents/Resources/firefox.icns

اهو ڏسي سگهجي ٿو ته اتي هڪ فائيل آهي firefox.icns پئڪيج ۾ Firefox.app، سڀني سائزن تي مشتمل آهي ته جيئن ساڳئي ايپليڪيشن جا مختلف ورجن مختلف آئڪن هجن.
گھڻو بهتر! شبیہیں ايپليڪيشن سان سفر ڪن ٿيون، سڀئي وسيلا هڪ فائل ۾ آهن.

اچو ته هائيڪو ڏانهن موٽون. هڪ دماغ ڦوڪندڙ حل، ڪو به استثنا نه آهي. جي مطابق دستاويز:

هڪ خاص HVIF فارميٽ، ننڍي سائيز ۽ تيز رينڊنگ لاءِ انتهائي بهتر ڪيل، ترقي ڪئي وئي. تنهن ڪري، اسان جي شبیہیں اڪثر حصو لاء راسٽر يا وڏي پيماني تي استعمال ٿيل SVG فارميٽ ۾ تمام ننڍا آهن.

۽ اهي اڃا تائين بهتر آهن:

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
ٻين شڪلين جي مقابلي ۾ HVIF ۾ آئڪن جو سائز.

فرق هڪ حڪم جي شدت آهي!

پر جادو هتي ختم نٿو ٿئي. ساڳيو HVIF ڏيکاري سگھي ٿو تفصيل جي مختلف سطحن کي ڏيکاريل سائيز جي لحاظ سان، جيتوڻيڪ اهو هڪ ویکٹر فارميٽ آهي.

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
تفصيل جي مختلف سطحن (LOD) رينڊر سائيز تي منحصر ڪري ٿو

هاڻي نقصانن جي باري ۾: توهان SVG نه ٿا وٺي سگهو، ان کي تصوير ميگڪ ۾ اڇلايو ۽ ان کي هڪ ڏينهن سڏيو؛ توهان کي HVIF فارميٽ ۾ هڪ آئڪن ٺاهڻ لاء ڪيترن ئي چڪر ذريعي وڃڻو پوندو. تُوت وضاحتون بهرحال، IconOMatic SVG درآمد ڪري سگھي ٿو بلڪل ناقص طور تي؛ اٽڪل 90٪ SVG تفصيلات ڪجهه امڪان سان درآمد ڪيا ويا آهن، باقي 10٪ کي ترتيب ڏيڻ ۽ دستي طور تي تبديل ڪرڻ جي ضرورت پوندي. وڌيڪ پڙهو ته HVIF پنهنجو جادو ڪيئن ڪندو آهي سگهن ٿا влоге ليه گانسن

ايپليڪيشن ۾ هڪ آئڪن شامل ڪرڻ

هاڻي مان ٺاهيل پيڪيج ۾ هڪ آئڪن شامل ڪري سگهان ٿو آخري دفعو، اڪائونٽ ۾ حاصل ڪيل سڀني معلومات کي کڻڻ.
خير، ڇاڪاڻ ته مان هن وقت پنهنجي ”هيلو، ورلڊ“ QtQuickApp لاءِ پنهنجو پنهنجو آئڪن ڪڍڻ جو خاص شوقين نه آهيان، ان ڪري مان ان کي Qt ​​Creator مان ڪڍان ٿو.

/Haiku/home> xres /Haiku/system/apps/QtCreator/bin/Qt Creator  -o /Haiku/home/QtQuickApp/QtQuickApp  -a VICN:101:BEOS:ICON /Haiku/system/apps/QtCreator/bin/Qt Creator

اچو ته چيڪ ڪريو ته آئڪن کي نقل ڪيو ويو آهي:

/Haiku/home> xres -l /Haiku/home/QtQuickApp/QtQuickApp/Haiku/home/QtQuickApp/QtQuickApp
resources:type           ID        size  name
------ ----------- -----------  --------------------
'VICN'         101      152238  BEOS:ICON

سٺو لڳندو آهي، پر اهو ڇو آهي ته جڏهن نئين آئڪن کي نقل ڪيو وڃي ته اهو ظاهر نٿو ٿئي؟

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
ڪاپي ٿيل VICN:101:BEOS:ICONs اڃا تائين فائل مئنيجر ۾ ايپليڪيشن آئڪن طور استعمال نه ڪيو ويو آهي

مون کي ڇا وڃايو؟

ڊولپر تبصرو:

اسان کي فائل ٺاهڻ جي ضرورت آهي rdef سڀني وسيلن سان، پوء حڪم تي عمل ڪريو rc имя.rdef، هي فائل ٺاهيندو .rsrc. پوء توهان کي حڪم هلائڻ جي ضرورت آهي resattr -o имя_бинарника имя.rsrc. گھٽ ۾ گھٽ، مان پنھنجي اسڪرپٽ ۾ آئڪن شامل ڪرڻ لاءِ ھنن جھڙا ڪمانڊ استعمال ڪريان ٿو.

خير، مان هڪ وسيلو ٺاهڻ چاهيان ٿو، نه ڪي خاصيت. مان واقعي پريشان آهيان.

فائل سسٽم استعمال ڪندي سمارٽ ڪيشنگ

ELF خاصيتون کولڻ ۽ پڙهڻ سست آهي. جيئن مون مٿي لکيو آهي، آئڪن فائل ۾ ئي وسيلا طور لکيل آهي. اهو طريقو وڌيڪ قابل اعتماد آهي ۽ توهان کي ڪنهن ٻئي فائل سسٽم ڏانهن نقل ڪرڻ جي اجازت ڏئي ٿو. بهرحال، اهو پڻ نقل ڪيو ويو آهي فائل سسٽم جي خاصيت ڏانهن، مثال طور BEOS:ICON. اهو صرف ڪجهه فائل سسٽم تي ڪم ڪري ٿو، جهڙوڪ BFS. سسٽم پاران ڏيکاريل شبیہیں (ٽريڪر ۽ ڊيسڪبار ۾) هن وڌايل خاصيت مان پڙهيا ويندا آهن، ڇاڪاڻ ته اهو حل جلدي ڪم ڪري ٿو. ڪجھ هنڌن تي (جتي رفتار اهم نه آهي، مثال طور، هڪ عام "اٽڪل" ونڊو)، سسٽم آئڪن کي سڌو سنئون فائل ۾ وسيلن مان حاصل ڪري ٿو. پر هي پڄاڻي نه آهي. ياد رکو، ميڪ تي، صارفين ايپليڪيشنن جي آئڪن کي تبديل ڪري سگھن ٿا، ڊائريڪٽرن، دستاويزن کي پاڻ سان، ڇاڪاڻ ته ميڪ تي اهو ممڪن آهي "اهم" شيون ڪرڻ، مثال طور. هڪ نئين Slack آئڪن کي پوئين سان تبديل ڪرڻ. هائيڪو تي، توهان کي وسيلا (فائل ۾) کي اصل آئڪن جي طور تي سوچڻ گهرجي جيڪو ايپليڪيشن سان اچي ٿو، ۽ خاصيت (BFS فائل سسٽم ۾) اهڙي شيءِ جي طور تي جيڪو صارف کي پنهنجي مرضي سان تبديليون ڪرڻ جي اجازت ڏئي ٿو (جيتوڻيڪ، اشارو، Icon جي مٿي تي ڪسٽم آئڪن داخل ڪرڻ لاءِ GUI اختياري آهي).

فائل سسٽم جي خاصيتن جي جانچ ڪندي

جي مدد سان resaddr اهو ممڪن آهي چيڪ ڪرڻ ۽ سيٽ ڪرڻ لاء فائيل سسٽم خاصيتون.

/> resattr
Usage: resattr [ <options> ] -o <outFile> [ <inFile> ... ]

Reads resources from zero or more input files and adds them as attributes
to the specified output file, or (in reverse mode) reads attributes from
zero or more input files and adds them as resources to the specified output
file. If not existent the output file is created as an empty file.
(...)

اهو لازمي طور تي "گلو" آهي جيڪو (قابل اعتماد) وسيلن ۽ (تيز) فائل سسٽم جي خاصيتن جي وچ ۾ تبديلي کي اڳتي ۽ پوئتي انجام ڏئي ٿو. ۽ جيئن ته سسٽم وسيلن کي حاصل ڪرڻ جي اميد رکي ٿو ۽ خودڪار طريقي سان ڪاپي ڪري ٿو، مان ان بابت وڌيڪ پريشان نه ڪندس.

hpkg پيڪيجز جو جادو

في الحال (اڪثر ڪري) پيڪيجز هائيڪو تي پروگرام حاصل ڪرڻ لاءِ استعمال ڪيا ويندا آهن .hpkg. سادي نالي سان بيوقوف نه بڻجو: .hpkg فارميٽ ٻين فارميٽس کان مڪمل طور تي مختلف طرح سان ڪم ڪري ٿو ساڳين نالن سان جيڪو توهان ڏٺو آهي، ان ۾ حقيقي سپر پاور آهن.

روايتي پيڪيج فارميٽ سان، مان هن حقيقت جي ڪري هڪ ڊگهي وقت تائين پريشان آهيان: توهان هڪ شيء (پيڪيج) ڊائون لوڊ ڪريو ٿا، ۽ ٻيو سسٽم تي نصب ٿيل آهي (پيڪيج اندر فائلون). اهو ڪافي ڏکيو آهي فائلن کي منظم ڪرڻ (مثال طور، انهن کي حذف ڪريو) جڏهن روايتي طريقي سان پيڪيج کي نصب ڪيو وڃي. ۽ سڀ ڇاڪاڻ ته پيڪيج جو مواد سڄي فائل سسٽم ۾ پکڙيل, جڳهن سميت جتي اوسط استعمال ڪندڙ کي لکڻ جي رسائي نه هوندي. هي پروگرامن جي پوري طبقي کي جنم ڏئي ٿو - پيڪيج مينيجرز. پر اڳ ۾ ئي نصب ٿيل سافٽ ويئر کي منتقل ڪرڻ، مثال طور، ٻي مشين ڏانهن، هٽائڻ واري ڊسڪ يا فائل سرور اڃا به وڌيڪ ڏکيو ٿي ويندو آهي، جيڪڏهن مڪمل طور تي ناممڪن ناهي. هڪ عام لينڪس تي ٻڌل سسٽم تي، آساني سان ٿي سگهي ٿو ڪيترائي لکن کان لکن تائين انفرادي فائلون. چوڻ جي ضرورت ناهي، اهو ٻئي نازڪ ۽ سست آهي، مثال طور، جڏهن شروعاتي طور تي هڪ سسٽم کي نصب ڪرڻ، جڏهن باقاعده پيڪيجز کي انسٽال ڪرڻ، اپڊيٽ ڪرڻ ۽ ان کي انسٽال ڪرڻ، ۽ جڏهن بوٽ حجم (روٽ ورهاڱي) کي ٻئي وچولي ڏانهن نقل ڪيو وڃي.

مان AppImage پروجيڪٽ تي ڪم ڪري رهيو آهيان، آخري استعمال ڪندڙ ايپليڪيشنن لاءِ هڪ جزوي ڪڇ. هي هڪ سافٽ ويئر ورهائڻ وارو فارميٽ آهي جيڪو هڪ ايپليڪيشن ۽ ان جي سڀني انحصار کي هڪ واحد فائل سسٽم جي تصوير ۾ گڏ ڪري ٿو جيڪو نصب ڪيو ويندو آهي جڏهن ايپليڪيشن شروع ٿئي ٿي. خاص طور تي شين کي آسان بڻائي ٿو، ڇاڪاڻ ته ساڳيو ImageMagick اوچتو هڪ واحد فائل ۾ بدلجي ٿو، صرف مئنيجر طرفان فائل مئنيجر ۾ منظم. تجويز ڪيل طريقو صرف سافٽ ويئر لاءِ ڪم ڪري ٿو، جيئن پروجيڪٽ جي نالي ۾ ظاهر ٿئي ٿو، ۽ ان ۾ پڻ مسئلن جو پنهنجو هڪ سيٽ آهي، ڇاڪاڻ ته جيڪي ماڻهو لينڪس لاءِ سافٽ ويئر پهچائڻ ۾ ملوث آهن هميشه مون ڏانهن تير جو نشانو رکن ٿا.

اچو ته هائيڪو ڏانهن موٽون. ڇا اهو ممڪن آهي ته روايتي پيڪيج سسٽم ۽ تصوير تي ٻڌل سافٽ ويئر پهچائڻ جي وچ ۾ بهترين توازن ڳولڻ؟ سندس پيڪيجز .hpkg اصل ۾ compressed فائيل سسٽم تصويرون. جڏهن سسٽم بوٽ ڪندو آهي، ڪرنل لڳ ڀڳ هيٺ ڏنل ڪرنل پيغامن سان سڀني نصب ٿيل ۽ فعال پيڪيجز کي نصب ڪري ٿو:

KERN: package_daemon [16042853:   924] active package: "gawk-4.2.1-1-x86_64.hpkg"
KERN: package_daemon [16043023:   924] active package: "ca_root_certificates_java-2019_01_23-1-any.hpkg"
KERN: package_daemon [16043232:   924] active package: "python-2.7.16-3-x86_64.hpkg"
KERN: package_daemon [16043405:   924] active package: "openjdk12_default-12.0.1.12-1-x86_64.hpkg"
KERN: package_daemon [16043611:   924] active package: "llvm_libs-5.0.0-3-x86_64.hpkg"

ٿڌو، ها؟ اتي رکو، اهو اڃا به ٿڌو ٿيندو!

اتي ھڪڙو خاص پيڪيج آھي:

KERN: package_daemon [16040020:   924] active package: "haiku-r1~beta1_hrev53242-1-x86_64.hpkg"

اهو هڪ تمام گهٽ ۾ گهٽ آپريٽنگ سسٽم تي مشتمل آهي، بشمول ڪنيل. ان تي يقين ڪريو يا نه، جيتوڻيڪ ڪنيل پاڻ کي بوٽ حجم (روٽ ورهاڱي) مان نه هٽايو ويو آهي، پر احتياط سان ان جي جاء تي پيڪيج مان لوڊ ڪيو ويو آهي. .hpkg. واهه! مان اڳ ۾ ئي ذڪر ڪري چڪو آهيان ته مان سمجهان ٿو ته هائيڪو جي مجموعي نفاست ۽ تسلسل جو حصو ان حقيقت مان اچي ٿو ته سمورو نظام، ڪنيل ۽ بنيادي يوزر اسپيس کان وٺي پيڪيج مئنيجمينٽ ۽ رن ٽائم انفراسٽرڪچر تائين، هڪ ٽيم پاران تعاون سان ترقي ڪئي وئي آهي. تصور ڪريو ته لينڪس تي هن طرح ڪجهه هلائڻ لاءِ ڪيترا مختلف گروپ ۽ ٽيمون وٺي وينديون [مان تصور ڪريان ٿو PuppyLinux پروجيڪٽ - تقريبن. مترجم]. پوءِ تصور ڪريو ته هن طريقي کي تقسيم ڪرڻ ۾ ڪيترو وقت لڳندو. چوندا آهن ته: هڪ سادو مسئلو وٺو، ان کي مختلف اداڪارن جي وچ ۾ ورهايو، ۽ اهو ايترو پيچيده ٿي ويندو ته ان کي حل ڪرڻ ممڪن نه ٿيندو. هائيڪو ان صورت ۾ منهنجيون اکيون کولي ڇڏيون. مان سمجهان ٿو ته اهو ئي آهي جيڪو هاڻي لينڪس تي ٿي رهيو آهي (لينڪس هن معاملي ۾ لينڪس / GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu اسٽيڪ لاءِ هڪ اجتماعي اصطلاح آهي).

hpkg استعمال ڪندي سسٽم رول بيڪ

ڪيترا ڀيرا هيٺين صورتحال ٿيندي آهي: تازه ڪاري ڪامياب ٿي وئي، ۽ پوء اهو ظاهر ٿئي ٿو ته ڪجهه ڪم نه ڪري رهيو آهي جيئن اهو ٿيڻ گهرجي؟ جيڪڏهن توهان روايتي پيڪيج مينيجرز استعمال ڪندا آهيو، اهو ڏکيو آهي ته سسٽم جي حالت کي وقت ۾ هڪ نقطي ڏانهن موٽڻ کان اڳ نوان پيڪيجز نصب ڪيا ويا هئا (مثال طور، واقعي جي صورت ۾ ته ڪجهه غلط ٿي ويو). ڪجھ سسٽم فائل سسٽم سنيپ شاٽ جي صورت ۾ ڪم ڪار جي آڇ ڪندا آھن، پر اھي ڪافي بوجھل آھن ۽ سڀني سسٽم تي استعمال نه ڪيا ويا آھن. هائيڪو ان کي حل ڪري ٿو پيڪيجز استعمال ڪندي .hpkg. جڏهن به سسٽم ۾ پيڪيجز تبديل ٿيندا آهن، پراڻا پيڪيجز ڊاهي نه ويندا آهن، پر سسٽم ۾ ذخيرو ٿيل آهن ذيلي ڊائريڪٽرن جهڙوڪ /Haiku/system/packages/administrative/state-<...>/ مسلسل. اڻڄاتل آپريشن انهن جي ڊيٽا کي ذيلي ڊائريڪٽرن ۾ محفوظ ڪري ٿو /Haiku/system/packages/administrative/transaction-<...>/.

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
مواد /Haiku/system/packages/administrative. "رياست ..." ڊاريڪٽريز ۾ ٽيڪسٽ فائلون شامل آهن فعال پيڪيجز جي نالن سان، ۽ "ٽرانزيڪشن ..." ڊائريڪٽريون پاڻ ۾ پيڪيجز تي مشتمل آهن.

"پراڻي فعال رياست"، يعني. فهرست .hpkg تبديلين کان اڳ فعال پيڪيجز فائل مئنيجر ۾ هر آپريشن کان پوء ٽيڪسٽ فائل ۾ رڪارڊ ڪيا ويندا آهن /Haiku/system/packages/administrative/state-<...>/activated-packages. ساڳئي طرح، هڪ نئين "فعال رياست" ٽيڪسٽ فائل ۾ لکيل آهي /Haiku/system/packages/administrative/activated-packages.

ڊاريڪٽري /Haiku/system/packages/administrative/state-<...>/ هن رياست جي فعال پيڪيجز جي فهرست سان صرف هڪ ٽيڪسٽ فائل تي مشتمل آهي (هٽائڻ جي بغير پيڪيجز جي انسٽاليشن جي صورت ۾)، ۽ جيڪڏهن پيڪيجز کي هٽايو ويو يا اپڊيٽ ڪيو ويو - رياست ڊاريڪٽري پيڪيجز جي پراڻي ورزن تي مشتمل آهي.

جڏهن سسٽم بوٽ، پيڪيجز جي فهرست جي بنياد تي، هڪ فيصلو ڪيو ويو آهي چالو ڪرڻ لاء (مائونٽ) پيڪيجز. اهو سادو آهي! جيڪڏهن ڊائون لوڊ دوران ڪجهه غلط ٿي وڃي، توهان ڊائون لوڊ مئنيجر کي هڪ مختلف، پراڻي فهرست استعمال ڪرڻ لاءِ چئي سگهو ٿا. مسئلو حل ٿي ويو!

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
هائيڪو ڊائون لوڊ ڪندڙ. هر داخلا پوائنٽ هڪ لاڳاپيل "فعال رياست" ڏيکاري ٿو

مون کي "فعال رياست" جي فهرست جي طور تي سادي ٽيڪسٽ فائلون رکڻ جو طريقو پسند آهي، نالن سان جيڪي سمجهڻ ۾ آسان آهن .hpkg. اهو بيٺو آهي مڪمل طور تي ٺهيل مشينن لاءِ نه ماڻهن لاءِ. هڪ ميڙ ۾ OSTree يا Flatpak مان فائل سسٽم ۾ (ساڳي سطح تي Microsoft GUID وانگر).

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
وقت ۾ هر پوائنٽ لاءِ فعال پيڪيجز جي فهرست

ترتيب واري ڊيٽا

ظاهر آهي، فهرست ۾ /Haiku/system/packages/administrative/writable-files پيڪيجز لاءِ ڪنفيگريشن فائلون شامل آھن، پر اھي لکڻ جي قابل آھن. آخرڪار، جيئن توهان کي ياد آهي، .hpkg صرف پڙهڻ لاء نصب ٿيل. تنهن ڪري اهي فائلون لکڻ کان اڳ پيڪيجز مان ڪاپي ڪرڻ گهرجن. معنيٰ رکي ٿو.

.hpkg سسٽم لاءِ GUI انضمام

اچو ته هاڻي ڏسو ته اهي چمڪندڙ بيگز ڪيئن آهن .hpkg صارف جي ڪم جي ماحول ۾ انضمام سان مقابلو ڪريو (UX). آخرڪار، هائيڪو ذاتي استعمال لاءِ آهي، آخرڪار. ذاتي طور تي، مون بار کي بلند ڪيو جڏهن صارف تجربو پيڪيجز سان مقابلو ڪيو .app ساڳئي تجربي سان Macintosh تي .hpkg. مان لينڪس تي ڪم ڪندڙ ماحول سان صورتحال جو مقابلو به نه ڪندس، ڇاڪاڻ ته اهو ڪنهن ٻئي جي مقابلي ۾ بلڪل خوفناڪ آهي.

هيٺيان منظرنامو ذهن ۾ اچن ٿا:

  • مان هڪ پيڪيج جو مواد ڏسڻ چاهيان ٿو .hpkg
  • مان هڪ پيڪيج انسٽال ڪرڻ چاهيان ٿو
  • مان پيڪيج کي هٽائڻ چاهيان ٿو
  • مان ڪجهه هٽائڻ چاهيان ٿو جيڪو سسٽم ۾ آيو هڪ پيڪيج جي حصي جي طور تي
  • مان ڪجھ ڪاپي ڪرڻ چاهيان ٿو جيڪو سسٽم ۾ آيو هڪ پيڪيج جي حصي جي طور تي
  • مان هڪ پيڪيج جي سڀني انحصار کي ڊائون لوڊ ڪرڻ چاهيان ٿو، جيڪا شايد هر هائيڪو تنصيب جو حصو نه هجي (مثال طور، مون وٽ هڪ جسماني طور تي الڳ ٿيل مشين آهي جنهن ۾ انٽرنيٽ جي رسائي ناهي.)
  • مان چاهيان ٿو ته پنهنجا پيڪيجز (يا انهن جو حصو) الڳ الڳ ٻئي هنڌ، بوٽ جي مقدار (روٽ ورهاڱي) کان الڳ (ڇاڪاڻ ته، مثال طور، مون وٽ ان تي ڪافي جاءِ ناهي).

اهو منهنجي روزاني ڪم کان وٺي اڪثر وڏن ڪيسن کي ڍڪڻ گهرجي. خير، اچو ته شروع ڪريون.

پيڪيج جي مواد جي چڪاس

ميڪ تي مان صرف ان کي کولڻ لاءِ پيڪيج تي صحيح ڪلڪ ڪريو ۽ فائنر ۾ مواد ڏسو. سڀ کان پوء، حقيقت ۾ اهو صرف هڪ لڪيل ڊاريڪٽري آهي! (مون کي خبر آهي ته اتي پيڪيجز آهن .pkg سسٽم جي هڪ حصي لاء جيڪي ايپليڪيشنون نه آهن، پر عام استعمال ڪندڙ اڪثر ڪري انهن سان لهه وچڙ نه ڪندا آهن).

هائيڪو تي مان پيڪيج تي صحيح ڪلڪ ڪريان ٿو، پوءِ ”مواد“ تي ڪلڪ ڪريو ڏسڻ لاءِ اندر ڇا آهي. پر هتي صرف فائلن جي هڪ فهرست آهي جنهن کي ڊبل ڪلڪ ڪرڻ سان کولڻ جي صلاحيت ناهي.
اهو تمام گهڻو بهتر ٿيندو جيڪڏهن ڪو طريقو هجي (عارضي طور تي) پيڪيج تي چڙهڻ جو .hpkg فائل مئنيجر ذريعي ڏٺو وڃي، ۽ صارف کي عمل درآمد جي تفصيل بابت پريشان ٿيڻ جي ضرورت نه هوندي. (رستي سان، توهان کوليو ٿا .hpkg پيڪيج ۾ Expander، جيڪو ان کي ڪنهن ٻئي آرڪائيو وانگر انپيڪ ڪري سگهي ٿو).

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
HaikuDepot جو انٽرفيس توهان کي پيڪيج فائلن جي فهرست ڏسڻ جي اجازت ڏئي ٿو، پر مواد کي ڏسڻ جو ڪو طريقو ناهي، مثال طور، README.md تي ڊبل ڪلڪ ڪري.

Mac هن درجي ۾ کٽي ٿو، پر HaikuDepot ڪارڪردگي کي شامل ڪرڻ جيڪو توهان چاهيو ٿا اهو تمام ڏکيو نه هجڻ گهرجي.

GUI ذريعي پيڪيج کي انسٽال ڪرڻ

ميڪ تي, سڀ کان وڌيڪ ڊسڪ تصويرون .dmg پيڪيجز تي مشتمل .app. ڊسڪ تصوير تي ڊبل ڪلڪ ڪريو ۽ پوءِ پيڪيج کي نقل ڪريو، مثال طور، ان کي ڇڪڻ سان /Applications ڳوليندڙ ۾. اهو منهنجي لاءِ چوڻ کان سواءِ وڃي ٿو، پر مون ٻڌو آهي ته ڪجهه نوان نوان هن کي سنڀالڻ جي قابل نه هوندا. ڊفالٽ طور، ايپل "مشورو" هڪ سسٽم-وائڊ ڊاريڪٽري /Applications (NEXT تي اهو نيٽ ورڪ ۽ انفرادي طور تي هو)، پر توهان آساني سان پنهنجي ايپليڪيشنن کي فائل سرور تي يا سب ڊاريڪٽري ۾ رکي سگهو ٿا $HOME/Applications، جيڪڏهن توهان ان کي پسند ڪيو.

هائيڪو تي، پيڪيج تي ڊبل ڪلڪ ڪريو، پوءِ "انسٽال" تي ڪلڪ ڪريو، اھو آسان نه ٿي سگھيو. مان سوچي رهيو آهيان ته ڇا ٿيندو جيڪڏهن هڪ پيڪيج تي انحصار هجي جيڪي هائيڪو پورٽس ۾ موجود آهن پر اڃا انسٽال ٿيل نه آهن. لينڪس تي اهي واقعي نٿا ڄاڻن ته هن صورتحال ۾ ڇا ڪجي، پر حل واضح آهي - صارف کان پڇو ته ڇا انهن کي ڊائون لوڊ ۽ انسٽال ڪرڻ جي ضرورت آهي انحصار. بلڪل ائين جيئن هائيڪو ڪندو آهي.

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
مون دستي طور تي 'sanity' پيڪيج ڊائون لوڊ ڪيو ۽ ان تي ڪلڪ ڪيو، پيڪيج مئنيجر ڄاڻي ٿو ته ان جي انحصار کي ڪٿان حاصل ڪجي (فرض ڪيو ته مخزنون اڳ ۾ ئي سسٽم تي رجسٽر ٿيل آهن). هر لينڪس ڊويزن اهو نه ڪري سگهي ٿو.

ٻيو طريقو هڪ فائيل مينيجر کي استعمال ڪرڻ آهي، صرف ڇڪيو ۽ ڇڏي ڏيو .hpkg پيڪيج يا اندر /Haiku/system/packages (سسٽم جي وسيع تنصيب لاءِ، ڊفالٽ طور)، يا ان ۾ /Haiku/home/config/packages (انفرادي تنصيب لاءِ؛ دستياب ناهي جڏهن ڊبل ڪلڪ ڪيو - مان اڃا تائين ناراض آهيان لفظ "config" هن جڳهه تي، جيڪو هن صورت ۾ مون لاء "سيٽنگون" سان مترادف آهي). ۽ ڪيترن ئي استعمال ڪندڙن جو تصور اڃا تائين ھائيڪو لاءِ دستياب نه آھي (اھو ئي آھي جو اھو ايترو سادو آھي - مون کي خبر نه آھي، ٿي سگھي ٿو گھڻن استعمال ڪندڙن جون صلاحيتون غير ضروري طور تي ھڪڙي ڊيسڪ ٽاپ ماحول لاءِ شين کي پيچيده بڻائينديون).

هائيڪو هن درجي ۾ ڪاميابي حاصل ڪري ٿو ڇو ته اهو نه صرف ايپليڪيشنن سان، پر سسٽم پروگرامن سان پڻ ڪم ڪري سگهي ٿو.

GUI مان پيڪيج کي هٽائڻ

ميڪ تي، توهان کي ايپليڪيشن آئڪن کي ڇڪڻ جي ضرورت آهي ڪچري واري ڪنڊ ڏانهن، ۽ بس. آساني سان!

هائيڪو تي، پهرين، توهان کي ڳولڻ جي ضرورت آهي جتي سسٽم تي پيڪيج موجود آهي، ڇو ته توهان گهٽ ۾ گهٽ ان کي صحيح جاء تي نصب ڪيو (سسٽم سڀ ڪجهه ڪري ٿو). عام طور تي توهان کي ڏسڻ جي ضرورت آهي /Haiku/system/packages (سسٽم-وائڊ ڊفالٽ تنصيب سان)، يا ان ۾ /Haiku/home/config/packages (ڇا مون ذڪر ڪيو آهي ته "config" هڪ غلط نالو آهي؟). پوءِ ايپليڪيشن کي ڇڪيو وڃي ٿو ڪچري ۾ وجهي، ۽ بس.
آساني سان! بهرحال، مان اهو نه چوندس. هتي اهو آهي جيڪو واقعي ٿي رهيو آهي:

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
اهو ئي ٿئي ٿو جيڪڏهن توهان هڪ ايپليڪيشن کي ڇڪيو ٿا ته ڪچري مان /Haiku/system/packages

بس ڪوشش ڪئي منهنجي ڪالهه جي ”هيلو ورلڊ“ ايپليڪيشن کي QtQuickApp تي ٽريش ۾. مون سسٽم ڊاريڪٽري کي منتقل ڪرڻ جي ڪوشش نه ڪئي، ۽ جيئن ته سڀئي پيڪيجز سسٽم ڊاريڪٽري ۾ نصب ٿيل آهن، ان کي ختم ڪرڻ ناممڪن آهي .hpkg بغير تبديلي "ان جو مواد". هڪ عام صارف خوفزده ٿي ويندو ۽ ڊفالٽ طور مقرر ڪيل "منسوخ" بٽڻ کي دٻايو.

وضاحت ڪري ٿو مسٽر waddlesplash:

هي پوسٽ 10 سالن کان مٿي آهي. گهڻو ڪري اسان کي ان کي ترتيب ڏيڻ جي ضرورت آهي ته جيئن ڊيڄاريندڙ صرف ظاهر ٿئي جڏهن پيڪيج پاڻ کي منتقل ڪيو وڃي. باقاعده استعمال ڪندڙن کي ائين ڪرڻ جي ضرورت ناهي.

ٺيڪ آهي، ٿي سگهي ٿو مون کي هائيڪو ڊيپو استعمال ڪندي ائين ڪرڻ گهرجي؟ مان پيڪيج تي ڊبل ڪلڪ ڪريان ٿو /Haiku/system/packages, انتظار ڪرڻ لاء "Uninstall" بٽڻ ظاهر ٿيڻ لاء. نه، اتي (صرف) "انسٽال" آھي. "Uninstall"، توهان ڪٿي آهيو؟

بس مذاق لاءِ، مون ڪوشش ڪئي ته ڇا ٿيندو جيڪڏهن مون ڪلڪ ڪيو ”انسٽال“ اڳ ۾ ئي نصب ٿيل پيڪيج تي. اهو هن طرح ظاهر ٿئي ٿو:

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
اهو ٿئي ٿو جيڪڏهن توهان اڳ ۾ ئي نصب ٿيل پيڪيج کي نصب ڪرڻ جي ڪوشش ڪريو.

اڳيان ظاهر ٿئي ٿو:

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
جيڪڏھن توھان ڪلڪ ڪريو "تبديليون لاڳو ڪريو" پوئين ونڊو ۾، اھو ھن طرح نظر ايندو

مان سمجهان ٿو ته هي هڪ سافٽ ويئر جي غلطي آهي؛ ايپليڪيشن جي لنڪ اڳ ۾ ئي موجود آهي. [ليکڪ لنڪ مهيا نه ڪيو آهي - تقريبن. مترجم]

تڪڙو حل: هڪ "انسٽال" بٽڻ شامل ڪريو جيڪڏهن پيڪيج اڳ ۾ ئي آهي /Haiku/system/packages، يا ۾ /Haiku/home/config/packages.

جڏهن هائيڪو ڊيپو ۾ نصب ٿيل پيڪيجز جي فهرست ڏسي رهيو آهيان، مون کي لسٽ ۾ منهنجو پيڪيج ڏسڻ ۾ اچي ٿو ۽ ان کي ختم ڪري سگهان ٿو.

Mac هن درجي ۾ کٽي ٿو. پر مان تصور ڪري سگهان ٿو ته مناسب سيٽ اپ سان، هائيڪو تي صارف جو تجربو ميڪ کان بهتر هوندو. (هڪ ڊولپر ان کي هن طرح درج ڪيو: “هائيڪو ڊپو ۾ مخصوص ڪارڪردگي شامل ڪرڻ لاءِ هڪ ڪلاڪ کان به گهٽ، جيڪڏهن توهان ٿورو ڄاڻو ٿا C++”، ڪو رضاڪار؟)

پيڪيج مان ڪا شيءِ ڪڍڻ

اچو ته ايپليڪيشن کي هٽائڻ جي ڪوشش ڪريون، نه پيڪيج .hpkg، جنهن مان اهو آيو آهي (مون کي شڪ آهي ته ”صرف انسانن“ لاءِ ڪو فرق آهي).

ميڪ تياستعمال ڪندڙ اصل ۾ عام طور تي فائل سان ڪم ڪري ٿو .dmgايپليڪيشن پيڪيج ڪٿان اچي ٿو .app. عام طور تي تصويرون .dmg ڊائون لوڊ ڊاريڪٽري ۾ جمع ٿيل آهن، ۽ پيڪيجز کي صارف طرفان نقل ڪيو ويو آهي /Applications. اهو يقين آهي ته ڪيترن ئي صارفين کي پاڻ کي خبر ناهي ته اهي ڇا ڪري رهيا آهن، هي نظريو ايپل جي اڳوڻي ملازم طرفان تصديق ڪئي وئي آهي. (هڪ شيون جيڪي مون کي ميڪ تي پسند نه آهن. ۽، مثال طور، AppImage سان، ايپليڪيشن ۽ پيڪيج جي وچ ۾ ڪو به فرق نه آهي، جيڪو ان ۾ هو. آئڪن کي ڇڪيو ٽريش = اهو آهي. آسان!)

هائيڪو تي، وچ ۾ پڻ هڪ تقسيم آهي apps/ и packages/، تنهن ڪري مون کي شڪ آهي ته اهو ان کي استعمال ڪندڙن لاءِ وڌيڪ واضح ڪيو. پر ڇا ٿيندو جيڪڏهن توهان هڪ ايپليڪيشن تان ڇڪيو apps/ ڪارٽ ۾ شامل ڪريو:

هائيڪو سان منهنجو ڇهون ڏينهن: وسيلن، آئڪن ۽ پيڪيجز جي هيٺان
اهو ئي ٿيندو آهي جڏهن توهان فائل مان ڪڍيل ايپليڪيشن کي هٽائڻ جي ڪوشش ڪندا آهيو .hpkg

ٽيڪنيڪل طور تي اهو صحيح آهي (آخرڪار، ايپليڪيشن پهرين جڳهه تي صرف پڙهڻ لاءِ فائل سسٽم تي ميزباني ڪئي وئي آهي)، پر اهو خاص طور تي استعمال ڪندڙ لاءِ مفيد ناهي.

تڪڙو حل: استعمال ڪرڻ جي صلاح ڏيو GUI بدران حذف ڪرڻ لاءِ .hpkg

صرف تفريح لاءِ، مون Alt+D کي دٻائي ايپليڪيشن کي نقل ڪرڻ جي ڪوشش ڪئي. مون کي نياپو مليو ته "صرف پڙهڻ واري حجم تي شيون منتقل ڪرڻ يا نقل ڪرڻ ۾ ناڪام." ۽ سڀ ڇاڪاڻ ته /system (ان کان علاوه /system/packages и /system/settings) آهي packagefs ماؤنٽ پوائنٽ (ياد رکو ته اهو ڪيئن ظاهر ٿئي ٿو ٻاڦ ۾ df؟). بدقسمتي سان، حڪم جي پيداوار mount صورتحال کي واضح نٿو ڪري (جيئن اڳئين مضمونن مان هڪ ۾ چيو ويو آهي)، mountvolume اهو نه ڏيکاريو جيڪو توهان ڳولي رهيا آهيو (ظاهر آهي پيڪيجز لوپ ذريعي نصب ٿيل آهن .hpkg "حجم" نه سمجهيو ويندو آهي)، ۽ مون متبادل حڪمن کي به وساري ڇڏيو.

هن درجي ۾ ڪو به کٽيو ناهي سواءِ AppImage (پر هي، مڪمل طور تي ايماندار هجڻ لاءِ، هڪ متعصب راءِ آهي). بهرحال، ڪو تصور ڪري سگهي ٿو ته ٽائيڪ ڪرڻ کان پوء، هائيڪو تي صارف جو تجربو ميڪ کان بهتر هوندو.

نوٽ: توهان کي اهو معلوم ڪرڻو پوندو ته ”سيڪشن“ جي حوالي سان ”حجم“ ڇا آهي. اهو شايد "فولڊر" سان "ڊائريڪٽري" جي رشتي جي برابر آهي: اڪثر ڊاريڪٽريون فائل مئنيجر ۾ فولڊر جي طور تي ظاهر ٿيندا آهن، پر اهي سڀئي نه (پيڪيجز کي فائلن وانگر سمجهيو ويندو آهي، مثال طور). ڇا هن قسم جي ڊسپلي مون کي سرڪاري بيوقوف بڻائي ٿو؟

هڪ پيڪيج جي مواد کي ٻئي سسٽم ڏانهن نقل ڪندي

ميڪ تي، مون بيوقوفيءَ سان پيڪيج کي ڇڪيو .app، ۽ جيئن ته انحصار پيڪيج جي اندر آهن، اهي گڏجي هلن ٿا.

هائيڪو تي، مان ايپليڪيشن کي ڇڪيو، پر انحصار تي عمل نه ڪيو ويو آهي.

تڪڙو حل: اچو ته ان جي بدران سڄي `.hpkg پيڪيج کي ڇڪڻ جي صلاح ڏيو، ڪنهن به انحصار سان، جيڪڏهن ڪو آهي.

ميڪ واضح طور تي هن درجي ۾ کٽي ٿو. گهٽ ۾ گهٽ مون لاء، انهن جي پيراگراف جي عاشق. مون کي ان کي هائيڪو ۾ نقل ڪرڻ گهرجي .hpkg ايپليڪيشن جي بدران، پر سسٽم مون کي پيش نٿو ڪري ...

ڊائون لوڊ ڪريو ھڪڙو پيڪيج ان جي سڀني انحصار سان

هر مشين هر وقت نيٽ ورڪ سان ڳنڍيل ناهي. ان جي برعڪس، ڪجهه مشينون (ها، مان توهان کي ڏسي رهيو آهيان، جديد ونڊوز، ميڪ ۽ لينڪس) هن بابت وساريو. منهنجي لاءِ اهو ضروري آهي ته مان وڃان، مثال طور، هڪ انٽرنيٽ ڪيفي ڏانهن، سافٽ ويئر ڊائون لوڊ ڪرڻ واري ڊرائيو تي، هن ڊرائيو کي منهنجي گهر جي ڪمپيوٽر ۾ داخل ڪريو ۽ پڪ ڪريو ته سڀ ڪجهه ڪم ڪندو [خطرناڪ ماڻهو، ونڊوز تي ائين ڪندي... - لڳ ڀڳ مترجم].

نتيجي طور، مان ونڊوز ۽ لينڪس تي اڻڄاتل انحصار سان ختم ڪرڻ جي ڪوشش ڪندو آهيان معمولي کان ٿورو وڌيڪ.

ميڪ تي هي عام طور تي هڪ فائل آهي، توهان کي صرف ڊائون لوڊ ڪرڻ جي ضرورت آهي .dmg. گهڻو ڪري، ان ۾ ڪو به انحصار نه آهي سواءِ ان کان سواءِ جيڪي MacOS پاران مهيا ڪيل آهن پاڻ ڊفالٽ طور. هڪ استثنا پيچيده ايپليڪيشنون آهن جن کي مناسب عمل جي ماحول جي ضرورت آهي، مثال طور java.

هائيڪو تي ڊائون لوڊ پيڪيج .hpkg لاء، چئو، ساڳي ايپليڪيشن جاوا ۾، شايد ڪافي نه هجي، ڇاڪاڻ ته جاوا شايد ٽارگيٽ مشين تي موجود هجي يا نه هجي. ڇا ھڪڙو طريقو آھي ھڪڙي ڏنل پيڪيج لاءِ سڀني انحصار کي ڊائون لوڊ ڪرڻ لاءِ .hpkg، ان کان سواءِ جيڪي ھائيڪو ۾ ڊفالٽ طور انسٽال ٿيل آھن ۽ ان ڪري ھر ھائيڪو سسٽم تي ھجڻ گھرجي؟

ميڪ هن درجي کي ننڍي فرق سان کٽي ٿو.

تبصرا Mr. waddlesplash:

پيڪيجز جي سيٽ جي طور تي ايپليڪيشن جي سڀني انحصار کي گڏ ڪرڻ لاء هڪ پروگرام لکڻ لاء .hpkg هائيڪو جي اندروني ڪمن کان واقف ڪنهن لاءِ، اٽڪل 15 منٽ ڪافي آهن. ان لاءِ سپورٽ شامل ڪرڻ ايترو ڏکيو نه آهي جيڪڏهن ان جي حقيقي ضرورت هجي. پر منهنجي لاءِ اها هڪ نادر صورتحال آهي.

اچو ته هن سلسلي ۾ ايندڙ مضمون تائين اسان جي سانس رکو.

پيڪيجز کي الڳ جڳھ ڏانھن منتقل ڪرڻ

جيئن مون اڳ ۾ لکيو آهي، مان پنهنجي پيڪيجز کي رکڻ چاهيان ٿو .hpkg (چڱو، يا انھن جو حصو) ھڪڙي خاص جڳھ ڏانھن، بوٽ جي مقدار (روٽ ورهاڱي) تي معمولي جڳھ کان الڳ. عام طور تي (نه ئي نظرياتي) صورت ۾، ان جو سبب اهو آهي ته مان مسلسل پنهنجي (بلٽ-ان) ڊسڪ تي خالي جاءِ کان ٻاهر هلندو آهيان، چاهي اهي ڪيترو به وڏا هجن. ۽ مان عام طور تي ٻاهرين ڊرائيو يا نيٽ ورڪ شيئرز کي ڳنڍيندو آهيان جتي منهنجون ايپليڪيشنون واقع آهن.

ميڪ تي مان صرف پيڪيجز کي منتقل ڪري رهيو آهيان .app هڪ هٽائڻ واري ڊرائيو يا نيٽ ورڪ ڊاريڪٽري ۾ Finder ۾، ۽ اهو ئي آهي. مان اڃا تائين ايپليڪيشن کي کولڻ لاءِ ڊبل ڪلڪ ڪري سگهان ٿو جيئن آئون عام طور تي بوٽ جي مقدار مان ڪندس. بس!

هائيڪو تي، جيئن مون کي ٻڌايو ويو هو، اهو حاصل ڪري سگهجي ٿو منهنجي منتقل ڪرڻ سان .hpkg پيڪيجز کي هٽائڻ واري ڊرائيو يا نيٽ ورڪ ڊاريڪٽري ڏانهن، پر پوء توهان کي سسٽم تي نصب ڪرڻ لاء ڪنسول ۾ ڪجهه غير دستاويزي حڪمن کي استعمال ڪرڻ جي ضرورت آهي. مون کي خبر ناهي ته اهو ڪيئن ڪجي صرف GUI استعمال ڪندي.

Mac هن درجي ۾ کٽي ٿو.

بقول مسٽر. waddlesplash:

هي عام استعمال جي بنياد تي هڪ اصلاح آهي. جيڪڏهن هڪ کان وڌيڪ استعمال ڪندڙن کان مطالبو آهي، اسان ان کي لاڳو ڪنداسين. ڪنهن به صورت ۾، اتي ٽئين پارٽي جي عمل درآمد جو امڪان آهي.

اسان ان بابت ايندڙ مضمون ۾ ڳالهائينداسين.

نيٽ ورڪ ڊاريڪٽريز جي ڳالهائيندي، اهو تمام سٺو هوندو (مان LAN پارٽين جو اندازو لڳائي رهيو آهيان) سادو، ڳولڻ لائق، نيٽ ورڪ وسيع ايپليڪيشنون (جهڙوڪ Zeroconf) جيڪي مقامي ڪمپيوٽر تي نقل ڪري سگهجن ٿيون يا سڌو مقامي نيٽ ورڪ تان هلائي سگهجن ٿيون. يقينن، ڊولپرز وٽ اختيار آهي ته آپٽ آئوٽ ذريعي app_flags.

GUI سان hpkg سسٽم جي انضمام تي حتمي رپورٽ

مان سمجهان ٿو ته بنيادي طور تي انضمام جي نسبتا نئينيت جي ڪري .hpkg GUI اڃا تائين تمام گهڻو ڇڏي ٿو گهربل. بهرحال، ڪجھ شيون آهن جيڪي بهتر ٿي سگهن ٿيون UX جي لحاظ کان ...

هڪ وڌيڪ شيء: ڪرنل ڊيبگ لينڊ

اهو عظيم هوندو ته ڪنيل پينڪ دوران حڪم داخل ڪرڻ جي قابل ٿي، مثال طور syslog | grep usb. خير، هائيڪو تي اهو ممڪن آهي ڪرنل ڊيبگ لينڊ جي مهرباني. توهان هن جادو کي عمل ۾ ڪيئن ڏسي سگهو ٿا جيڪڏهن هر شي ڪم ڪري ٿي جيئن اهو ڪرڻ گهرجي بغير ڪنهن ڪرنل خوفناڪ ۾؟ آسانيءَ سان Alt+PrintScn+D (Debug mnemonic) کي دٻايو. مون کي فوري طور تي ياد آهي پروگرامر جي چاٻي، جنهن اصل ميڪنٽوش ڊولپرز کي ڊيبگر ۾ داخل ٿيڻ جي اجازت ڏني (جيڪڏهن هڪ نصب ڪيو ويو هجي، يقينا).

ٿڪل

مان اهو سمجهڻ شروع ڪري رهيو آهيان ته هائيڪو سسٽم جي نفاست ان حقيقت مان اچي ٿي ته ڪم هڪ ننڍڙي ٽيم طرفان ڪم جي ماحول تي واضح ڌيان سان ڪيو وڃي ٿو، سسٽم جي سڀني پرتن تائين رسائي سان.
لينڪس/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu جي دنيا سان هڪ تيز ابتڙ، جتي هر شيءِ کي ننڍڙن ٽڪرن ۾ ورهايو ويو آهي ان حد تائين جو تجريد تجريدي تي ويهندو آهي ۽ بيچين سان ڊوڙندو آهي.
اتي به سمجهه ۾ آيو ته سسٽم ڪيئن .hpkg روايتي پيڪيج مينيجرز، Snappy، Flatpak، AppImage، حتي btrfs جي بهترين طريقن کي گڏ ڪري ٿو، ۽ انهن کي ميڪ جي "صرف ڪم" واري طريقي سان ٺهڪي اچي ٿو.

اهو ڄڻ ته منهنجي سر ۾ ڪجهه "بدليل" هو، ۽ مون سمجهيو ته سسٽم ڪيئن .hpkg ڄاڻي ٿو ته ڪيئن ڦري وڃڻ، صرف هن کي ڏسڻ سان. پر اهو مان نه آهيان، پر سسٽم جي خوبصورتي ۽ سادگي. هن جو گهڻو حصو اصل ميڪ جي روح کان متاثر آهي.

ها، برائوزر ۾ برائوزنگ جھيڙيندڙ ٿي سگھي ٿي ۽ snail وانگر ھلائي سگھي ٿي، ايپليڪيشنن جي گھٽتائي ٿي سگھي ٿي (نه Gtk، Electron - ڊولپر ان نتيجي تي پھچي ويا آھن ته اھي نفاست سان چڱي ريت نٿا ھجن)، وڊيو ۽ 3d تيز رفتار مڪمل طور تي غير حاضر ھجن، پر مان اڃا تائين هن سسٽم کي پسند ڪريو. آخرڪار، اهي شيون درست ٿي سگهن ٿيون ۽ اهي جلدي يا بعد ۾ ظاهر ٿيندا. اهو صرف وقت جو معاملو آهي ۽ شايد ٿورڙي لال اکيون.

مان مدد پيش نٿو ڪري سگهان، پر مان سمجهان ٿو ته اهو هاڻي کان شروع ٿيندو ڊيسڪ ٽاپ تي هائيڪو جو سال.

بي ترتيب مسئلا

ٿي سگهي ٿو اتي اڳ ۾ ئي درخواستون آهن، يا مون کي انهن کي کولڻ گهرجي؟

  • BeScreenCapture کي GIF ڏانهن برآمد ڪرڻ جي قابل هجڻ گهرجي جهڙوڪ Peek. ھي ffmpeg استعمال ڪري سگھجي ٿو، ھائيڪو لاءِ اڳ ۾ ئي موجود آھي. اپليڪيشن.
  • اسڪرين شاٽ سافٽ ويئر ماڊل ونڊو کي پڪڙڻ ۾ ناڪام ٿئي ٿو، بجاء سڄي اسڪرين کي پڪڙڻ
  • توهان WonderBrush جي ڪراپنگ ٽول کي استعمال ڪندي اسڪرين شاٽ نه ڪري سگهو ٿا ۽ پوءِ نتيجو فائل ۾ محفوظ ڪريو
  • مون کي خاص طور تي هائيڪو ۾ هينڊ ڪرسر پسند ناهي، پر مان سمجهان ٿو ته ان جو تعلق گرم يادگيري واري احساس سان آهي. اهو خاص طور تي ڏکوئيندڙ آهي جڏهن ڪرٽا ۾ فصل جي اوزار کي استعمال ڪندي، ڇاڪاڻ ته اهو غلط فصل جي نتيجي ۾ (هن آرٽيڪل ۾ ماڊل ڊائلاگس جا اسڪرين شاٽ ڏسو). هڪ ڪراس هيئر ڪرسر شاندار هوندو. اپليڪيشن.

ان کي پاڻ ڪوشش! آخرڪار، هائيڪو پروجيڪٽ ٺاهيل ڊي وي ڊي يا يو ايس بي مان بوٽنگ لاءِ تصويرون مهيا ڪري ٿو روزاني. انسٽال ڪرڻ لاءِ، صرف تصوير کي ڊائونلوڊ ڪريو ۽ ان کي استعمال ڪندي فليش ڊرائيو تي لکو کوٽائي

ڇا توھان وٽ ڪو سوال آھي؟ اسان توهان کي دعوت ڏيون ٿا روسي ڳالهائڻ وارا ٽيليگرام چينل.

غلطي جو جائزو: سي ۽ سي ++ ۾ پيرن ۾ پاڻ کي ڪيئن گوليو. هائيڪو او ايس ترڪيب جو مجموعو

کان ليکڪ ترجمو: هي هائيڪو بابت سيريز جو ڇهون مضمون آهي.

مضمونن جي فهرست: پهرين ٻيو ٽيون چوٿون پنجون

جو ذريعو: www.habr.com

تبصرو شامل ڪريو