Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.

TL;DR: Haiku — njĂ« sistem operativ i zhvilluar posaçërisht pĂ«r PC, prandaj ka disa truke qĂ« e bĂ«jnĂ« ambientin e tij tĂ« punĂ«s shumĂ« mĂ« tĂ« mirĂ« se sa tĂ« tjerat. Por si funksionon ai?

Kohët e fundit Zbulova Haiku, një sistem befasues mirë. Ende jam i mahnitur se sa shk smoothly funksionon, veçanërisht në krahasim me ambientet e punës në Linux. Sot do të hedh një vështrim nën kapak. Aty ku është e nevojshme për një kuptim më të thellë, do të bëj një krahasim me Macintosh origjinal, Mac OS X dhe ambientet e punës në Linux (standardet XDG nga freedesktop.org).

Burimet në skedarët ELF

Dje mësova që IconOMatic di të ruaj ikona në burimet rdef në skedarët ELF. Sot dua të shoh se si funksionon në të vërtetë.

Burimet? Cita nga Bruce Horn, autori origjinal i programit Macintosh Finder dhe "babai" i Macintosh Resource Manager:

Më shqetëson karakteri i ngurtë i kodimit tradicional. Për mua, ideja e aplikacioneve të ngrira në kod, pa mundësinë për të ndryshuar diçka dinamikisht - është një barbarizëm i madh. Duhet të ketë mundësinë për të ndryshuar sa më shumë që të jetë e mundur në kohën e ekzekutimit. Natyrisht, kodi i vetë aplikacionit nuk mund të ndryshohet, por ndonjë gjë mund të ndryshohet pa e riprogramuar kodin, apo jo?

Në Macintosh origjinal, u bë që këta skedarë të kenë "seksionin e të dhënave" dhe "seksionin e burimeve", që e bëri të jashtëzakonshme mbajtjen e gjërave të ndryshme, për shembull ikonave, përkthimeve, etj., në skedarët ekzekutivë.

Në Mac, për këtë përdoret ResEdit, një program grafik për - papritur - redaktimin e burimeve.

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
ResEdit në Macintosh origjinal

Si rezultat, u krijua mundësia për të redaktuar ikonat, elementet e menusë, përkthimet dhe të tjera mjaft lehtësisht, megjithatë ato ende "udhëtojnë" me aplikacionet.
Në çdo rast, ky qasje kishte një disavantazh të madh: punonte vetëm në sistemet e skedarëve të Apple, që ishte një nga arsyet pse Apple u hoq nga "seksioni i burimeve" kur kaloi në Mac OS X.
NĂ« Mac OS X, Apple donte zgjidhje tĂ« pavarur nga sistemi i skedarĂ«ve, prandaj aplikoi konceptin e paketave (nga NeXT), katalogĂ«ve qĂ« menaxhohen nga menaxheri i skedarĂ«ve si "objekte tĂ« papashembullta", si skedarĂ«t, e jo si katalogĂ«t. Çdo paketĂ« me aplikacion nĂ« formatin .app ka, pĂ«rmes tĂ« tjerave, skedarin Info.plist (nĂ« njĂ« analogji tĂ« caktuar tĂ« JSON ose YAML nga Apple), e cila pĂ«rmban metadatat e aplikacionit.

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
ÇelĂ«sat e skedarit Info.plist nga paketa e aplikacionit Mac OS X.

Burimet, për shembull ikonat, skedarët UI dhe të tjerë, ruhen në paketë në formë skedarësh. Koncepti në fakt u kthye në burime në NeXT.

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Mathematica.app në NeXTSTEP 1.0 në vitin 1989: shfaqet si një katalog me skedarë në terminal, por si një objekt i vetëm në menaxherin grafik të skedarëve.

Le të kthehemi te BeOS, mbi konceptet e të cilit bazohet Haiku. Zhvilluesit e saj, kur kaluan nga PEF (PowerPC) në ELF (x86) (po i njëjti që përdoret në Linux), vendosën të shtonin një seksion burimesh në fund të skedarëve ELF. Për këtë nuk u përdor një seksion të veçantë ELF, thjesht e shtuan në fund të skedarit ELF. Si rezultat, programet strip dhe të tjera nga binutils, që nuk dinin për këtë, thjesht e hoqën atë. Prandaj, duke shtuar burime në skedarin ELF në BeOS, është më mirë të mos punoni me mjetet e Linux.

ÇfarĂ« po ndodh tani me Haiku? NĂ« parim, mĂ« shumĂ«-mĂ« pak tĂ« njĂ«jtĂ«n gjĂ«.

Në teori, mund të vendoseshin burime në seksionin e duhur ELF. Sipas zhvilluesve në kanalin #haiku në rrjetin irc.freenode.net:

Me ELF, seksi do të kishte më shumë kuptim... arsyeja e vetme përse ne nuk e bëjmë kështu është se ashtu e bënim në BeOS.
Dhe tani nuk ia vlen ta ndryshosh atë.

Menaxhimi i burimeve

Burimet shkruhen në një format të strukturuar 'burimor': në thelb, është një listë burimesh me madhësitë e tyre dhe pastaj përmbajtja. Më erdhi në mendje formati ar..
Si të kontrolloj burimet në Haiku? A ka diçka si ResEdit?
Sipas dokumentacion:

Për të parë burimet e ofruara në paketën e aplikacionit, mund të tërheqësh skedarin ekzekutiv në një program si Resourcer.Gjithashtu mund të hyni në terminal dhe të ekzekutoni komandën listres emri_i_fajlit..

Resourcer është në HaikuDepot, por më bie thjesht.

Si të menaxhoj burimet në skedarët ELF? Duke përdorur rsrc. dhe rdef.. rdef. skedarët ndërtohen në rsrc.. Skedari rdef. ruan në një format të zakonshëm tekstual, kështu që punimi me të është shumë më i lehtë. Skedari në formatin rsrc. shtohet në fund të skedarit ELF. Le të provoni të luajmë:

~> rc -h
Haiku Resource Compiler 1.1Për të kompaktuar një skenar rdef në një skedar burimor:
    rc [options] [-o ] ...Për të kthyer një skedar burimor përsëri në një skenar rdef:
    rc [options] [-o ] -d ...Mundësitë:
    -d --decompile       krijoni një skenar rdef nga një skedar burimor
       --auto-names      ndërto emrat e burimeve nga simbolet ID
    -h --help            tregoni këtë mesazh
    -I --include    shtoni  në listën e rrugëve të përfshira
    -m --merge           mos e fshini përmbajtjen ekzistuese të skedarit të daljes
    -o --output          specifikoni emrin e skedarit të daljes, default është out.xxx
    -q --quiet           mos tregoni asnjë mesazh gabimi
    -V --version         tregoni versionin e softuerit dhe licencën

Mund të përdorni programin xres për verifikim dhe menaxhim:

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

Mirë, le të provojmë?

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

Më shumë për burimet dhe formatin rdef. mund të lexoni këtu.

Llojet standarde të burimeve

Megjithëse mund të vendosni çfarëdo në burime, ka disa lloje standarde të caktuara:

  • app_signature: lloji MIME i aplikacionit, pĂ«r tĂ« pĂ«rputhur skedarĂ«t qĂ« hapen, nisjen, IPC, etj.
  • app_name_catalog_entry: Pasi emri i aplikacionit Ă«shtĂ« zakonisht nĂ« anglisht, mund tĂ« tregoni vendet ku ndodhen emrat e pĂ«rkthyera, nĂ« mĂ«nyrĂ« qĂ« pĂ«rdoruesit e gjuhĂ«ve tĂ« ndryshme tĂ« shohin emrin e pĂ«rshtatshĂ«m kur dĂ«shirojnĂ«.
  • app_version: pikĂ«risht ajo qĂ« mendoni
  • app_flags: tregon registrar siqĂ« tĂ« trajtojmĂ« njĂ« aplikacion. Mendoj se ka diçka mĂ« tĂ« madhe se sa duket nĂ« shikim tĂ« parĂ«. PĂ«r shembull, ka B_SINGLE_LAUNCH, i cili bĂ«n qĂ« sistemi tĂ« nisi njĂ« proces tĂ« ri tĂ« aplikacionit çdo herĂ« qĂ« kĂ«rkohet nga pĂ«rdoruesi (i njĂ«jti princip pĂ«rdoret pĂ«r shumicĂ«n e aplikacioneve nĂ« Linux). Ka B_MULTIPLE_LAUNCH, qĂ« i bĂ«n tĂ« nisĂ« njĂ« proces pĂ«r çdo skedare. NĂ« fund, ka B_EXCLUSIVE_LAUNCH, i cili bĂ«n qĂ« sistemi tĂ« nisĂ« vetĂ«m njĂ« proces nĂ« tĂ« njĂ«jtĂ«n kohĂ«, pavarĂ«sisht se sa herĂ« e nisin pĂ«rdoruesit (pĂ«r shembull, Firefox nĂ« Linux niset nĂ« kĂ«tĂ« mĂ«nyrĂ«; tĂ« njĂ«jtin rezultat mund tĂ« arrihet nĂ« aplikacionet Qt, duke pĂ«rdorur funksionin QtSingleApplication). Aplikacionet me B_EXCLUSIVE_LAUNCH njoftohen kur pĂ«rdoruesi pĂ«rpiqet tĂ« nisĂ« atĂ« pĂ«rsĂ«ri: pĂ«r shembull, marrin rrugĂ«n e skedarit qĂ« pĂ«rdoruesi dĂ«shiron ta hapĂ« me ndihmĂ«n e tyre.
  • vector_icon: Ikona vektoriale e aplikacionit (NĂ« BeOS nuk kishte ikona vektoriale, shumica e aplikacioneve nĂ« vend tĂ« kĂ«tyre kishin nga dy ikona raster nĂ« skedarĂ«t ekzekutiv).

Sigurisht, mund të shtoni burime me çdo ID dhe tipe që dëshironi, dhe pastaj t'i lexoni ato në aplikacionin vetë ose në aplikacione të tjera përmes klasës BResources. Por së pari le të ndalemi në një temë interesant, ikonat.

Ikonat vektoriale në stilin Haiku

Natyrisht, jo vetëm Haiku zgjodhi formatin më të mirë për ikonat; në këtë pjesë situata me ambientet e punës në Linux është shumë e largët nga e përsosur:

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

Duke e parë këtë, mund të ndjeheni tashmë se çfarë është ky copë.

Sigurisht, ka scalable, që përmban, siç mund ta kuptoni, ikona vektoriale. Pse ka atëherë diçka tjetër? Sepse rezultati i vizatimit të grafikës vektoriale në madhësi të vogla mund të jetë më i keq se idealja. Dëshiroj të kem variante të ndryshme, të optimizuara për madhësi të ndryshme. Në ambientet e punës në Linux, kjo arrihet duke shpërndarë ikonat me madhësi të ndryshme në sistemin e skedarëve.

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

Kujdes: nuk ka konceptin e versioneve të ndryshme të Firefox. Prandaj, nuk mund të trajtohet hollësisht situata e pranishme e disa versioneve të aplikacionit në sistem.

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Ikonat e ndryshme të Firefox në versione të ndryshme. Deri tani, nuk është e mundur të trajtohet kjo në Linux pa ndryshime të ndryshme.

Mac OS X e trajton pak më ndryshe:

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

Duket se ka një skedar firefox.icns në paketën Firefox.app, e cila përmban të gjitha dimensionet, kështu që versione të ndryshme të një aplikacioni kanë ikona të ndryshme.
Shumë më mirë! Ikonat udhëtojnë së bashku me aplikacionin, të gjitha burimet në një skedar.

Të kthehemi te Haiku. Një zgjidhje mahnitëse, pa përjashtime. Sipas dokumentacion:

ËshtĂ« zhvilluar njĂ« format i veçantĂ«, i optimizuar pĂ«r madhĂ«si tĂ« vogla dhe renderim tĂ« shpejtĂ«, HVIF. Prandaj, ikonat tona janĂ« kryesisht shumĂ« mĂ« tĂ« vogla se nĂ« formatet raster ose nĂ« formatin e njohur SVG.

Dhe ato janë vërtet të optimizuara:

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Dimensionet e ikonës në HVIF krahasuar me formate të tjera.

Dallimi është një rend!

Por magjinë këtu nuk mbaron. I njëjti HVIF mund të tregojë nivele të ndryshme detajesh në varësi të madhësisë së shfaqjes, pavarësisht se është një format vektorial.

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Nivelet e ndryshme të detajeve (LOD) në varësi të madhësisë së vizatimit

Tani për disavantazhet: nuk mund të marrësh një SVG, ta hedhësh në ImageMagick dhe të ndalosh atje; duhet të kalosh përmes disa cikleve për të krijuar një ikonë në formatin HVIF. Këtu përshkrime. Sidoqoftë, IconOMatic mund ta importojë SVG-në mjaft në mënyrë të papërsosur; rreth 90% e detajeve të SVG importohen me një shkallë disa probabiliteti, ndërsa 10% e mbetur duhet të rregullohen dhe ndryshohen manualisht. Lexoni më shumë rreth mënyrës se si HVIF bën magjinë e tij mund të në blogun Lea Genson

Shtimi i ikonës në aplikacion

Tani mund ta shtoj ikonën në paketën e krijuar herën e kaluar, duke marrë parasysh të gjithë informacionin e marrë.
Tani, duke qenĂ« se nuk kam dĂ«shirĂ« tĂ« veçantĂ« pĂ«r tĂ« pikturuar njĂ« ikonĂ« tĂ« ndryshme pĂ«r aplikacionin tim 'PĂ«rshĂ«ndetje, BotĂ«' QtQuickApp — po e marr atĂ« nga 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

Le të kontrollojmë nëse ikona është kopjuar:

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

Duket mirë, por pse, kur ikona e re kopjohet, ajo nuk shfaqet?

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
VICN:101:BEOS:ICONs e kopjuar nuk po përdoret si ikonë për aplikacionin në menaxherin e skedarëve

ÇfarĂ« kam humbur?

Koment i zhvilluesit:

Duhet të krijoj një skedar rdef. me të gjitha burimet, pastaj zbato komandën rc emri.rdef, kjo do të krijojë një skedar .rsrc. Më pas duhet të ekzekutoj komandën resattr -o emri_binarit emri.rsrc. Si minimum, unë përdor komanda të ngjashme për të shtuar ikona në skenarët e mi.

Epo, doja të krijoja një burim, jo një atribut. Jam krejtësisht i konfuzuar.

Keshim i mençur duke përdorur sistemin e skedarëve

Hapja dhe leximi i atributeve ELF funksionon ngadalĂ«. Siç kam shkruar mĂ« sipĂ«r, ikona shkruhet si njĂ« burim nĂ« vetĂ« skedarin. Ky metodĂ« Ă«shtĂ« mĂ« e besueshme, lejon qĂ« tĂ« pĂ«rballojĂ« kopjimin nĂ« njĂ« sistem tjetĂ«r skedarĂ«sh. MegjithatĂ«, pastaj ajo gjithashtu kopjohet nĂ« atributin e sistemit tĂ« skedarĂ«ve, pĂ«r shembull BEOS:ICON. Kjo funksionon vetĂ«m nĂ« disa sisteme skedarĂ«sh, si BFS, pĂ«r shembull. Ikonat qĂ« sistemi shfaq (nĂ« Tracker dhe Deskbar) lexohen nga ky atribut i zgjeruar, sepse kjo zgjidhje punon shpejt. NĂ« disa vende (aty ku shpejtĂ«sia nuk Ă«shtĂ« e rĂ«ndĂ«sishme, si nĂ« dritaren tipike ‘Rreth programit’), sistemi merr ikonĂ«n drejtpĂ«rdrejt nga burimi nĂ« skedarin. Por kjo nuk Ă«shtĂ« ende fundi. Kujtoni, nĂ« Mac, pĂ«rdoruesit mund tĂ« zĂ«vendĂ«sojnĂ« ikonat e aplikacioneve, katalogeve dhe dokumenteve me tĂ« tyret, sepse nĂ« Mac ka mundĂ«sinĂ« tĂ« bĂ«jĂ« kĂ«to ‘gjĂ«ra tĂ« rĂ«ndĂ«sishme’, pĂ«r shembull ndĂ«rrimi i ikonĂ«s sĂ« re tĂ« Slack me ikonĂ«n e mĂ«parshme. NĂ« Haiku duhet tĂ« perceptohet burimi (nĂ« skedar) si ikona origjinale, e dhĂ«nĂ« me aplikacionin, ndĂ«rsa atributi (nĂ« sistemin e skedarĂ«ve BFS) si diçka qĂ« lejon pĂ«rdoruesin tĂ« bĂ«jĂ« ndryshime sipas dĂ«shirĂ«s (megjithatĂ«, njĂ« sugjerim, ndĂ«rfaqja grafike pĂ«r tĂ« vendosur ikonĂ«n e personalizuar mbi ikonĂ«n e parazgjedhur akoma nuk Ă«shtĂ« realizuar).

Kontrollimi i atributeve të sistemit të skedarëve

Me resaddr ka mundësinë të verifikojë dhe të vendosë atributet e sistemit të skedarëve.

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

Në thelb, kjo është "ngjitësi" që realizon konversionin nga një burim (i besueshëm) në atribute (të shpejtë) të sistemit të skedarëve. Dhe pasi sistemi supozon marrjen e burimeve dhe bën kopjimin automatikisht, unë nuk do të shqetësohem më shumë për këtë.

Mrekullia e pakove hpkg

Aktualisht (më së shpeshti) për të marrë programe në Haiku përdoren pakot .hpkg. Mos u mashtro nga emri i thjeshtë: formati .hpkg funksionon plotësisht ndryshe nga formatet e tjera me emra të ngjashëm me të cilat keni hasur, ai ka aftësi të vërteta super.

Me formatet tradicionale tĂ« pakove, kam qenĂ« pĂ«r njĂ« kohĂ« tĂ« gjatĂ« i shqetĂ«suar nga fakti i tillĂ«: shkarkon njĂ« (paketĂ«), por nĂ« sistem instalohet diçka tjetĂ«r (skedarĂ«t brenda paketĂ«s). Mjaft e vĂ«shtirĂ« tĂ« menaxhosh skedarĂ«t (pĂ«r shembull, t'i fshish), kur instalohet njĂ« paketĂ« nĂ« mĂ«nyrĂ« tradicionale. Dhe kjo ndodh pĂ«r shkak se pĂ«rmbajtja e paketĂ«s shkĂ«rmoqet nĂ« tĂ« gjithĂ« sistemin e skedarĂ«ve, duke pĂ«rfshirĂ« vende ku pĂ«rdoruesi i zakonshĂ«m mund tĂ« mos ketĂ« akses pĂ«r tĂ« shkruar. Kjo krijon njĂ« klasĂ« tĂ« tĂ«rĂ« programesh — menaxherĂ«t e pakove. Dhe nĂ« tĂ« vĂ«rtetĂ«, transferimi i njĂ« programi ekzistues, pĂ«r shembull, nĂ« njĂ« makinĂ« tjetĂ«r, njĂ« disk tĂ« jashtĂ«m ose njĂ« server skedarĂ«sh bĂ«het edhe mĂ« i vĂ«shtirĂ«, madje ndonjĂ«herĂ« edhe i pamundur. NĂ« njĂ« sistem tĂ« zakonshĂ«m tĂ« bazuar nĂ« Linux, mund tĂ« ekzistojnĂ« lehtĂ«sisht nga disa qindra mijĂ«ra deri nĂ« miliona skedare tĂ« ndara. Natyrisht, kjo Ă«shtĂ« njĂ«kohĂ«sisht e brishtĂ« dhe e ngadaltĂ«, pĂ«r shembull gjatĂ« instalimit fillestar tĂ« sistemit, gjatĂ« instalimit, pĂ«rditĂ«simit dhe fshirjes sĂ« paketave tĂ« zakonshme, si dhe gjatĂ« kopjimit tĂ« volumit tĂ« boot (particioni themelor) nĂ« njĂ« medium tjetĂ«r.

Unë po punoj mbi projektin AppImage, një zgjidhje të pjesshme për aplikacionet e përdoruesve të fundit. Ky është një format shpërndarjeje të softuerit, i cili mbledh aplikacionin dhe të gjitha varësitë e tij në një imazh të vetëm të sistemit të skedave, i cili monton gjatë fillimit të aplikacionit. Kjo e përshtat shumë situatën, pasi ImageMagick në mënyrë të papritur shndërrohet në një skedar të vetëm, i menaxhuar në menaxherin e skedarëve nga njerëz të zakonshëm. Mënyra e propozuar punon vetëm për softuerin, siç pasqyrohet në emrin e projektit, dhe gjithashtu ka një grup të vetin të problemeve, pasi njerëzit që merren me shpërndarjen e softuerit për Linux gjithmonë e hedhin fajin tek unë.

Të kthehemi te Haiku. A arritëm të gjejmë balancën optimale midis sistemeve tradicionale të paketave dhe shpërndarjes së softuerit të bazuar në imazhe? Paketat e saj .hpkg në thelb janë imazhe të kompresuara të sistemit të skedarëve. Në ngarkimin e sistemit, bërthama monton të gjitha paketat e instaluara dhe aktive me mesazhe të tilla bërthamore:

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

Super, apo jo? Qëndroni fort, do të ketë më shumë gjëra të shkëlqyera!

Ka një paketë shumë speciale:

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

Ajo pĂ«rmban njĂ« sistem operativ mjaft minimalist, duke pĂ«rfshirĂ« bĂ«rthamĂ«n. Besoni ose jo, bĂ«rthama vetĂ« nuk nxirret nga volumi i ngarkesĂ«s (particioni themelor), por ngarkohet me kujdes nĂ« vendin e saj nga paketa. .hpkg. NjĂ« moment fantastik! Kam pĂ«rmendur se, sipas mendimit tim, njĂ« pjesĂ« e rafinimit dhe koherencĂ«s sĂ« pĂ«rgjithshme tĂ« Haiku Ă«shtĂ« rezultat i ndihmĂ«s qĂ« tĂ« gjithĂ« sistemi, nga bĂ«rthama dhe hapĂ«sira bazĂ« e pĂ«rdoruesit deri te menaxhimi i pakove dhe infrastruktura e mjedisit tĂ« punĂ«s, zhvillohet nga njĂ« ekip i vetĂ«m. Imagjinoni se sa grupe dhe ekipe tĂ« ndryshme do tĂ« nevojiteshin pĂ«r tĂ« pranuar njĂ« gjĂ« tĂ« tillĂ« mbi bazĂ«n e Linux. [po imagjinoj projektin PuppyLinux, — shĂ«nim i pĂ«rkthyesit]. Pastaj, imagjinoni se sa kohĂ« do tĂ« nevojitej pĂ«r ta implementuar kĂ«tĂ« qasje nĂ« distribucione. ThonĂ«: merr njĂ« detyrĂ« tĂ« thjeshtĂ«, ndaje mes ekzekutorĂ«ve tĂ« ndryshĂ«m, dhe ajo do tĂ« komplikohet aq shumĂ« saqĂ« nuk do tĂ« jetĂ« e zgjidhshme. Haiku nĂ« kĂ«tĂ« rast mĂ« hapi sytĂ«. Mendoj se kjo Ă«shtĂ« ajo qĂ« po ndodh me Linux aktualisht (Linux nĂ« kĂ«tĂ« rast Ă«shtĂ« njĂ« termin i pĂ«rgjithshĂ«m qĂ« pĂ«rfshin stakun Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu).

Rivendosja e sistemit duke përdorur hpkg

Sa shpesh ndodh që situata e mëposhtme: azhurnimi ka kaluar me sukses, dhe më pas zbulohet se diçka nuk funksionon siç duhet? Nëse përdoren menaxherët e zakonshëm të paketave, është e vështirë të rikthehet gjendja e sistemit në momentin para instalimit të paketave të reja (për shembull, në rastin kur diçka shkon keq). Disa sisteme ofrojnë anashkalime në formën e fotove të sistemit të skedarëve, por ato janë mjaft të ngarkuara dhe aplikohet larg në të gjitha sistemet. Në Haiku, kjo është zgjidhur përmes paketave. .hpkgSa herë që paketa në sistem ndryshojnë, paketat e vjetra nuk fshihen, por ruhen në sistem në nënfoldera të llojit /Haiku/system/packages/administrative/state-<...>/ përherë. Operacionet e papërfunduara ruajnë të dhënat e tyre në nënfoldera /Haiku/system/packages/administrative/transaction-<...>/.

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
PĂ«rmbajtja /Haiku/system/packages/administrative. Folderat "state..." pĂ«rmbajnĂ« skedarĂ« tekstualĂ« me emrat e paketimeve aktive, "transaction..." – vetĂ« paketat.

"Gjendja aktive e vjetër", dmth. lista .hpkg e paketimeve, aktive përpara ndryshimeve, regjistrohet pas çdo operacioni në menaxherin e skedarëve në një skedar tekstual /Haiku/system/packages/administrative/state-<...>/activated-packages. Në një mënyrë të ngjashme shkruhet gjendja e re "aktive" në një skedar tekstual. /Haiku/system/packages/administrative/activated-packages.

KatalĂłg /Haiku/system/packages/administrative/state-<...>/ pĂ«rmban vetĂ«m njĂ« skedar tekstual me listĂ«n e pakove aktive tĂ« kĂ«saj gjendjeje (nĂ« rastin e instalimeve tĂ« pakove pa fshirje), dhe nĂ«se paketat janĂ« fshirĂ« ose pĂ«rditĂ«suar — katalogu state pĂ«rmban versionet e vjetra tĂ« pakove.

Kur ngarkohet sistemi, nĂ« bazĂ« tĂ« listĂ«s sĂ« pakove merret njĂ« vendim pĂ«r aktivizimin (mountimin) e paketave. KĂ«shtu Ă«shtĂ« e thjeshtĂ«! NĂ«se diçka shkon keq gjatĂ« ngarkimit — mund tĂ« tregoni menaxherit tĂ« ngarkesĂ«s tĂ« pĂ«rdorĂ« njĂ« listĂ« tjetĂ«r, mĂ« tĂ« vjetĂ«r. Problemi zgjidhet!

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Bootloader-i Haiku. Çdo pikĂ« hyrjeje tregon gjendjen e saj pĂ«rkatĂ«se "aktive".

Më pëlqen qasja me skedarë tekstualë të thjeshtë si listë "aktive", ku shkruhen emra të kuptueshëm. .hpkg. Kjo është një kontrast i qartë me atë që është krijuar për makinat e jo për njerëzit. grumbullën nga OSTree ose Flatpak në sistemin e skedarëve (në nivelin aty ku është edhe Microsoft GUID).

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Lista e pakove aktive për çdo moment të caktuar

Të dhënat konfiguruese

Duket se në katalogun /Haiku/system/packages/administrative/writable-files përmban skedarë konfigurimi për paketat, por të disponueshëm për shkrim. Sepse, siç e mbani mend, .hpkg montohen vetëm për lexim. Kështu që, këto skedare duhet të kopjohen nga paketat para se të shkruhen. Ka kuptim.

Integrimi i GUI për sistemin .hpkg

Tani le të shikojmë se si këto paketat e shkëlqyera .hpkg kanë përballuar integrimin në ambjentin e punës të përdoruesit (UX). Në fund të fundit, Haiku është projektuar për përdorim personal. Personalish, kam vendosur një standard të lartë, duke e krahasuar përvojën e përdoruesit me paketat .app në Macintosh me të njëjtën përvojë në .hpkg. Nuk do të krahasoj as situatën me ambientet e punës në Linux, sepse është krejtësisht e tmerrshme në krahasim me çdo tjetër.

Më vijnë në mendje skenarët e mëposhtëm:

  • Dua tĂ« shikoj pĂ«rmbajtjen e paketĂ«s .hpkg
  • Dua tĂ« instaloj paketĂ«n
  • Dua tĂ« fshij paketĂ«n
  • Dua tĂ« fshij diçka qĂ« ka ardhur nĂ« sistem si pjesĂ« e paketĂ«s
  • Dua tĂ« kopjoj diçka qĂ« ka ardhur nĂ« sistem si pjesĂ« e paketĂ«s
  • Dua tĂ« shkarkoj tĂ« gjitha varĂ«sitĂ« e paketĂ«s qĂ« nuk mund tĂ« jenĂ« pjesĂ« e çdo instalimi tĂ« Haiku (p.sh., kam njĂ« makinĂ« fizikisht tĂ« izoluar pa qasje nĂ« Internet.)
  • Deshiroj tĂ« zhvendos paketat e mia (ose njĂ« pjesĂ« tĂ« tyre) nĂ« njĂ« vend tĂ« veçantĂ«, tĂ« ndarĂ« nga ndarja kryesore (pjesa root) (pĂ«r shembull, sepse kam mungesĂ« hapsire atje).

Kjo duhet të mbulojë shumicën e rasteve bazë nga puna ime e përditshme. Le të fillojmë.

Kontrollimi i përmbajtjes së paketës

Në Mac unë vetëm klikoj me të djathtën mbi paketën për ta hapur dhe parë përmbajtjen në Finder. Sepse në të vërtetë, është thjesht një katalog i maskuar! (E di që ka paketa .pkg për pjesën e sistemit që nuk janë aplikacione, por përdoruesit e zakonshëm shpesh nuk ndërveprojnë me to).

Në Haiku unë klikoj me të djathtën mbi paketën, pastaj klikoj mbi 'Contents' për të parë se çfarë ka brenda. Por këtu thjesht është një listë skedarësh pa mundësi për t'i hapur me dy klikime.
Do të ishte shumë më mirë nëse do të ekzistonte një mënyrë (temporare) për të montuar paketën .hpkg për ta parë përmes menaxherit të skedarëve, kështu që përdoruesi nuk do të duhet të shqetësohet për detajet e implementimit. (Meqenëse, mund të hapni .hpkg paketën në Expander, i cili mund ta nxjerrë si çdo arkiv tjetër).

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Në ndërfaqen HaikuDepot, mund të shihni listën e skedarëve të paketës, por nuk ka mundësi për të parë përmbajtjen, për shembull, duke dyfishtë klikuar mbi README.md.

Në këtë kategori, Mac fiton, por shtimi i funksionalitetit të nevojshëm në HaikuDepot nuk duhet të paraqesë shumë vështirësi.

Instalimi i paketës përmes GUI

Në Mac, shumica e imazheve të disqeve .dmg përmbajnë paketa .app. Hapim imazhin e diskut duke dyfishtë klikuar mbi të, pastaj kopjojmë paketën, për shembull, duke e tërhequr atë në /Applications në Finder. Për mua kjo duket e natyrshme, por kam dëgjuar se disa fillestarë mund të kenë vështirësi me këtë. Sipas parazgjedhjes, Apple "ofron" një katalog të përgjithshëm /Applications (në NeXT ai ishte rrjetor, si dhe individual), por mund të vendosni lehtësisht aplikacionet tuaja në një server skedarësh ose në një nënkatalog $HOME/Applications, nëse ju pëlqen kështu.

NĂ« Haiku, dyfishtĂ« klikoni mbi paketĂ«n, pastaj klikoni mbi "Instalo", Ă«shtĂ« shumĂ« e thjeshtĂ«. MĂ« intereson se çfarĂ« do tĂ« ndodhte nĂ«se paketa ka varĂ«si qĂ« janĂ« nĂ« HaikuPorts, por akoma nuk janĂ« instaluar. NĂ« Linux nĂ« tĂ« vĂ«rtetĂ« nuk dinĂ« çfarĂ« tĂ« bĂ«jnĂ« nĂ« kĂ«tĂ« situatĂ«, por zgjidhja Ă«shtĂ« e qartĂ« — tĂ« pyesin pĂ«rdoruesin nĂ«se duhet tĂ« shkarkojnĂ« dhe instalojnĂ« varĂ«sitĂ«. PikĂ«risht atĂ« qĂ« bĂ«n Haiku.

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
E kam shkarkuar paketĂ«n ‘sanity’ manualisht dhe e pata klikur, menaxheri i paketave e di se nga ta marrĂ« varĂ«sitĂ« (nĂ«n kushtin qĂ« depozitat tĂ« jenĂ« tashmĂ« tĂ« shkruara nĂ« sistem). Nuk çdo shpĂ«rndarje Linux e ka kĂ«tĂ« aftĂ«si.

NjĂ« tjetĂ«r mĂ«nyrĂ« Ă«shtĂ« pĂ«rdorimi i menaxherit tĂ« skedarĂ«ve, mjafton ta tĂ«rheqĂ«sh .hpkg paketĂ«n ose nĂ« /Haiku/system/packages (pĂ«r instalim tĂ« pĂ«rgjithshĂ«m, sipas parazgjedhjes), ose nĂ« /Haiku/home/config/packages (pĂ«r instalim individual; e pamundur me dy klikime — ende mĂ« irriton fjala ‘config’ kĂ«tu, e cila pĂ«r mua nĂ« kĂ«tĂ« rast Ă«shtĂ« sinonim i ‘settings’). Por koncepti i shumĂ« pĂ«rdoruesve ende nuk Ă«shtĂ« nĂ« dispozicion pĂ«r Haiku (ndoshta prandaj gjithçka Ă«shtĂ« kaq e thjeshtĂ« — nuk e di, ndoshta mundĂ«sitĂ« shumĂ«pĂ«rdoruese e komplikohet shumĂ« pĂ«r njĂ« ambient pune nĂ« kompjuterin personal).

Në këtë kategori, Haiku fiton, sepse di të punojë jo vetëm me aplikacione, por edhe me programe sistemike.

Fshirja e paketës nga GUI

Në Mac, duhet të tërheqësh ikonën e aplikacionit në koshin e plehrave, dhe kjo është e gjitha. E lehtë!

Në Haiku, së pari, duhet të gjesh se ku ndodhet paketa në sistem, sepse rrallë herë do ta instalosh atë aty ku duhet (gjithçka e bën sistemi). Zakonisht duhet kërkuar në /Haiku/system/packages (në instalimin e përgjithshëm të paracaktuar), ose në /Haiku/home/config/packages (kam thënë tashmë që 'config' është një emër i gabuar?). Pastaj aplikacioni thjesht tërhiqet në kosha, dhe kjo është e gjitha.
E lehtë! Megjithatë, nuk do ta thosha kështu. Ja se çfarë ndodh vërtet:

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Ja çfarë ndodh nëse tërheq aplikacionin në kosha nga /Haiku/system/packages

Thjesht provova tĂ« lĂ«viz aplikacionin tim tĂ« djeshĂ«m ‘PĂ«rshĂ«ndetje, Botë’ nĂ« QtQuickApp nĂ« kosha. Nuk kam provuar tĂ« lĂ«viz katalogun sistemor, dhe pasi qĂ« tĂ« gjitha paketat instalohen nĂ« katalogun sistemor — nuk Ă«shtĂ« e mundur tĂ« fshihet njĂ« paketĂ« .hpkg pa ndryshuar ‘pĂ«rmbajtjen e saj’. NjĂ« pĂ«rdorues i zakonshĂ«m do tĂ« friksohej, do tĂ« shtypte butonin 'Anulo', i caktuar si parazgjedhje.

Shpjegon mr. waddlesplash:

Ky mesazh është më shumë se 10 vjet. Mbase duhet ta konfiguroni që paralajmërimi të shfaqet vetëm kur lëvizin vetë paketën. Përdoruesit e zakonshëm nuk e kanë nevojë për atë në çdo rast.

MirĂ«, ndoshta duhet ta bĂ«j kĂ«tĂ« duke pĂ«rdorur HaikuDepot? Klikoj dy herĂ« mbi paketĂ«n nĂ« /Haiku/system/packages, duke pritur qĂ« tĂ« shfaqet butoni ‘Shkruaj’. Jo, ka (vetĂ«m) 'Instalo'. ‘Shkruaj’, ku je?

Për shkak të kuriozitetit, provova të shoh se çfarë do të ndodhte nëse do të klikja "Installo" për një paketë që është tashmë e instaluar. Kjo është ajo që ndodh:

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Kjo ndodh nëse përpiqeni të instaloni një paketë që është tashmë e instaluar.

Pastaj shfaqet:

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
NĂ«se klikoni "Zbatoni ndryshimet" nĂ« dritaren e mĂ«parshme — do tĂ« rezultojĂ« kĂ«shtu

Mendoj se Ă«shtĂ« njĂ« gabim programor, ekziston njĂ« referencĂ« pĂ«r kĂ«rkesĂ«n. [autor nuk e dha lidhjen, — shĂ«nim i pĂ«rkthyesit]

Zgjidhje e shpejtĂ«: Shtoni butonin "Çinstalo" nĂ«se paketa Ă«shtĂ« tashmĂ« nĂ« /Haiku/system/packages, ose nĂ« /Haiku/home/config/packages.

Kur shikoj listën e pakove të instaluara në HaikuDepot, unë e shoh paketën time në listë dhe mund ta largohem.

Në këtë kategori fiton Mac. Por mund ta imagjinoj se me konfigurimin e duhur, përvoja e përdoruesit në Haiku do të ishte më e mirë se në Mac. (Një nga zhvilluesit e vlerësoi atë kështu: "Më pak se një orë për të shtuar funksionalitetin e përmendur në HaikuDepot, nëse dini pak C++", a ka vullnetarë?)

Fshirja e ndonjë gjëje nga paketa

Le të provojmë të heqim aplikacionin vetë, e jo paketën .hpkg, nga e cila erdhi (dyshoj se ka ndonjë diferencë për 'të thjeshtit').

Në Mac, përdoruesi në të vërtetë zakonisht punon me skedarin .dmg, nga ku vjen paketa e aplikacionit .app. Zakonisht imazhet .dmg grumbullohen në katalogun e shkarkimeve, ndërsa paketat kopjohen nga përdoruesi në /Applications. Ka mendime se shumë përdorues as vetë nuk e dinë se çfarë po bëjnë, kjo hipotezë përkrahët nga një ish-punonjës i Apple. (Një nga gjërat që më shqetëson te Mac. Ndërsa, për shembull, me AppImage nuk ka diferencë midis aplikacionit dhe paketës, në të cilën është. E tërheqe ikonën në plehrat = kjo është ajo. E lehtë!)

Në Haiku, gjithashtu ka një ndarje midis aplikacioneve/ dhe paketave/, kështu që dyshoj se përdoruesit kanë bërë më të qartë. Por ja çfarë ndodh nëse e tërheq një aplikacion nga aplikacioneve/ në plehra:

Dita ime e gjashtë me Haiku: nën kapak ka burime, ikona dhe paketa.
Kjo është ajo që ndodh kur përpiqeni të fshini një aplikacion, i marrë nga një skedar .hpkg

Teknikisht është e saktë (sepse aplikacioni është vendosur në sistemin e skedarëve vetëm për lexim, kryesisht), por kjo nuk është shumë e dobishme për përdoruesin.

Zgjidhje e shpejtë: përkundrazi, ofroni përmes GUI për të fshirë .hpkg

PĂ«r tĂ« qeshur, provova tĂ« kopjoj aplikacionin duke shtypur Alt+D. Mora njĂ« mesazh 'Nuk mund tĂ« zhvendos ose kopjoj objekte nĂ« njĂ« volum vetĂ«m pĂ«r lexim'. Dhe kjo sepse /system pĂ«rveç /system/packages dhe /system/settings) Ă«shtĂ« pika e montimit tĂ« packagefs (mbani mend si shfaqet nĂ« daljen df?). К ŃĐŸĐ¶Đ°Đ»Đ”ĐœĐžŃŽ, ĐČыĐČĐŸĐŽ ĐșĐŸĐŒĐ°ĐœĐŽŃ‹ mount nuk e sqarojnĂ« situatĂ«n (siç u tha nĂ« njĂ« nga artikujt e mĂ«parshĂ«m), mountvolume nuk tregon atĂ« qĂ« kĂ«rkohet (duke u dukur se paketat qĂ« montohen pĂ«rmes loop-it .hpkg nuk konsiderohen si «vĂ«llime»), dhe gjithashtu harrova komandat alternative.

Në këtë kategori nuk fitoi askush, përveç AppImage (por kjo, nëse jemi krejt të sinqertë, është një opinion i anshëm). Megjithatë, mund të imagjinohet se pas përshtatjes, përvoja e përdoruesve në Haiku do të jetë më e mirë se në Mac.

Shënim: duhet të sqarojmë se çfarë është «vëllim» në lidhje me «seksionin». Mendoj se është diçka e ngjashme me marrëdhënien mes «dosjeve» dhe «katalogëve»: shumica e katalogëve shfaqen në menaxherin e skedarëve si dosje, por jo të gjithë (për shembull, paketat që trajtohen si skedarë). A e bëjnë këto përfundime më një nerd zyrtar?

Kopjimi i përmbajtjes së paketës në një sistem tjetër

NĂ« Mac, e tĂ«rheq paketĂ«n thjesht .app, dhe pasi varĂ«sitĂ« brenda paketĂ«s — ato lĂ«vizin gjithashtu.

Në Haiku, e tërheq aplikacionin, por varësitë nuk trajtohen fare.

Zgjidhja e shpejtë: Le të propozoni të tërheqni paketën «`.hpkg në tërësi, së bashku me varësitë, nëse ato ekzistojnë.

NĂ« kĂ«tĂ« kategori, Mac padyshim fiton. TĂ« paktĂ«n pĂ«r mua, adhuruesin e paradigms sĂ« tij. Duhet ta kopjojĂ« Haiku. .hpkg shtĂ« pĂ«r aplikacionin, por sistemi nuk mĂ« ofron njĂ« tĂ« tillë 

Shkarkimi i paketës me të gjitha varësitë e saj.

Jo çdo makinĂ« Ă«shtĂ« e lidhur me rrjetin gjatĂ« gjithĂ« kohĂ«s. PĂ«rkundrazi, disa makina (po, po flas pĂ«r ju, Windows, Mac dhe Linux moderne) e harrojnĂ« kĂ«tĂ«. PĂ«r mua Ă«shtĂ« e rĂ«ndĂ«sishme qĂ« tĂ« mund tĂ« shkoj, pĂ«r shembull, nĂ« njĂ« internet kafe, tĂ« shkarkoj softuer nĂ« njĂ« pajisje tĂ« jashtme, ta fus atĂ« nĂ« kompjuterin tim personal dhe tĂ« jem i sigurt qĂ« gjithçka do tĂ« funksionojĂ« [djali me rrezik, tĂ« bĂ«jĂ« njĂ« gjĂ« tĂ« tillĂ« nĂ« Windows
 — shĂ«nimi i pĂ«rkthyesit].

Si rezultat, më shpesh se gjithmonë, zakonisht marr varësi të pakënaqshme në Windows dhe Linux.

Në Mac në përgjithësi është një file, gjithçka që duhet është të shkarkohet. .dmgShumica e kohës ai nuk ka varësi, përveç atyre që ofrohen nga MacOS si të parazgjedhura. Si përjashtim, mund të përmendim aplikacione komplekse që kërkojnë mjedisin përkatës përkatës, siç është java.

Në Haiku shkarko paketën. .hpkg për, le të themi, atë njëjtin aplikacion në java, mund të jetë e pamjaftueshme, pasi java mund të jetë e pranishme ose e munguar në makinën e targetuar. A ekziston ndonjë mënyrë për të shkarkuar të gjitha varësitë për këtë paketë? .hpkg, përveç atyre që instalohen në Haiku si parazgjedhje dhe, për rrjedhojë, duhet të jenë në çdo sistem Haiku?

Në këtë kategori, Mac fiton me një diferencë të vogël.

Komenton z. waddlesplash:

Për të shkruar një program që mbledh të gjitha varësitë e një aplikacioni në formën e një grupi paketash .hpkg për dikë që është i njohur me strukturën e brendshme të Haiku, mjafton rreth 15 minuta. Shtimi i mbështetjes për këtë nuk është aq i vështirë, nëse ka një nevojë reale për të. Por për mua, kjo është një situatë e rrallë.

Të mbajmë frymën për artikullin tjetër në këtë cikël.

Shkarkimi i paketave në një vend të veçantë

Siç e kam shkruar më parë, dua të vendos paketat e mia .hpkg (apo, ose pjesë të tyre) në një vend të veçantë, të ndarë nga vendosja e zakonshme në volumin e ngarkesës (ndarja rrënjësore). Në rastin e zakonshëm (nuk është aq teorik) arsyeja është se vazhdimisht mbaron vendi i lirë në disqet e mia (të integroara), pa marrë parasysh sa të mëdhenj janë ato. Dhe zakonisht lidhem me disqe të jashtme ose burime rrjetesh ku ndodhen aplikacionet e mia.

Në Mac unë thjesht e lëviz paketën .app në një disk të dëgjueshëm ose në një katalog në rrjet në Finder, dhe kjo është gjithçka. Unë ende mund ta hap aplikacionin me dy klikime siç bëja zakonisht me volumin e ngarkesës. Thjesht!

Në Haiku, siç më janë thënë, kjo mund të arrihet duke e lëvizur paketën time .hpkg në një disk të dëgjueshëm ose në një katalog në rrjet, por pastaj duhet të përdor disa komanda të pa dokumentuara në konsolë për ta montuar ato në sistem. Nuk e di si ta bëj këtë, duke përdorur vetëm GUI.

Në këtë kategori fiton Mac.

Sipas zotit waddlesplash:

Këtu optimizimi është bërë për aplikim të zakonshëm. Nëse ka kërkesë më të madhe se një përdorues, ne do ta realizojmë këtë. Në çdo rast ka mundësi për realizim nga palë të treta.

Për këtë do të flasim në artikullin e ardhshëm.

Kur flasim për katalogët në rrjet: do të ishte e mrekullueshme (supozoj festë LAN) të kishim aplikacione të thjeshta, të zbuluara, rrjetore (p.sh., përmes Zeroconf), të cilat mund të kopjohen në kompjuterin lokal ose të ekzekutohen menjëherë nga rrjeti lokal. Sigurisht, zhvilluesit kanë mundësinë e refuzimit përmes app_flags.

Raporti përfundimtar mbi integrimin e sistemit hpkg me GUI

Mendoj se kryesisht për shkak të relativisht të rejës, integrimi .hpkg me GUI ende lë për të dëshiruar. Në çdo rast, ka disa gjëra që mund të përmirësohen në lidhje me UX...

Një gjë tjetër: Kernel Debug Land

Do tĂ« ishte fantastike tĂ« mund tĂ« jepnim komanda gjatĂ« njĂ« kernel panic, pĂ«r shembull syslog | grep usb. Po, nĂ« Haiku kjo Ă«shtĂ« e mundur falĂ« Kernel Debug Land. Si ta shohim kĂ«tĂ« magji nĂ« veprim, nĂ«se gjithçka funksionon siç duhet pa kaluar nĂ« kernel panic? LehtĂ«, duke shtypur Alt+PrintScn+D (mnemonika e Debug). MĂ« kujtohet menjĂ«herĂ« Programmer’s Key, qĂ« lejonte zhvilluesit fillestarĂ« tĂ« Macintosh tĂ« hynin nĂ« debugger (nĂ«se ishte instaluar, sigurisht).

Përfundimi

Poçeta të kuptoj se sofistikimi i sistemit Haiku buron nga puna e një ekipi të vogël me fokus të qartë në mjedisin e punës, me qasje në të gjitha shtresat e sistemit.
Një kontrast i ashpër me botën Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu, ku gjithçka është e ndarë në pjesë kaq të vogla saqë abstraksioni qendron mbi abstraksionin dhe e drejton me kuti.
Gjithashtu, kam kuptuar se si sistemi .hpkg kombinon praktikat më të mira të menaxherëve të paketave tradicional, Snappy, Flatpak, AppImage, madje edhe btrfs, dhe i përzien ato me parimin "thjesht funksionon" si në Mac.

Ishte si tĂ« kishte "ndĂ«rruar" diçka nĂ« mendje, dhe unĂ« kuptova se si sistemi .hpkg mund tĂ« rikthejĂ«, — duke e parĂ« thjesht atĂ«. Por kĂ«tĂ« nuk e bĂ«j unĂ«, por bukuria dhe thjeshtĂ«sia e sistemit. ShumĂ« elementi janĂ« pĂ«rthyer me shpirtin e Mac origjinal.

Po, shikimi i faqeve nĂ« shfletues mund tĂ« jetĂ« i ngadaltĂ« dhe tĂ« funksionojĂ« si njĂ« gĂ«shtenjĂ«, ndoshta mungojnĂ« aplikacionet (nuk ka Gtk, Electron — zhvilluesit arritĂ«n nĂ« pĂ«rfundimin se ato nuk pĂ«rshtaten mirĂ« me delikatĂ«sinĂ«), pĂ«rshpejtimi i videove dhe 3D mund tĂ« mungojĂ« fare, por sĂ«rish mĂ« pĂ«lqen kjo sistem. KĂ«to gjĂ«ra mund tĂ« rregullohen dhe ato do tĂ« dalin herĂ«t a vonĂ«. ËshtĂ« vetĂ«m çështje kohe dhe ndoshta pak sy tĂ« kuq.

Nuk mund të ofroj ndihmë, por mendoj se nga ky moment do të fillojë viti Haiku në desktop.

Probleme të rastësishme

Mbase tashmë ka kërkesa, apo duhet t'i hap ato?

  • BeScreenCapture duhet tĂ« ketĂ« mundĂ«sinĂ« pĂ«r tĂ« eksportuar nĂ« GIF, si nĂ« Peek. Kjo mund tĂ« bĂ«het me ffmpeg, qĂ« Ă«shtĂ« tashmĂ« nĂ« dispozicion pĂ«r Haiku. KĂ«rkesa.
  • Programi pĂ«r tĂ« kapur ekranin nuk mund tĂ« bĂ«jĂ« njĂ« kapje tĂ« dritares modale, nĂ« vend tĂ« kĂ«saj kap atĂ« krejtĂ«sisht
  • Nuk mund tĂ« priten shkrepjet e ekranit me mjetin pĂ«r pritje nĂ« WonderBrush, dhe mĂ« pas — tĂ« ruhet rezultati nĂ« skedarin
  • Nuk mĂ« pĂ«lqen shumĂ« kursori nĂ« formĂ«n e dorĂ«s nĂ« Haiku, por mendoj se kjo lidhet me ndjenjat e ngrohta nostalgjike. Kjo Ă«shtĂ« veçanĂ«risht shqetĂ«suese kur pĂ«rdorim veglĂ«n e prerjes nĂ« Krita, pasi rezulton njĂ« prerje e pasaktĂ« (shihni ekranet me dialogĂ« modalĂ« nĂ« kĂ«tĂ« artikull). NjĂ« kursor nĂ« formĂ«n e kryqit do tĂ« ishte mjaft i mrekullueshĂ«m. KĂ«rkesa.

Provo vetë! Projektin Haiku ofron imazhe për ngarkim me DVD ose USB, të krijuara çdo ditë. Për instalimin është e mjaftueshme të shkarkosh imazhin dhe ta regjistrosh në një flash drive me ndihmën e Etcher

Keni pyetje? Ju ftojmë në kanalin rusishtfolës të telegramit.

Pasqyrë e gabimeve: Si të të godasësh në këmbë me C dhe C++. Katalogu i recetave Haiku OS

Nga autori përkthimi: ky është artikulli i gjashtë në ciklin rreth Haiku.

Lista e artikujve: E para E dyta E treta E katërta E pesta

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster