Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti

TL; DR: Haiku hija sistema operattiva ddisinjata speċifikament għall-PCs, għalhekk għandha diversi tricks li jagħmlu l-ambjent tad-desktop tiegħu ħafna aħjar minn oħrajn. Imma kif taħdem?

Riċentement Skoprejt il-Haiku, sistema tajba bla mistenni. Għadni mistagħġeb kemm jaħdem bla xkiel, speċjalment meta mqabbel ma 'ambjenti desktop Linux. Illum ser nagħti ħarsa taħt il-barnuża. Fejn meħtieġ għal fehim fil-fond, se nagħmel paraguni mal-ambjenti tad-desktop oriġinali Macintosh, Mac OS X u Linux (standard XDG minn freedesktop.org).

Riżorsi fil-fajls ELF

Ilbieraħ tgħallimt li IconOMatic jista 'jiffranka ikoni f'riżorsi rdef f'eżekutibbli ELF. Illum irrid nara kif tassew taħdem.

Riżorsi? Kwotazzjoni minn Bruce Horn, l-awtur oriġinali tal-Macintosh Finder u l-"missier" tal-Maniġer tar-Riżorsi tal-Macintosh:

Jien inkwetat dwar in-natura riġida tal-kodifikazzjoni tradizzjonali. Għalija, l-idea stess ta 'applikazzjoni ffriżata fil-kodiċi, mingħajr il-kapaċità li tibdel xi ħaġa b'mod dinamiku, hija l-aktar selvaġġa selvaġġa. Għandu jkun possibbli li tinbidel kemm jista 'jkun waqt ir-runtime. Naturalment, il-kodiċi tal-applikazzjoni innifsu ma jistax jinbidel, iżda żgur li xi ħaġa tista 'tiġi mibdula mingħajr ma terġa' tikkompila l-kodiċi?

Fuq il-Macintosh oriġinali, għamlu dawn il-fajls ikollhom "taqsima tad-dejta" u "sezzjoni tar-riżorsi", li għamilha oerhört faċli li jiġu salvati affarijiet bħal ikoni, traduzzjonijiet, u simili. f'fajls eżekutibbli.

Fuq Mac dan jintuża Editja mill-ġdid, programm grafiku għal - f'daqqa - riżorsi editjar.

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Editja mill-ġdid fuq il-Macintosh oriġinali

Bħala riżultat, sar possibbli li jiġu editjati ikoni, oġġetti tal-menu, traduzzjonijiet, eċċ. faċli biżżejjed, iżda xorta "jivvjaġġaw" bl-applikazzjonijiet.
Fi kwalunkwe każ, dan l-approċċ kellu żvantaġġ kbir: ħadem biss fuq is-sistemi ta 'fajls Apple, li kienet waħda mir-raġunijiet għaliex Apple abbandunat is-"sezzjoni tar-riżorsi" meta ċċaqlaq għal Mac OS X.
Fuq Mac OS X, Apple riedet soluzzjoni indipendenti mis-sistema tal-fajls, għalhekk adottaw il-kunċett ta 'pakketti (minn NeXT), direttorji li huma ttrattati bħala "oġġetti opaki" mill-maniġer tal-fajls, bħal fajls aktar milli direttorji. Kwalunkwe pakkett b'applikazzjoni fil-format .app għandu, fost affarijiet oħra, fajl Info.plist (f'xi tip ta 'ekwivalenti ta' Apple ta 'JSON jew YAML) li jkun fih metadata ta' applikazzjoni.

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Ċwievet għall-fajl Info.plist mill-pakkett tal-applikazzjoni tal-Mac OS X.

Riżorsi, bħal ikoni, fajls UI, u oħrajn, huma maħżuna fil-pakkett bħala fajls. Il-kunċett fil-fatt mar lura għall-għeruq tiegħu f'NeXT.

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Mathematica.app fuq NeXTSTEP 1.0 fl-1989: jidher bħala direttorju tal-fajls fit-terminal, iżda bħala oġġett wieħed fil-maniġer tal-fajl grafiku.

Ejja nerġgħu lura għal BeOS, il-kunċetti li fuqhom huwa bbażat il-Haiku. L-iżviluppaturi tagħha, meta qalbu minn PEF (PowerPC) għal ELF (x86) (l-istess bħal dak użat fuq Linux), iddeċidew li jżidu sezzjoni tar-riżorsi fl-aħħar tal-fajls ELF. Ma użax it-taqsima ELF proprja tagħha stess, kienet sempliċement mehmuża fl-aħħar tal-fajl ELF. Bħala riżultat tal-programm strip u oħrajn minn binutils, mhux konxji ta 'dan, sempliċiment maqtugħa. Għalhekk, meta żżid ir-riżorsi għal fajl ELF fuq BeOS, huwa aħjar li ma timmanipulahx b'għodod Linux.

X'qed jiġri mal-Haiku issa? Bażikament, bejn wieħed u ieħor l-istess.

Fit-teorija, ikun possibbli li jitqiegħdu riżorsi fit-taqsima mixtieqa tal-ELF. Skont l-iżviluppaturi fuq il-kanal #haiku fuq irc.freenode.net:

B'ELF is-sezzjoni tagħmel aktar sens... l-unika raġuni li ma nkunux qed nagħmluha hekk hija għaliex huwa dak li għamilna f'BeOS."
U m'hemm l-ebda punt li dan jinbidel issa.

Ġestjoni tar-riżorsi

Ir-riżorsi huma miktuba f'format strutturat ta '"riżorsi": essenzjalment lista ta' riżorsi b'daqsijiet u mbagħad il-kontenut tagħhom. Ftakart format ar.
Kif tiċċekkja r-riżorsi fil-Haiku? Hemm xi ħaġa bħal ResEdit?
Skond dokumentazzjoni:

Biex tara r-riżorsi pprovduti fil-pakkett tal-applikazzjoni, tista 'tkaxkar il-fajl eżekutibbli fuq programm simili Riżors. Tista 'wkoll tmur fit-terminal u tmexxi l-kmand listres имя_файла.

Resourcer huwa disponibbli f'HaikuDepot, iżda biss jiġġarraf għalija.

Kif timmaniġġja r-riżorsi fil-fajls ELF? Bl-użu rsrc и rdef. rdef fajls jinġabru fi rsrc. Fajl rdef hija maħżuna f'format ta 'test sempliċi, għalhekk huwa ħafna aktar faċli biex taħdem miegħu. Format tal-fajl rsrc mehmuża fl-aħħar tal-fajl ELF. Ejja nippruvaw nilagħbu:

~> 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

Tista 'tuża l-programm xres għall-iċċekkjar u l-kontroll:

/> 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.
(...)

Okay, ejja nippruvaw?

/> 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

Aktar dwar ir-riżorsi u l-format rdef tista' taqra hawn.

Tipi ta' riżorsi standard

Għalkemm tista' tpoġġi xi ħaġa f'riżorsi, hemm ftit tipi standard definiti:

  • app_signature: Tip ta' applikazzjoni MIME, għall-immappjar tal-fajl miftuħ, tnedija, IPC, eċċ.
  • app_name_catalog_entry: Peress li l-isem tal-applikazzjoni ġeneralment ikun bl-Ingliż, tista 'tispeċifika l-postijiet fejn jinsabu l-ismijiet tradotti, sabiex utenti ta' lingwi differenti jaraw l-isem tal-applikazzjoni tradott jekk mixtieq.
  • app_version: eżattament dak li ħsibt
  • app_flags: jindika registrar kif tipproċessa l-applikazzjoni. Naħseb li hemm aktar milli jidher. Per eżempju, hemm B_SINGLE_LAUNCH, li jġiegħel lis-sistema tniedi proċess ta 'applikazzjoni ġdid kull darba li l-utent jitlobha (l-istess prinċipju jintuża għall-biċċa l-kbira tal-applikazzjonijiet fuq Linux). Kul B_MULTIPLE_LAUNCH, li tikkawża li l-proċess jaħdem għal kull fajl. Fl-aħħar hemm B_EXCLUSIVE_LAUNCH, li jġiegħel lis-sistema tniedi proċess wieħed biss kull darba, ma jimpurtax kemm-il darba l-utenti jnieduh (per eżempju, dan huwa kif Firefox jaħdem fuq Linux; l-istess riżultat jista 'jinkiseb fl-applikazzjonijiet Qt bl-użu tal-funzjoni QtSingleApplication). Applikazzjonijiet ma B_EXCLUSIVE_LAUNCH jiġu notifikati meta l-utent jipprova jmexxihom mill-ġdid: pereżempju, jirċievu t-triq tal-fajl li l-utent irid jiftaħ bl-għajnuna tagħhom.
  • vector_icon: Ikona tal-applikazzjoni tal-vettur (BeOS ma kellux ikoni tal-vettur, il-biċċa l-kbira tal-applikazzjonijiet minflok kellhom żewġ ikoni raster fil-fajls eżekutibbli tagħhom).

Naturalment, tista 'żżid riżorsi bi kwalunkwe IDs u tipi mixtieqa, u mbagħad taqrahom fl-applikazzjoni nnifisha jew applikazzjonijiet oħra bl-użu tal-klassi BResources. Imma l-ewwel, ejja nħarsu lejn is-suġġett affaxxinanti tal-ikoni.

Ikoni tal-vettur fl-istil Haiku

Naturalment, mhux biss Haiku għażel l-aħjar format tal-ikona; f'din il-parti, is-sitwazzjoni bl-ambjenti tad-desktop Linux hija 'l bogħod milli tkun ideali:

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

Meta wieħed iħares lejn dan diġà tista' tħoss x'biċċa hi.

Naturalment, hemm skalabbli, li fiha, kif tista 'tifhem, ikoni tal-vettur. Għaliex allura hemm xi ħaġa oħra? Minħabba li r-riżultat tat-tpinġija tal-grafika tal-vettur f'daqsijiet żgħar jista 'jkun inqas minn ideali. Nixtieq li jkolli għażliet differenti ottimizzati għal daqsijiet differenti. F'ambjenti tad-desktop tal-Linux, dan jinkiseb billi tferrex ikoni ta 'daqsijiet differenti madwar is-sistema tal-fajls.

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

Jekk jogħġbok innota: m'hemm l-ebda kunċett ta 'verżjonijiet differenti ta' Firefox. Għalhekk, mhuwiex possibbli li tittratta bil-grazzja s-sitwazzjoni li jkollok verżjonijiet multipli ta 'applikazzjoni fuq is-sistema.

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Ikoni differenti ta' Firefox f'verżjonijiet differenti. Bħalissa huwa impossibbli li timmaniġġa dan fil-Linux mingħajr diversi krozzi.

Mac OS X jimmaniġġjaha ftit aktar sottili:

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

Wieħed jista 'jara li hemm fajl wieħed firefox.icns fil-pakkett Firefox.app, li fih id-daqsijiet kollha sabiex verżjonijiet differenti tal-istess applikazzjoni jkollhom ikoni differenti.
Ħafna aħjar! Ikoni jivvjaġġaw bl-applikazzjoni, ir-riżorsi kollha huma f'fajl wieħed.

Ejja nerġgħu lura għall-Haiku. Soluzzjoni ta’ moħħ, l-ebda eċċezzjoni. Skond dokumentazzjoni:

Ġie żviluppat format HVIF speċjali, ottimizzat ħafna għal daqsijiet żgħar u rendering veloċi. Għalhekk, l-ikoni tagħna fil-biċċa l-kbira huma ħafna iżgħar milli f'raster jew fil-format SVG użat ħafna.

U għadhom ottimizzati:

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Daqsijiet tal-ikoni f'HVIF meta mqabbla ma' formati oħra.

Id-differenza hija ordni ta 'kobor!

Imma l-maġija ma tispiċċax hawn. L-istess HVIF jista 'juri livelli differenti ta' dettall skond id-daqs murija, anki jekk huwa format ta 'vettur.

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Livelli differenti ta' dettall (LOD) skont id-daqs tar-rendi

Issa dwar l-iżvantaġġi: ma tistax tieħu SVG, tarmih f'ImageMagick u sejjaħlu kuljum; trid tgħaddi minn diversi ċikli biex toħloq ikona fil-format HVIF. Hawnhekk spjegazzjonijiet. Madankollu, IconOMatic jista' jimporta SVG b'mod pjuttost imperfett; madwar 90% tad-dettalji SVG huma importati b'xi probabbiltà, l-10% li jifdal jeħtieġ li jiġu kkonfigurati u mibdula manwalment. Aqra aktar dwar kif HVIF jagħmel il-maġija tiegħu wieħed jista ' fuq il-blog Leah Ganson

Żieda ta' ikona mal-applikazzjoni

Issa nista' nżid ikona mal-pakkett maħluq l-aħħar darba, filwaqt li titqies l-informazzjoni kollha riċevuta.
Ukoll, peress li jien m'inix ħerqana b'mod partikolari biex niġbed l-ikona tiegħi stess għall-QtQuickApp tiegħi "Hello, World" bħalissa, noħroġ minn 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

Ejja niċċekkjaw li l-ikona ġiet ikkupjata:

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

Jidher tajjeb, imma għaliex meta l-ikona l-ġdida tiġi kkupjata ma tidhirx?

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Il-VICN:101:BEOS:ICONs ikkupjati għadu mhux użat bħala ikona tal-applikazzjoni fil-maniġer tal-fajls

X’tmissni?

Kumment tal-iżviluppatur:

Għandna bżonn noħolqu fajl rdef bir-riżorsi kollha, imbagħad tesegwixxi l-kmand rc имя.rdef, dan joħloq il-fajl .rsrc. Imbagħad għandek bżonn tmexxi l-kmand resattr -o имя_бинарника имя.rsrc. Bħala minimu, nuża kmandi bħal dawn biex inżid ikoni mal-iskripts tiegħi.

Ukoll, ridt noħloq riżorsa, mhux attribut. Jien tassew konfuż.

Caching intelliġenti bl-użu tas-sistema tal-fajls

Il-ftuħ u l-qari tal-attributi ELF huwa bil-mod. Kif ktibt hawn fuq, l-ikona hija miktuba bħala riżors fil-fajl innifsu. Dan il-metodu huwa aktar affidabbli u jippermettilek li tibqa 'ħajja mill-ikkupjar għal sistema ta' fajls oħra. Madankollu, imbagħad tiġi kkupjata wkoll fl-attribut tas-sistema tal-fajls, pereżempju BEOS:ICON. Dan jaħdem biss fuq ċerti sistemi ta 'fajls, bħal BFS. L-ikoni murija mis-sistema (f'Tracker u Deskbar) jinqraw minn dan l-attribut estiż, minħabba li din is-soluzzjoni taħdem malajr. F'xi postijiet (fejn il-veloċità mhix importanti, pereżempju, tieqa tipika "Dwar"), is-sistema tirċievi l-ikona direttament mir-riżors fil-fajl. Imma dan mhux it-tmiem. Ftakar, fuq Mac, l-utenti jistgħu jissostitwixxu ikoni ta 'applikazzjonijiet, direttorji, dokumenti tagħhom stess, peress li fuq Mac huwa possibbli li jagħmlu dawn l-affarijiet "importanti", pereżempju tissostitwixxi ikona ġdida ta' Slack ma' dik ta' qabel. Fuq Haiku, għandek taħseb li r-riżorsa (fil-fajl) bħala l-ikona oriġinali li tiġi mal-applikazzjoni, u l-attribut (fis-sistema tal-fajl BFS) bħala xi ħaġa li tippermetti lill-utent jagħmel bidliet kif irid (għalkemm, ħjiel, il-GUI biex tiddaħħal ikona tad-dwana fuq l-ikona hija fakultattiva). għadha mhix implimentata awtomatikament).

Iċċekkjar tal-attributi tas-sistema tal-fajls

Bil resaddr Huwa possibbli li tiċċekkja u tissettja l-attributi tas-sistema tal-fajls.

/> 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.
(...)

Hija essenzjalment il-"kolla" li twettaq il-konverżjoni 'l quddiem u lura bejn riżorsi (affidabbli) u attributi tas-sistema tal-fajls (veloċi). U peress li s-sistema tistenna li tirċievi riżorsi u tikkopja awtomatikament, mhux se ninkwieta aktar dwarha.

Il-maġija tal-pakketti hpkg

Bħalissa (l-aktar spiss) jintużaw pakketti biex jinkisbu programmi fuq Haiku .hpkg. Tkunx imqarraq bl-isem sempliċi: il-format .hpkg jaħdem kompletament differenti minn formati oħra b'ismijiet simili li ltqajt magħhom, għandu superpoteri reali.

B'formati ta 'pakkett tradizzjonali, kont mqalleb għal żmien twil minħabba dan il-fatt: inti tniżżel ħaġa waħda (pakkett), u oħra hija installata fis-sistema (fajls ġewwa l-pakkett). Huwa pjuttost diffiċli li timmaniġġja l-fajls (per eżempju, tħassarhom) meta tinstalla pakkett bil-mod tradizzjonali. U kollha minħabba l-kontenut tal-pakkett mifruxa mas-sistema tal-fajls, inklużi postijiet fejn l-utent medju jista' ma jkollux aċċess għall-kitba. Dan jagħti lok għal klassi sħiħa ta' programmi - maniġers tal-pakketti. Iżda t-trasferiment ta 'softwer diġà installat, pereżempju, għal magna oħra, disk li jista' jitneħħa jew server ta 'fajls isir saħansitra aktar diffiċli, jekk mhux kompletament impossibbli. Fuq sistema tipika bbażata fuq Linux, jista 'faċilment ikun hemm diversi mijiet ta' eluf sa miljuni ta 'fajls individwali. M'għandniex xi ngħidu, dan huwa kemm fraġli kif ukoll bil-mod, pereżempju meta inizjalment tinstalla sistema, meta tinstalla, taġġorna u tneħħi pakketti regolari, u meta tikkopja l-volum tal-boot (partizzjoni tal-għeruq) għal mezz ieħor.

Qed naħdem fuq il-proġett AppImage, crutch parzjali għall-applikazzjonijiet tal-utenti finali. Dan huwa format ta' distribuzzjoni ta' softwer li jiġbor applikazzjoni u d-dipendenzi kollha tagħha f'immaġni ta' sistema ta' fajls waħda li tiġi mmuntata meta tibda l-applikazzjoni. Jissimplifika l-affarijiet b'mod sinifikanti, peress li l-istess ImageMagick f'daqqa tinbidel f'fajl wieħed, ġestit f'maniġer tal-fajls minn sempliċi mortals. Il-metodu propost jaħdem biss għas-softwer, kif rifless fl-isem tal-proġett, u għandu wkoll is-sett ta 'problemi tiegħu stess, peress li n-nies involuti fit-twassil ta' softwer għal Linux dejjem jippuntaw il-vleġġa lejja.

Ejja nerġgħu lura għall-Haiku. Kien possibbli li jinstab l-aħjar bilanċ bejn is-sistemi tradizzjonali tal-pakketti u t-twassil tas-softwer ibbażat fuq l-immaġni? Il-pakketti tagħha .hpkg immaġini tas-sistema tal-fajls attwalment ikkompressati. Meta s-sistema tibda, il-kernel jimmonta l-pakketti installati u attivi kollha b'madwar il-messaġġi tal-kernel li ġejjin:

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"

Kessaħ, iva? Hang fil hemm, se jkun saħansitra aktar frisk!

Hemm pakkett speċjali ħafna:

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

Fiha sistema operattiva minimalista ħafna, inkluż il-qalba. Jemmnu jew le, anki l-qalba nnifisha ma titneħħax mill-volum tal-but (partizzjoni tal-għeruq), iżda titgħabba bir-reqqa f'postha mill-pakkett .hpkg. Ara naqra! Diġà semmejt li naħseb li parti mis-sofistikazzjoni u l-konsistenza ġenerali tal-Haiku ġejja mill-fatt li s-sistema kollha, mill-kernel u l-ispazju tal-utent ewlieni għall-ġestjoni tal-pakketti u l-infrastruttura tar-runtime, hija żviluppata b'mod kollaborattiv minn tim wieħed. Immaġina kemm gruppi u timijiet differenti jkun hemm bżonn biex tmexxi xi ħaġa bħal din fuq Linux [Nimmaġina l-proġett PuppyLinux - approx. traduttur]. Imbagħad immaġina kemm se jieħu żmien biex dan l-approċċ jiġi adottat fid-distribuzzjonijiet. Jgħidu: ħu problema sempliċi, aqsamha bejn artisti differenti, u tant se ssir ikkumplikata li ma jkunx aktar possibbli li ssolviha. Haiku f’dan il-każ fetaħli għajnejja. Naħseb li dan huwa eżattament dak li qed jiġri fuq Linux issa (Linux f'dan il-każ huwa terminu kollettiv għall-munzell Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu).

Qlib tas-sistema bl-użu ta' hpkg

Kemm-il darba sseħħ is-sitwazzjoni li ġejja: l-aġġornament kien ta 'suċċess, u mbagħad jirriżulta li xi ħaġa mhix qed taħdem kif suppost? Jekk tuża maniġers tal-pakketti konvenzjonali, huwa diffiċli li terġa 'lura l-istat tas-sistema għal punt fiż-żmien qabel ma ġew installati pakketti ġodda (per eżempju, fil-każ li xi ħaġa tkun marret ħażin). Xi sistemi joffru soluzzjonijiet fil-forma ta' snapshots tas-sistema tal-fajls, iżda huma pjuttost ingombranti u mhumiex użati fis-sistemi kollha. Haiku issolvi dan billi juża pakketti .hpkg. Kull meta l-pakketti jinbidlu fis-sistema, il-pakketti l-qodma ma jitħassrux, iżda jinħażnu fis-sistema f'subdirettorji bħal /Haiku/system/packages/administrative/state-<...>/ kontinwament. Operazzjonijiet mhux mitmuma jaħżnu d-dejta tagħhom f'subdirettorji /Haiku/system/packages/administrative/transaction-<...>/.

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Kontenut /Haiku/system/packages/administrative. Id-direttorji “state...” fihom fajls ta’ test bl-ismijiet ta’ pakketti attivi, u d-direttorji “transaction...” fihom il-pakketti nfushom.

"Stat attiv antik", i.e. lista .hpkg pakketti attivi qabel il-bidliet jiġu rreġistrati wara kull operazzjoni fil-maniġer tal-fajls f'fajl test /Haiku/system/packages/administrative/state-<...>/activated-packages. B'mod simili, "stat attiv" ġdid huwa miktub f'fajl ta 'test /Haiku/system/packages/administrative/activated-packages.

Directory /Haiku/system/packages/administrative/state-<...>/ fih biss fajl test b'lista ta 'pakketti attivi ta' dan l-istat (f'każ ta 'installazzjoni ta' pakketti mingħajr tneħħija), u jekk il-pakketti tneħħew jew ġew aġġornati - id-direttorju tal-istat fih verżjonijiet qodma ta 'pakketti.

Meta s-sistema tibda, ibbażata fuq il-lista ta 'pakketti, tittieħed deċiżjoni biex jiġu attivati ​​(immuntati) pakketti. Huwa daqshekk sempliċi! Jekk xi ħaġa tmur ħażin waqt it-tniżżil, tista 'tgħid lill-maniġer tat-tniżżil biex juża lista eqdem differenti. Problema solvuta!

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Haiku downloader. Kull punt tad-dħul juri "stat attiv" korrispondenti

Jogħġobni l-approċċ li jkolli fajls ta 'test sempliċi bħala l-lista ta' "stat attiv", b'ismijiet li huma faċli biex jinftiehmu .hpkg. Dan huwa f'kuntrast qawwi ma' li tkun mibnija għall-magni-mhux għan-nies. f'mazz minn OSTree jew Flatpak fis-sistema tal-fajls (fl-istess livell bħal Microsoft GUID).

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Lista ta' pakketti attivi għal kull punt fiż-żmien

Data tal-konfigurazzjoni

Apparentement, fil-katalgu /Haiku/system/packages/administrative/writable-files fih fajls ta' konfigurazzjoni għall-pakketti, iżda jistgħu jinkitbu. Wara kollox, kif tiftakar, .hpkg immuntat għall-qari biss. Allura dawn il-fajls għandhom jiġu kkupjati mill-pakketti qabel ma jinkitbu. Għandu t-tifsira.

Integrazzjoni GUI għas-sistema .hpkg

Ejja issa naraw kif dawn il-boroż tleqq .hpkg ilaħħqu mal-integrazzjoni fl-ambjent tax-xogħol tal-utent (UX). Wara kollox, il-Haiku huwa maħsub għall-użu personali, wara kollox. Personalment, waqqaf il-livell għoli meta nqabbel l-esperjenza tal-utent mal-pakketti .app fuq Macintosh bl-istess esperjenza fuq .hpkg. Lanqas se nqabbel is-sitwazzjoni ma 'ambjenti tax-xogħol fuq Linux, għaliex hija assolutament terribbli meta mqabbla ma' kwalunkwe oħra.

Jiġu f'moħħna x-xenarji li ġejjin:

  • Irrid nara l-kontenut ta' pakkett .hpkg
  • Irrid ninstalla pakkett
  • Irrid inneħħi l-pakkett
  • Irrid inneħħi xi ħaġa li daħlet fis-sistema bħala parti minn pakkett
  • Irrid nikkopja xi ħaġa li daħlet fis-sistema bħala parti minn pakkett
  • Irrid inniżżel id-dipendenzi kollha ta' pakkett, li jista' ma jkunx parti minn kull installazzjoni ta' Haiku (pereżempju, għandi magna fiżikament iżolata mingħajr aċċess għall-internet.)
  • Irrid inċaqlaq il-pakketti tiegħi (jew parti minnhom) separatament għal post ieħor, separat mill-volum tal-boot (partizzjoni tal-għeruq) (għax, pereżempju, m'għandix biżżejjed spazju fuqha).

Dan għandu jkopri ħafna mill-każijiet ewlenin mix-xogħol tiegħi ta' kuljum. Ukoll, ejja nibdew.

Iċċekkjar tal-kontenut tal-pakkett

Fuq Mac Sempliċement nikklikkja bil-lemin fuq il-pakkett biex niftaħ u nara l-kontenut fil-Finder. Wara kollox, fir-realtà huwa biss direttorju moħbi! (Naf li hemm pakketti .pkg għal parti tas-sistema li mhix applikazzjonijiet, iżda l-utenti ordinarji ħafna drabi ma jinteraġixxux magħhom).

Fuq Haiku Ikklikkja bil-lemin fuq il-pakkett, imbagħad ikklikkja fuq "Kontenut" biex nara x'hemm ġewwa. Iżda hawnhekk hija biss lista ta 'fajls mingħajr il-ħila li tiftaħhom billi tikklikkja darbtejn.
Ikun ħafna aħjar jekk ikun hemm mod biex (temporanjament) jintramaw il-pakkett .hpkg biex titqies permezz ta 'maniġer tal-fajls, u l-utent ma jkollux għalfejn jinkwieta dwar id-dettalji tal-implimentazzjoni. (Mill-mod, tista 'tiftaħ .hpkg pakkett fi Expander, li tista’ tħollha bħal kull arkivju ieħor).

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
L-interface ta' HaikuDepot jippermettilek tara lista ta' fajls tal-pakketti, iżda m'hemm l-ebda mod kif tara l-kontenut billi, pereżempju, tikklikkja darbtejn README.md

Il-Mac jirbaħ f'din il-kategorija, iżda li żżid il-funzjonalità HaikuDepot li trid m'għandhiex tkun wisq diffiċli.

Installazzjoni ta 'pakkett permezz GUI

Fuq Mac, il-biċċa l-kbira tal-immaġini tad-disk .dmg fihom pakketti .app. Ikklikkja darbtejn l-immaġni tad-diska u mbagħad ikkopja l-pakkett, pereżempju, billi tkaxkruh ġo /Applications fil Finder. Dan ovvjament għalija, imma smajt li xi newbies jistgħu ma jkunux kapaċi jimmaniġġjaw dan. B'mod awtomatiku, Apple "jissuġġerixxi" direttorju għas-sistema kollha /Applications (fuq NeXT kien netwerk kif ukoll individwali), iżda tista' faċilment tpoġġi l-applikazzjonijiet tiegħek fuq file server jew f'subdirectory $HOME/Applications, jekk inti bhalu hekk.

Fuq Haiku, ikklikkja darbtejn fuq il-pakkett, imbagħad ikklikkja fuq "Installa", ma setax ikun aktar faċli. Qed nistaqsi x'jiġri jekk pakkett ikollu dipendenzi li huma disponibbli f'HaikuPorts iżda li għadhom mhumiex installati. Fuq Linux huma verament ma jafux x'għandhom jagħmlu f'din is-sitwazzjoni, iżda s-soluzzjoni hija ovvja - staqsi lill-utent jekk għandux bżonn tniżżel u tinstalla dipendenzi. Eżattament dak li jagħmel il-Haiku.

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Niżżilt il-pakkett 'sanity' manwalment u kklikkjajt fuqu, il-maniġer tal-pakketti jaf minn fejn iġib id-dipendenzi tiegħu (jekk wieħed jassumi li r-repożitorji huma diġà rreġistrati fis-sistema). Mhux kull distribuzzjoni Linux tista 'tagħmel dan.

Mod ieħor huwa li tuża maniġer tal-fajls, sempliċement drag and drop .hpkg pakkett jew fi /Haiku/system/packages (għal installazzjoni mas-sistema kollha, awtomatikament), jew fi /Haiku/home/config/packages (għall-installazzjoni individwali; mhux disponibbli meta nikklikkja darbtejn - għadni mdejqa bil-kelma "config" f'dan il-post, li għalija f'dan il-każ hija sinonima ma '"settings"). U l-kunċett ta 'utenti multipli għadu lanqas biss huwa disponibbli għall-Haiku (għalhekk probabbilment huwa daqshekk sempliċi - ma nafx, forsi l-kapaċitajiet ta' diversi utenti jikkomplikaw l-affarijiet bla bżonn għal ambjent desktop desktop).

Haiku jirbaħ f'din il-kategorija għax jista 'jaħdem mhux biss bl-applikazzjonijiet, iżda wkoll mal-programmi tas-sistema.

Tneħħi pakkett mill-GUI

Fuq Mac, għandek bżonn tkaxkar l-ikona tal-applikazzjoni għat-trash can, u dak kollu. Faċilment!

Fuq Haiku, l-ewwelnett, trid issib fejn jinsab il-pakkett fuq is-sistema, għax rari tinstallah fil-post it-tajjeb (is-sistema tagħmel kollox). Normalment ikollok bżonn tfittex ġewwa /Haiku/system/packages (b'installazzjoni default fis-sistema kollha), jew in /Haiku/home/config/packages (Semmejt li "config" huwa isem ħażin?). Imbagħad l-applikazzjoni hija sempliċement mkaxkra lejn it-trash can, u dak hu.
Faċilment! Madankollu, ma ngħidx hekk. Hawn x'qed jiġri tassew:

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Dan huwa dak li jiġri jekk inti drag applikazzjoni għall-Trash can minn /Haiku/system/packages

Għadni kemm ippruvajt inmexxi l-applikazzjoni tiegħi "Hello World" tal-bieraħ fuq QtQuickApp lejn it-Trash. Ma ppruvajtx inċaqlaq id-direttorju tas-sistema, u peress li l-pakketti kollha huma installati fid-direttorju tas-sistema, huwa impossibbli li jitneħħa l-pakkett .hpkg mingħajr bidla "il-kontenut tiegħu". Utent ordinarju jibża u jagħfas il-buttuna "Ikkanċella" assenjata awtomatikament.

Jispjega is-sur. waddlesplash:

Din il-kariga għandha aktar minn 10 snin. Ħafna probabbli għandna bżonn nikkonfigurawh sabiex it-twissija tidher biss meta l-pakkett innifsu jiġi mċaqlaq. L-utenti regolari m'għandhomx għalfejn jagħmlu dan xorta waħda.

Okay, forsi għandi nagħmel dan billi tuża HaikuDepot? I ikklikkja darbtejn fuq il-pakkett ġewwa /Haiku/system/packages, tistenna li tidher il-buttuna "Diżinstalla". No, hemm (biss) "Installa". "Diżinstalla", fejn int?

Biss għall-gost, ippruvajt nara x'jiġri jekk għafast "Installa" fuq pakkett diġà installat. Jirriżulta hekk:

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Dan jiġri jekk tipprova tinstalla pakkett diġà installat.

Li jmiss jidher:

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Jekk tikklikkja "Applika bidliet" fit-tieqa ta 'qabel, se tidher bħal din

Nassumi li dan huwa żball tas-softwer; il-link għall-applikazzjoni diġà hemm. [l-awtur ma pprovdiex link - approx. traduttur]

Soluzzjoni ta 'malajr: Żid buttuna "Diżinstalla" jekk il-pakkett ikun diġà fih /Haiku/system/packages, jew fi /Haiku/home/config/packages.

Meta nara l-lista ta 'pakketti installati f'HaikuDepot, nara l-pakkett tiegħi fil-lista u nista' nneħħih.

Il-Mac jirbaħ f'din il-kategorija. Imma nista 'nimmaġina li b'setup xieraq, l-esperjenza tal-utent fuq Haiku se tkun aħjar milli fuq Mac. (Wieħed mill-iżviluppaturi kklassifikaha b'dan il-mod: "Inqas minn siegħa biex iżżid il-funzjonalità speċifikata ma' HaikuDepot, jekk taf ftit C++", xi voluntiera?)

Tneħħi xi ħaġa minn pakkett

Ejja nippruvaw ineħħu l-applikazzjoni nnifisha, mhux il-pakkett .hpkg, li minnu ġie (niddubita li għal "sempliċi mortals" hemm xi differenza).

Fuq Mac, l-utent fil-fatt normalment jaħdem mal-fajl .dmgminn fejn ġej il-pakkett tal-applikazzjoni .app. Normalment immaġini .dmg huma akkumulati fid-direttorju tat-tniżżil, u l-pakketti jiġu kkupjati mill-utent biex /Applications. Huwa maħsub li ħafna utenti nfushom ma jafux x'qed jagħmlu, din l-ipoteżi hija kkonfermata minn eks impjegat ta 'Apple. (Waħda mill-affarijiet li ma nħobbx fuq il-Mac. U, pereżempju, b'AppImage m'hemm l-ebda differenza bejn l-applikazzjoni u l-pakkett li kien fih. Iddreggja l-ikona lejn it-trash = dak hu. Faċli!)

Fuq Haiku, hemm ukoll diviżjoni bejn apps/ и packages/, għalhekk niddubita li dan għamilha aktar ċara għall-utenti. Imma x'jiġri jekk drag applikazzjoni minn apps/ Żid mal-karrettun:

Is-sitt jum tiegħi mal-Haiku: taħt il-kappa tar-riżorsi, ikoni u pakketti
Dan huwa dak li jiġri meta tipprova tneħħi applikazzjoni meħuda minn fajl .hpkg

Teknikament huwa korrett (wara kollox, l-applikazzjoni hija ospitata fuq sistema ta 'fajls li jinqara biss fl-ewwel lok), iżda mhix partikolarment utli għall-utent.

Soluzzjoni ta 'malajr: tissuġġerixxi li tuża GUI biex tħassar minflok .hpkg

Biss għall-gost, ippruvajt nidduplika l-applikazzjoni billi tagħfas Alt + D. Irċevejt il-messaġġ "Ma tistax tiċċaqlaq jew tikkopja oġġetti fuq volum li jinqara biss." U kollha għaliex /system (minbarra /system/packages и /system/settings) huwa l-punt tal-muntaġġ tal-pakkett (ftakar kif jidher fl-output df?). Sfortunatament, l-output tal-kmand mount ma jiċċarax is-sitwazzjoni (kif intqal f'wieħed mill-artikoli preċedenti), mountvolume ma jurix dak li qed tfittex (apparentement pakketti mmuntati permezz ta' loop .hpkg mhumiex meqjusa bħala "volumi"), u nsejt ukoll il-kmandi alternattivi.

Ħadd ma rebaħ f'din il-kategorija ħlief AppImage (iżda din, biex inkun kompletament onest, hija opinjoni preġudikata). Madankollu, wieħed jista 'jimmaġina li wara tweaking, l-esperjenza tal-utent fuq Haiku se tkun aħjar milli fuq Mac.

Nota: trid issir taf x'inhu "volum" fir-rigward ta '"taqsima". Dan huwa probabbilment simili għar-relazzjoni ta '"folder" għal "direttorju": il-biċċa l-kbira tad-direttorji jidhru bħala folders fil-maniġer tal-fajls, iżda mhux kollha kemm huma (pakketti trattati bħala fajls, pereżempju). Din it-tip ta’ wirja tagħmilni nerd uffiċjali?

Il-kopja tal-kontenut ta' pakkett għal sistema oħra

Fuq Mac, I stupidly drag il-pakkett .app, u peress li d-dipendenzi huma ġewwa l-pakkett, jimxu flimkien.

Fuq Haiku, I drag l-applikazzjoni, iżda d-dipendenzi ma jiġu pproċessati xejn.

Soluzzjoni rapida: Ejja minflok nissuġġerixxu li tkaxkru l-pakkett kollu `.hpkg, flimkien ma' kwalunkwe dipendenzi, jekk ikun hemm.

Il-Mac jirbaħ b'mod ċar f'din il-kategorija. Mill-inqas għalija, dilettant tal-paradigma tagħhom. Għandi nikkopjaha lill-Haiku .hpkg minflok applikazzjoni, imma s-sistema ma toffrilix dan...

Niżżel pakkett bid-dipendenzi kollha tiegħu

Mhux kull magna hija konnessa man-netwerk il-ħin kollu. Għall-kuntrarju, xi magni (iva, qed inħares lejkom, Windows moderni, Mac u Linux) jinsew dwar dan. Huwa importanti għalija li nista' mmur, pereżempju, f'kafetterija tal-Internet, inniżżel softwer fuq drive li jista' jitneħħa, daħħal din id-drive fil-kompjuter tad-dar tiegħi u nkun ċert li kollox se jaħdem [Risky Guy, doing this on Windows... - madwar. traduttur].

Bħala riżultat, għandi t-tendenza li nispiċċa b'dipendenzi mhux sodisfatti fuq Windows u Linux ftit aktar spiss mis-soltu.

Fuq Mac dan huwa ġeneralment fajl wieħed, kull ma trid tagħmel hu li tniżżel .dmg. Ħafna drabi, m'għandu l-ebda dipendenzi minbarra dawk ipprovduti minn MacOS innifsu b'mod awtomatiku. Eċċezzjoni huma applikazzjonijiet kumplessi li jeħtieġu ambjent ta 'eżekuzzjoni xieraq, pereżempju java.

Fuq Haiku niżżel il-pakkett .hpkg għal, ngħidu aħna, l-istess applikazzjoni f'java, tista 'ma tkunx biżżejjed, peress li java jista' jew ma jistax ikun preżenti fuq il-magna fil-mira. Hemm mod kif tniżżel id-dipendenzi kollha għal pakkett partikolari .hpkg, minbarra dawk li huma installati awtomatikament fil-Haiku u għalhekk għandhom ikunu fuq kull sistema Haiku?

Il-Mac jirbaħ din il-kategorija b'marġni żgħir.

Kummenti Mr. waddlesplash:

Biex tikteb programm biex tiġbor id-dipendenzi kollha ta 'applikazzjoni bħala sett ta' pakketti .hpkg għal xi ħadd familjari mal-ħidma interna ta 'Haiku, madwar 15-il minuta hija biżżejjed. Iż-żieda ta 'appoġġ għal dan mhux daqshekk diffiċli jekk ikun hemm bżonn reali għalih. Imma għalija din hija sitwazzjoni rari.

Ejja nżommu n-nifs sal-artiklu li jmiss f’din is-sensiela.

Nimxu pakketti għal post separat

Kif ktibt qabel, irrid inpoġġi l-pakketti tiegħi .hpkg (tajjeb, jew parti minnhom) għal post speċjali, separat mit-tqegħid tas-soltu fuq il-volum tal-but (partizzjoni tal-għeruq). Fil-każ tas-soltu (mhux daqshekk teoretiku), ir-raġuni għal dan hija li kontinwament spiċċajt l-ispazju ħieles fuq id-diski (inkorporati) tiegħi, ikunu kemm huma kbar. U normalment nqabbad drives esterni jew ishma tan-netwerk fejn jinsabu l-applikazzjonijiet tiegħi.

Fuq Mac Jien biss nimxi pakketti .app għal drive rimovibbli jew direttorju tan-netwerk fil-Finder, u dak hu. Għadni nista' nikklikkja darbtejn biex niftaħ l-applikazzjoni kif nagħmel normalment mill-volum tal-boot. Biss!

Fuq Haiku, kif qaluli, dan jista 'jinkiseb billi ċċaqlaq tiegħi .hpkg pakketti għal drive rimovibbli jew direttorju tan-netwerk, iżda mbagħad għandek bżonn tuża xi kmandi mhux dokumentati fil-console sabiex jintramawhom fuq is-sistema. Ma nafx kif nagħmel dan billi tuża biss il-GUI.

Il-Mac jirbaħ f'din il-kategorija.

Skont is-sur. waddlesplash:

Din hija ottimizzazzjoni bbażata fuq użu normali. Jekk ikun hemm domanda minn aktar minn utent wieħed, aħna nimplimentawha. Fi kwalunkwe każ, hemm il-possibbiltà ta 'implimentazzjoni minn parti terza.

Aħna ser nitkellmu dwar dan fl-artiklu li jmiss.

Meta wieħed jitkellem dwar direttorji tan-netwerk, ikun tajjeb ħafna (qed naħseb partijiet LAN) li jkollok applikazzjonijiet sempliċi, skoperti, fin-netwerk kollu (bħal Zeroconf) li jistgħu jiġu kkupjati fil-kompjuter lokali jew jimxu direttament min-netwerk lokali. Naturalment, l-iżviluppaturi għandhom l-għażla li jagħżlu barra permezz app_flags.

Rapport finali dwar l-integrazzjoni tas-sistema hpkg mal-GUI

Naħseb li primarjament minħabba n-novità relattiva tal-integrazzjoni .hpkg il-GUI xorta tħalli ħafna x'xewqat. Xorta waħda, hemm ftit affarijiet li jistgħu jitjiebu f'termini ta 'UX...

Ħaġa oħra: Kernel Debug Land

Ikun kbir li tkun tista 'tiddaħħal kmandi waqt il-paniku tal-kernel, pereżempju syslog | grep usb. Ukoll, fuq Haiku huwa possibbli grazzi għal Kernel Debug Land. Kif tista' tara din il-maġija fl-azzjoni jekk kollox jaħdem kif suppost mingħajr ma tidħol f'paniku tal-qalba? Faċli billi tagħfas Alt + PrintScn + D (Debug mnemonic). Niftakar mill-ewwel Ċavetta tal-Programmatur, li ppermetta lill-iżviluppaturi oriġinali tal-Macintosh jidħlu fid-debugger (jekk kien installat wieħed, ovvjament).

Konklużjoni

Nibda nifhem li s-sofistikazzjoni tas-sistema Haiku ġejja mill-fatt li x-xogħol jitwettaq minn tim wieħed żgħir b'fokus ċar fuq l-ambjent tax-xogħol, bis-saffi kollha tas-sistema aċċessibbli.
Kuntrast qawwi mad-dinja tal-Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu, fejn kollox jinqasam f’biċċiet żgħar tant li l-astrazzjoni tpoġġi fuq l-astrazzjoni u ssuq bil-krozzi.
Kien hemm ukoll fehim ta 'kif is-sistema .hpkg jgħaqqad l-aħjar prattiki tal-maniġers tal-pakketti tradizzjonali, Snappy, Flatpak, AppImage, anke btrfs, u tgħaqqadhom mal-approċċ tal-Mac "biss jaħdem".

Kien bħallikieku xi ħaġa "inqalbet" f'rasi, u fhimt kif is-sistema .hpkg jaf kif jirrombla, biss billi tħares lejha. Imma mhux jien, imma s-sbuħija u s-sempliċità tas-sistema. Ħafna minn dan huwa ispirat mill-ispirtu tal-Mac oriġinali.

Iva, l-ibbrawżjar fil-browser jista 'jkun jerky u jaħdem bħal bebbuxu, applikazzjonijiet jistgħu jkunu neqsin (l-ebda Gtk, Electron - l-iżviluppaturi kkonkludew li ma jmorrux tajjeb mas-sofistikazzjoni), l-aċċelerazzjoni tal-vidjow u 3d jistgħu jkunu kompletament assenti, imma xorta għadni bhalu din is-sistema. Wara kollox, dawn l-affarijiet jistgħu jiġu kkoreġuti u llum jew għada se jidhru. Hija biss kwistjoni ta’ żmien u forsi ftit għajn ħamra.

Ma nistax noffri għajnuna, imma naħseb li se tibda minn issa sena ta 'Haiku fuq id-desktop.

Problemi każwali

Forsi diġà hemm talbiet, jew għandi niftaħhom?

  • BeScreenCapture għandu jkun kapaċi jesporta lejn GIF bħal Peek. Dan jista 'jsir bl-użu ta' ffmpeg, diġà disponibbli għall-Haiku. Applikazzjoni.
  • Softwer screenshot jonqos milli jaqbad tieqa modali, minflok jaqbad l-iskrin kollu
  • Ma tistax taqsam screenshots bl-użu tal-għodda tal-ħsad tal-WonderBrush u mbagħad issalva r-riżultat f'fajl
  • Ma nħobbx partikolarment il-cursor tal-idejn f'Haiku, iżda naħseb li għandu x'jaqsam mas-sensazzjoni nostalġika sħuna. Dan huwa speċjalment tedjanti meta tuża l-għodda tal-uċuħ tar-raba 'f'Krita, peress li jirriżulta f'ħsad mhux preċiż (ara screenshots ta' dialogs modali f'dan l-artikolu). Cursor crosshair ikun meraviljuż. Applikazzjoni.

Ipprova lilek innifsek! Wara kollox, il-proġett Haiku jipprovdi immaġini għall-ibbutjar minn DVD jew USB, iġġenerat kuljum. Biex tinstalla, tniżżel l-immaġni u iktebha fuq flash drive bl-użu Etcher

Għandek xi mistoqsijiet? Aħna nistednuk għall-russu jitkellmu kanal tat-telegramma.

Ħarsa ġenerali tal-iżball: Kif tispara lilek innifsek fis-sieq f'C u C++. Kollezzjoni ta 'riċetti Haiku OS

Mill l-awtur traduzzjoni: dan huwa s-sitt artiklu fis-sensiela dwar il-Haiku.

Lista ta' artikli: L-ewwel It-tieni It-tielet Ir-raba ' Il-ħames

Sors: www.habr.com

Żid kumment