Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii

TL; DRA: Haiku jẹ ẹrọ ṣiṣe pataki ti a ṣe apẹrẹ fun awọn PC, nitorinaa o ni awọn ẹtan diẹ lati jẹ ki o jẹ agbegbe tabili ti o dara julọ ju awọn miiran lọ. Ṣugbọn bawo ni o ṣe n ṣiṣẹ?

Laipe Mo ṣe awari Haiku, eto ti o dara lairotẹlẹ. Mo tun jẹ iyalẹnu ni bi o ṣe n ṣiṣẹ laisiyonu, paapaa nigbati a ba ṣe afiwe si awọn agbegbe tabili Linux. Loni Emi yoo wo labẹ hood. Nibiti o ṣe pataki fun oye ti o jinlẹ, Emi yoo ṣe awọn afiwera pẹlu atilẹba Macintosh, Mac OS X, ati awọn tabili itẹwe Linux (boṣewa XDG lati freedesktop.org).

Awọn orisun ni awọn faili ELF

Lana Mo rii pe IconOMatic le fipamọ awọn aami ni awọn orisun rdef ni awọn faili ṣiṣe ELF. Loni Mo fẹ lati rii bi o ṣe n ṣiṣẹ gangan.

Awọn orisun? Sọ lati Bruce Horn, onkowe atilẹba ti Macintosh Finder ati baba ti Macintosh Resource Manager:

Mo ni aniyan nipa iseda lile ti ifaminsi ibile. Fun mi, imọran pupọ ti ohun elo kan ti o di didi ni koodu, laisi agbara lati yi ohunkohun pada ni agbara, jẹ aginju ti o dara julọ. O yẹ ki o ṣee ṣe lati yipada bi o ti ṣee ṣe ni akoko asiko. Nitoribẹẹ, koodu ohun elo funrararẹ ko le yipada, ṣugbọn ṣe nkan le yipada laisi iṣakojọpọ koodu naa?

Macintosh atilẹba jẹ ki awọn faili wọnyi ni “apakan data” ati “apakan orisun”, eyiti o jẹ ki o rọrun pupọ lati fipamọ awọn nkan bii awọn aami, awọn itumọ, ati bẹbẹ lọ. ni executable awọn faili.

Lori Mac, eyi kan Ṣatunkọ, eto ayaworan fun - lojiji - awọn orisun ṣiṣatunkọ.

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
ResEdit lori atilẹba Macintosh

Bi abajade, o ṣee ṣe lati ṣatunkọ awọn aami, awọn ohun akojọ aṣayan, awọn itumọ, ati bẹbẹ lọ. rorun to, sugbon ti won si tun "ajo" pẹlu awọn ohun elo.
Ni eyikeyi idiyele, ọna yii ni apadabọ nla: o ṣiṣẹ nikan lori awọn ọna ṣiṣe faili Apple, eyiti o jẹ ọkan ninu awọn idi ti Apple fi kọ “apakan orisun” silẹ nigbati o nlọ si Mac OS X.
Lori Mac OS X, Apple fẹ ojutu olominira ti eto faili, nitorinaa wọn gba imọran ti awọn idii (lati NeXT), awọn ilana ti a ṣe itọju bi “awọn ohun ti ko ni agbara” nipasẹ oluṣakoso faili, bii awọn faili, kii ṣe awọn ilana. Eyikeyi package pẹlu ohun elo ni ọna kika .app ni, ninu ohun miiran, awọn faili Info.plist (ni diẹ ninu awọn afọwọṣe ti JSON tabi YAML lati Apple) ti o ni metadata ohun elo ninu.

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Info.plist faili bọtini lati Mac OS X ohun elo package.

Awọn orisun, gẹgẹbi awọn aami, awọn faili UI, ati awọn miiran, ti wa ni ipamọ ninu package bi awọn faili. Ero naa gangan pada si awọn gbongbo rẹ ni NeXT.

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Mathematica.app lori NeXTSTEP 1.0 ni ọdun 1989: han bi itọsọna faili ni ebute, ṣugbọn bi ohun kan ninu oluṣakoso faili ayaworan.

Jẹ ki a pada si BeOS, lori eyiti Haiku da. Awọn olupilẹṣẹ rẹ, nigbati o nlọ lati PEF (PowerPC) si ELF (x86) (kanna ti a lo lori Linux), pinnu lati ṣafikun apakan awọn orisun si opin awọn faili ELF. Eyi ko lo apakan ELF to dara tirẹ, o kan ṣafikun si ipari faili ELF. Bi abajade ti eto naa strip ati awon miran ninu binutils ti ko mo nipa re kan ge e kuro. Nitorinaa, lẹhin fifi awọn orisun kun si faili ELF kan lori BeOS, o dara julọ lati ma ṣiṣẹ pẹlu awọn irinṣẹ Linux.

Ati kini o n ṣẹlẹ pẹlu Haiku? Ni ipilẹ, diẹ sii tabi kere si kanna.

Ni imọran, yoo ṣee ṣe lati gbe awọn orisun si apakan ti o fẹ ti ELF. Gẹgẹbi awọn olupilẹṣẹ lori ikanni #haiku lori irc.freenode.net:

Pẹlu ELF, apakan naa yoo ni oye diẹ sii… idi kan ṣoṣo ti a ko ṣe iyẹn jẹ nitori a ṣe ni BeOS. ”
Ati pe ko nilo lati yipada ni bayi.

Awọn oluşewadi isakoso

Awọn orisun ti wa ni kikọ ni ọna kika “awọn orisun” ti eleto: ni otitọ, eyi jẹ atokọ ti awọn orisun pẹlu awọn iwọn ati lẹhinna akoonu wọn. ranti ar kika.
Bawo ni lati ṣayẹwo awọn orisun ni Haiku? Njẹ nkan wa bi ResEdit?
Gegebi iwe:

O le fa ati ju silẹ executable sori eto gẹgẹbi Oluşewadi. O tun le lọ si ebute naa ki o ṣiṣẹ aṣẹ naa listres имя_файла.

Oluşewadi wa ni HaikuDepot, ṣugbọn o kan kọlu fun mi.

Nitorinaa bawo ni o ṣe ṣakoso awọn orisun ni awọn faili ELF? Lilo rsrc и rdef. rdef awọn faili ti wa ni gba ni rsrc. Faili rdef ti o fipamọ ni ọna kika ọrọ itele, nitorinaa o rọrun pupọ lati ṣiṣẹ pẹlu. Ọna kika faili rsrc appended si opin ti awọn ELF faili. Jẹ ká gbiyanju lati mu:

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

O le lo eto naa xres lati ṣayẹwo ati ṣakoso:

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

O dara, jẹ ki a gbiyanju?

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

Diẹ ẹ sii nipa awọn orisun ati ọna kika rdef o le ka nibi.

Standard awọn oluşewadi orisi

Lakoko ti o le fi ohunkohun sinu awọn orisun, awọn oriṣi idiwọn asọye diẹ wa:

  • app_signature: MIME Iru ohun elo naa, lati baamu awọn faili ṣiṣi, ibẹrẹ, IPC, ati bẹbẹ lọ.
  • app_name_catalog_entry: Niwọn igba ti orukọ ohun elo nigbagbogbo jẹ ni Gẹẹsi, o le pato awọn aaye nibiti awọn orukọ ti a tumọ si wa nibi, ki awọn olumulo ti awọn ede oriṣiriṣi yoo rii orukọ ohun elo ti o tumọ ti o ba fẹ.
  • app_version: Gangan ohun ti o ro
  • app_flags: tọkasi registrar bi o si mu awọn ohun elo. Mo ro pe o wa diẹ sii ju bi o ti pade oju. Fun apẹẹrẹ, o wa B_SINGLE_LAUNCH, eyiti o jẹ ki eto naa bẹrẹ ilana ohun elo tuntun ni gbogbo igba ti olumulo ba beere fun (ipilẹ kanna ni a lo fun ọpọlọpọ awọn ohun elo lori Linux). Jeun B_MULTIPLE_LAUNCH, nfa ilana lati ṣiṣe fun kọọkan faili. Níkẹyìn nibẹ B_EXCLUSIVE_LAUNCH, eyi ti o fi agbara mu eto lati bẹrẹ ilana kan nikan ni akoko kan, laibikita iye igba awọn olumulo bẹrẹ (fun apẹẹrẹ, eyi ni bi Firefox on Linux bẹrẹ; esi kanna le ṣee ṣe ni awọn ohun elo Qt nipa lilo iṣẹ naa. QtSingle Ohun elo). Awọn ohun elo pẹlu B_EXCLUSIVE_LAUNCH ti wa ni ifitonileti nigbati olumulo ba gbiyanju lati ṣiṣẹ wọn lẹẹkansi: fun apẹẹrẹ, wọn gba ọna faili ti olumulo fẹ lati ṣii pẹlu wọn.
  • vector_icon: Aami fekito ohun elo (BeOS ko ni awọn aami fekito, pupọ julọ awọn ohun elo ni awọn aami bitmap meji ni awọn faili ṣiṣe ni dipo).

Nitoribẹẹ, o le ṣafikun awọn orisun pẹlu eyikeyi awọn ID ati awọn oriṣi ti o fẹ, lẹhinna ka wọn ninu ohun elo funrararẹ tabi awọn ohun elo miiran nipa lilo kilasi naa. BResources. Ṣugbọn ni akọkọ, jẹ ki a dojukọ lori akori fanimọra ti awọn aami.

Awọn aami Vector ni ara Haiku

Nitoribẹẹ, kii ṣe Haiku nikan yan ọna kika aami ti o dara julọ, ni apakan yii ipo pẹlu awọn tabili itẹwe Linux jina si apẹrẹ:

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

Wiwo eyi, o ti le rilara kini nkan yii jẹ.

Nitoribẹẹ, iwọn ti o ni, bi o ti le rii, awọn aami fekito wa. Ẽṣe ti nkan miran wa? Nitori abajade ti iyaworan awọn aworan fekito ni awọn iwọn kekere le kere ju apẹrẹ lọ. Emi yoo fẹ lati ni awọn aṣayan oriṣiriṣi, iṣapeye fun awọn titobi oriṣiriṣi. Ni awọn agbegbe tabili Linux, eyi ni aṣeyọri nipasẹ awọn aami tuka ti awọn titobi pupọ jakejado eto faili naa.

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

Ṣe akiyesi pe ko si imọran ti awọn ẹya oriṣiriṣi ti Firefox. Nitorinaa, ko ṣee ṣe lati fi ore-ọfẹ mu ipo naa pẹlu wiwa ti ọpọlọpọ awọn ẹya ti ohun elo ninu eto naa.

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Awọn aami Firefox oriṣiriṣi ni awọn ẹya oriṣiriṣi. Nitorinaa, ko ṣee ṣe lati mu eyi ni Linux laisi ọpọlọpọ awọn crutches.

Mac OS X n ṣe itọju diẹ diẹ sii:

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

O le rii pe faili kan wa firefox.icns ninu apo Firefox.app, ti o ni gbogbo awọn iwọn, ki awọn ẹya oriṣiriṣi ti ohun elo kanna ni awọn aami oriṣiriṣi.
Elo dara julọ! Awọn aami rin pẹlu ohun elo, gbogbo awọn orisun wa ninu faili kan.

Jẹ ki a pada si Haiku. A okan-fifun ipinnu, ko si awọn imukuro. Gẹgẹ bi iwe:

Ọna kika HVIF pataki kan, iṣapeye ga julọ fun awọn iwọn kekere ati ṣiṣe ni iyara, ni idagbasoke. Nitorinaa, awọn aami wa fun apakan pupọ julọ kere pupọ ju bitmaps tabi ọna kika SVG ti a lo lọpọlọpọ.

Ati pe wọn tun jẹ iṣapeye:

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Awọn iwọn aami ni HVIF ni akawe si awọn ọna kika miiran.

Ohun aṣẹ ti titobi iyato!

Ṣugbọn idan ko pari nibi. HVIF kanna le ṣe afihan awọn ipele oriṣiriṣi awọn alaye ti o da lori iwọn ti o han, botilẹjẹpe o jẹ ọna kika fekito.

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Awọn ipele oriṣiriṣi ti alaye (LOD) ti o da lori iwọn fifun

Bayi nipa awọn aila-nfani: o ko le gba SVG, jabọ sinu ImageMagick ki o pari rẹ, o ni lati lọ nipasẹ ọpọlọpọ awọn iyipo lati ṣẹda aami ni ọna kika HVIF. nibi awọn alaye. Sibẹsibẹ, IconOMatic le jẹ aipe pupọ ni gbigbe awọn SVGs wọle; nipa 90% ti awọn alaye SVG ti wa ni agbewọle pẹlu iṣeeṣe diẹ, 10% ti o ku yoo nilo lati tunto ati yipada pẹlu ọwọ. Ka siwaju sii nipa bi HVIF ṣe idan rẹ le ninu bulọọgi Lea Ganson

Ṣafikun Aami si Ohun elo kan

Bayi Mo le ṣafikun aami si package ti a ṣẹda Igba ikeyin, ni akiyesi gbogbo alaye ti o gba.
O dara, nitori Emi ko ni itara pupọ lati fa aami ti ara mi fun “Hello World” QtQuickApp ni bayi, Mo fa jade kuro ni Ẹlẹda Qt.

/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

Jẹ ki a ṣayẹwo pe aami naa ti daakọ:

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

O dara, ṣugbọn kilode ti o jẹ pe nigbati aami tuntun ba daakọ, ko han?

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
VICN:101:BEOS:ICONs ti a daakọ ko lo lọwọlọwọ bi aami ohun elo ninu oluṣakoso faili

Kini mo padanu?

Ọrọ asọye Olùgbéejáde:

Nilo lati ṣẹda faili kan rdef pẹlu gbogbo awọn orisun, lẹhinna ṣiṣe aṣẹ naa rc имя.rdef, eyi yoo ṣẹda faili kan .rsrc. Lẹhinna o nilo lati ṣiṣẹ aṣẹ naa resattr -o имя_бинарника имя.rsrc. Ni o kere ju, Mo lo iru awọn aṣẹ lati ṣafikun awọn aami si awọn iwe afọwọkọ mi.

O dara, Mo fẹ lati ṣẹda orisun kan, kii ṣe ẹya kan. Mo ni idamu patapata.

Smart caching lilo awọn faili eto

Ṣiṣii ati kika awọn abuda ELF jẹ o lọra. Bi mo ti kowe loke, aami ti wa ni kikọ bi a oluşewadi ninu awọn faili ara. Ọna yii jẹ igbẹkẹle diẹ sii, o fun ọ laaye lati ye didaakọ si eto faili miiran. Sibẹsibẹ, lẹhinna o tun daakọ si abuda eto faili kan, fun apẹẹrẹ BEOS:ICON. Eyi nikan ṣiṣẹ lori awọn ọna ṣiṣe faili kan, gẹgẹbi BFS. Awọn aami ti o han nipasẹ eto (ninu Tracker ati Deskbar) ni a ka lati ẹya ti o gbooro sii nitori pe ojutu yii yara. Ni awọn aaye kan (nibiti iyara ko ṣe pataki, fun apẹẹrẹ, ferese “Nipa” aṣoju), eto naa gba aami taara lati orisun kan ninu faili kan. Ṣugbọn eyi kii ṣe opin. Ranti, lori Mac, awọn olumulo le rọpo awọn aami ti awọn ohun elo, awọn folda, awọn iwe aṣẹ pẹlu tiwọn, nitori lori Mac o ṣee ṣe lati ṣe awọn nkan “pataki” wọnyi, fun apẹẹrẹ. rirọpo aami Slack tuntun pẹlu ọkan ti tẹlẹ. Lori Haiku, ronu ti orisun kan (ninu faili kan) bi aami atilẹba ti o wa pẹlu ohun elo kan, ati abuda kan (ninu faili faili BFS) bi nkan ti o fun laaye olumulo laaye lati ṣe awọn ayipada ni ifẹ (botilẹjẹpe, itọka, GUI fun fifi aami aṣa sii lori oke aami jẹ iyan) ko sibẹsibẹ ṣe imuse nipasẹ aiyipada).

Ṣiṣayẹwo Awọn abuda Eto Faili

Nipasẹ resaddr o ṣee ṣe lati ṣayẹwo ati ṣeto awọn abuda eto faili.

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

O jẹ pataki “lẹ pọ” ti o ṣe iyipada-ati-jade laarin awọn orisun (ti o gbẹkẹle) ati awọn abuda eto faili (yara). Ati pe niwọn igba ti eto naa dawọle gbigba ohun elo ati pe o ṣe didaakọ laifọwọyi, Emi kii yoo ṣe aniyan nipa iyẹn siwaju sii.

Idan ti awọn idii hpkg

Lọwọlọwọ (igba pupọ julọ) awọn idii ni a lo lati gba awọn eto lori Haiku .hpkg. Maṣe jẹ ki a tan ọ jẹ nipasẹ orukọ ti o rọrun: ọna kika .hpkg ṣiṣẹ ni iyatọ pupọ ju awọn ọna kika ti o jọra ti o ti wa kọja, o ni awọn alagbara gidi.

Pẹlu awọn ọna kika package ibile, Mo binu fun igba pipẹ nitori otitọ yii: o ṣe igbasilẹ ohun kan (package), ati ọkan miiran ti fi sii ninu eto (awọn faili inu package). O jẹ ohun ti o nira pupọ lati ṣakoso awọn faili (fun apẹẹrẹ yọ wọn kuro) nigbati o ba nfi package sori ẹrọ ni ọna ibile. Ati gbogbo nitori awọn akoonu ti awọn package tuka jakejado eto faili, pẹlu awọn aaye nibiti olumulo deede le ma ni iraye si kikọ. Eyi n funni ni gbogbo kilasi ti awọn eto - package alakoso. Ṣugbọn gbigbe sọfitiwia ti a ti fi sii tẹlẹ, fun apẹẹrẹ, si ẹrọ miiran, disiki yiyọ kuro tabi olupin faili di paapaa nira sii, ti ko ba ṣeeṣe. Lori eto orisun orisun Linux kan, awọn ọgọọgọrun egbegberun si awọn miliọnu awọn faili lọtọ le wa ni irọrun. Tialesealaini lati sọ, eyi jẹ ẹlẹgẹ ati o lọra, fun apẹẹrẹ lakoko fifi sori ẹrọ akọkọ ti eto, nigba fifi sori ẹrọ, imudojuiwọn ati yiyọ awọn idii lasan, ati nigba didakọ iwọn didun bata (ipin root) si alabọde miiran.

Mo n ṣiṣẹ lori iṣẹ akanṣe AppImage, crutch apa kan fun awọn ohun elo olumulo ipari. Eyi jẹ ọna kika pinpin sọfitiwia ti o gba ohun elo kan ati gbogbo awọn igbẹkẹle rẹ sinu aworan eto faili kan ti o ti gbe nigbati ohun elo naa bẹrẹ. O jẹ ohun rọrun pupọ, nitori AworanMagick kanna lojiji yipada si faili kan ṣoṣo ti a ṣakoso ni oluṣakoso faili nipasẹ awọn eniyan lasan. Ọna ti a daba nikan ṣiṣẹ fun sọfitiwia, bi o ti ṣe afihan ninu orukọ iṣẹ akanṣe, ati pe o tun ni eto awọn idun tirẹ, nitori awọn olutaja sọfitiwia Linux nigbagbogbo tọka si mi.

Jẹ ki a pada si Haiku. Njẹ o ti rii iwọntunwọnsi ti o tọ laarin awọn eto iṣakojọpọ ibile ati ifijiṣẹ sọfitiwia ti o da lori aworan? Awọn akopọ rẹ .hpkg kosi fisinuirindigbindigbin faili eto images. Nigbati eto bata bata, ekuro naa gbe gbogbo awọn fifi sori ẹrọ ati awọn idii ti nṣiṣe lọwọ pẹlu nkan bii awọn ifiranṣẹ ekuro wọnyi:

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"

Dara, bẹẹni? Duro sibẹ, yoo buru paapaa!

package pataki kan wa:

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

O ni ẹrọ iṣẹ ṣiṣe ti o kere pupọ, pẹlu ekuro. Gbagbọ tabi rara, paapaa ekuro funrararẹ ko fa jade lati iwọn didun bata (ipin root), ṣugbọn o ti kojọpọ daradara sinu aaye rẹ lati package. .hpkg. Iro ohun! Mo ti mẹnuba tẹlẹ pe, si mi, apakan ti imudara gbogbogbo ati aitasera ti Haiku wa lati otitọ pe gbogbo eto, lati ekuro ati aaye olumulo ti o wa ni abẹlẹ, si iṣakoso package ati awọn amayederun tabili tabili, ni idagbasoke ni ifowosowopo nipasẹ ẹgbẹ kan. Fojuinu bawo ni ọpọlọpọ awọn ẹgbẹ ati awọn ẹgbẹ ti yoo gba lati ṣiṣẹ nkan bii eyi lori Lainos. [Mo fojuinu iṣẹ akanṣe PuppyLinux, - isunmọ. onitumọ]. Lẹhinna ronu bi o ṣe pẹ to fun ọna yii lati ṣe imuse ni awọn pinpin. Wọn sọ pe: mu iṣẹ ti o rọrun, pin si laarin awọn oṣere oriṣiriṣi, ati pe yoo di idiju ti yoo ko ni yanju mọ. Haiku la oju mi ​​lori ayeye yii. Mo ro pe eyi ni deede ohun ti n ṣẹlẹ lori Linux ni bayi (Linux ninu ọran yii jẹ ọrọ apapọ fun Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu akopọ).

Yipada eto nipa lilo hpkg

Igba melo ni ipo atẹle naa ṣẹlẹ: imudojuiwọn naa ṣaṣeyọri, lẹhinna o wa ni pe ohun kan ko ṣiṣẹ bi o ti yẹ? Ti o ba lo awọn alakoso package deede, o ṣoro lati yi ipo ti eto naa pada si aaye kan ni akoko ṣaaju fifi awọn idii tuntun sori ẹrọ (fun apẹẹrẹ, nigbati nkan ba lọ aṣiṣe). Diẹ ninu awọn ọna ṣiṣe n funni ni ibi-afẹde ni irisi awọn aworan ifaworanhan eto faili, ṣugbọn iwọnyi jẹ irẹwẹsi ati ko wulo lori gbogbo awọn eto. Ni Haiku eyi ni ipinnu pẹlu awọn idii .hpkg. Nigbakugba ti awọn idii ninu eto ba yipada, awọn idii atijọ ko yọkuro, ṣugbọn wọn wa ni ipamọ ninu eto ni awọn iwe-itọnisọna bii /Haiku/system/packages/administrative/state-<...>/ nigbagbogbo. Awọn iṣẹ isunmọtosi tọju data wọn sinu awọn iwe-ipamọ /Haiku/system/packages/administrative/transaction-<...>/.

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Akoonu /Haiku/system/packages/administrative. Awọn ilana "ipinle ..." ni awọn faili ọrọ pẹlu awọn orukọ ti awọn idii ti nṣiṣe lọwọ, "idunadura ..." - awọn idii funrararẹ.

"Ipo ti nṣiṣe lọwọ atijọ", i.e. akojọ .hpkg awọn idii ti nṣiṣe lọwọ ṣaaju ki awọn iyipada ti kọ lẹhin iṣiṣẹ kọọkan ninu oluṣakoso faili ni faili ọrọ kan /Haiku/system/packages/administrative/state-<...>/activated-packages. Bakanna, “ipinle ti nṣiṣe lọwọ” tuntun ni a kọ sinu faili ọrọ kan /Haiku/system/packages/administrative/activated-packages.

Directory /Haiku/system/packages/administrative/state-<...>/ ni nikan a ọrọ faili pẹlu kan akojọ ti awọn ti nṣiṣe lọwọ jo ti yi ipinle (ni irú ti fifi awọn idii lai yọ wọn), ati ti o ba ti jo won kuro tabi imudojuiwọn, ipinle liana ni atijọ awọn ẹya ti jo.

Nigbati awọn bata eto, ti o da lori atokọ ti awọn idii, a ṣe ipinnu lati mu (oke) awọn idii ṣiṣẹ. O rọrun pupọ! Ti nkan kan ba jẹ aṣiṣe lakoko igbasilẹ naa, o le sọ fun oluṣakoso igbasilẹ lati lo oriṣiriṣi, atokọ agbalagba. Isoro yanju!

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Haiku bootloader. Aaye titẹsi kọọkan n ṣe afihan “ipo ti nṣiṣe lọwọ” ti o baamu

Mo fẹran ọna ti lilo awọn faili ọrọ itele bi “ipinle ti nṣiṣe lọwọ” atokọ pẹlu awọn orukọ ti o rọrun lati loye .hpkg. Eyi jẹ iyatọ nla si ti a ṣe-fun ẹrọ-kii ṣe fun eniyan opo lati OSTree tabi Flatpak ninu eto faili (ni ipele kanna bi Microsoft GUID).

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Akojọ awọn idii ti nṣiṣe lọwọ fun aaye kọọkan ni akoko

Data iṣeto ni

Nkqwe ninu awọn katalogi /Haiku/system/packages/administrative/writable-files ni awọn faili iṣeto ni fun awọn idii, ṣugbọn kikọ. Lẹhinna, bi o ṣe ranti, .hpkg ti wa ni agesin kika-nikan. Nitorinaa, awọn faili wọnyi gbọdọ jẹ daakọ lati awọn idii ṣaaju kikọ. O ni itumo.

GUI Integration fun .hpkg eto

Jẹ ki a ni bayi wo bii awọn idii didan wọnyi .hpkg bawa pẹlu iṣọpọ si agbegbe iṣẹ olumulo (UX). Lẹhinna, Haiku jẹ itumọ fun lilo ti ara ẹni, lẹhinna. Tikalararẹ, Mo ti ṣeto igi ga nipa ifiwera iriri olumulo si awọn idii. .app lori Macintosh pẹlu iriri kanna lori .hpkg. Emi kii yoo paapaa ṣe afiwe ipo naa pẹlu awọn agbegbe tabili Linux, nitori pe o jẹ ẹru pupọ ni akawe si eyikeyi miiran.

Awọn oju iṣẹlẹ atẹle wa si ọkan:

  • Mo fẹ lati wo awọn awọn akoonu ti awọn package .hpkg
  • Mo fẹ fi package kan sori ẹrọ
  • Mo fẹ yọ package kan kuro
  • Mo fẹ lati pa nkan ti o wa sinu eto naa jẹ apakan ti package kan
  • Mo fẹ daakọ nkan ti o wa sinu eto gẹgẹbi apakan ti package kan
  • Mo fẹ ṣe igbasilẹ gbogbo awọn igbẹkẹle package ti ko le jẹ apakan ti gbogbo fifi sori Haiku (fun apẹẹrẹ, Mo ni ẹrọ ti o ya sọtọ ti ara laisi iwọle si Intanẹẹti.)
  • Mo fẹ lati gbe awọn idii mi (daradara, apakan ninu wọn) lọtọ si aaye miiran, lọtọ lati iwọn didun bata (ipin root) (nitori, fun apẹẹrẹ, Emi ko ni aaye to lori rẹ).

Eyi yẹ ki o bo pupọ julọ awọn ọran akọkọ lati iṣẹ ojoojumọ mi. O dara, jẹ ki a bẹrẹ.

Ṣiṣayẹwo Awọn akoonu Package

Lori Mac Mo kan tẹ-ọtun lori package kan lati ṣii ati wo awọn akoonu inu Oluwari. O ni gan o kan kan liana ni agabagebe! (Mo mọ pe awọn idii wa .pkg fun apakan ti eto ti kii ṣe awọn ohun elo, ṣugbọn awọn olumulo lasan nigbagbogbo ko ni ajọṣepọ pẹlu wọn).

Lori Haiku Mo tẹ ọtun lori package, lẹhinna tẹ “Awọn akoonu” lati wo kini inu. Ṣugbọn o kan jẹ atokọ ti awọn faili laisi agbara lati tẹ lẹẹmeji lati ṣii wọn.
Yoo dara julọ ti ọna ba wa lati (igba diẹ) gbe package kan .hpkg lati wo nipasẹ oluṣakoso faili, ati pe olumulo ko ni ni aniyan nipa awọn alaye imuse. (Nipa ọna, o le ṣii .hpkg package ni Expander, eyi ti o le tu silẹ bi eyikeyi miiran pamosi).

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Ni wiwo ti HaikuDepot, o le wo atokọ ti awọn faili package, ṣugbọn ko si ọna lati wo awọn akoonu, fun apẹẹrẹ, nipa titẹ lẹẹmeji lori README.md

Ninu ẹka yii, Mac bori, ṣugbọn fifi iṣẹ ṣiṣe to tọ si HaikuDepot ko yẹ ki o jẹ adehun nla.

Fifi sori ẹrọ package nipasẹ GUI

Lori Mac, julọ disk images .dmg ni awọn idii .app. Ṣii aworan disiki naa nipasẹ titẹ lẹẹmeji, lẹhinna daakọ package naa, fun apẹẹrẹ, nipa fifaa si /Applications ni Oluwari. Fun mi o lọ lai wipe, sugbon mo gbọ pe diẹ ninu awọn olubere le ko ni le ni anfani lati mu yi. Nipa aiyipada, Apple "daba" ilana eto-jakejado /Applications (lori NeXT o jẹ nẹtiwọọki daradara bi ẹni kọọkan), ṣugbọn o le ni rọọrun fi awọn ohun elo rẹ sori olupin faili tabi ni iwe-ipamọ $HOME/Applicationsti o ba fẹran rẹ pupọ.

Lori Haiku, tẹ lẹẹmeji lori package, lẹhinna tẹ “Fi sori ẹrọ”, ko le rọrun. Mo n iyalẹnu kini yoo ṣẹlẹ ti package kan ba ni awọn igbẹkẹle ti o wa ni HaikuPorts, ṣugbọn ko ti fi sii. Lori Lainos wọn ko mọ kini lati ṣe ni ipo yii, ṣugbọn ojutu jẹ kedere - beere lọwọ olumulo boya awọn igbẹkẹle nilo lati ṣe igbasilẹ ati fi sii. Gangan ohun ti Haiku ṣe.

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Mo ṣe igbasilẹ package 'imọ' pẹlu ọwọ ati tẹ lori rẹ, oluṣakoso package mọ ibiti o ti le gba awọn igbẹkẹle rẹ (a ro pe awọn ibi ipamọ ti wa tẹlẹ lori eto naa). Kii ṣe gbogbo pinpin Linux le ṣe eyi.

Ona miiran ni lati lo oluṣakoso faili, kan fa ati ju silẹ .hpkg package tabi ni /Haiku/system/packages (fun fifi sori ẹrọ jakejado eto, nipasẹ aiyipada), tabi ni /Haiku/home/config/packages (fun eto ẹni kọọkan; ko wa nipasẹ titẹ-lẹẹmeji - Mo tun binu nipasẹ ọrọ “konfigi” ni aaye yii, eyiti o jẹ fun mi ninu ọran yii jẹ ọrọ-ọrọ fun “awọn eto”). Ati pe ero ti awọn olumulo lọpọlọpọ ko paapaa wa si Haiku sibẹsibẹ (boya iyẹn ni idi ti o fi rọrun - Emi ko mọ, boya awọn agbara olumulo pupọ yoo ṣe idiju awọn nkan lainidi fun agbegbe tabili tabili).

Ninu ẹka yii, Haiku bori, nitori pe o le ṣiṣẹ kii ṣe pẹlu awọn ohun elo nikan, ṣugbọn pẹlu awọn eto eto.

Yiyọ a package lati GUI

Lori Mac, o nilo lati fa aami ohun elo si idọti, ati pe iyẹn ni. Ni irọrun!

Lori Haiku, Ni akọkọ, o nilo lati wa ibiti package wa ninu eto, nitori o ṣọwọn fi sii ni aye to tọ (eto ṣe ohun gbogbo). Nigbagbogbo o nilo lati wa /Haiku/system/packages (ni fifi sori ẹrọ aiyipada jakejado eto), tabi ni /Haiku/home/config/packages (Ṣe Mo darukọ pe "konfigi" jẹ orukọ ti ko tọ?). Lẹhinna ohun elo naa jẹ fifa ni irọrun si idọti, ati pe iyẹn ni.
Ni irọrun! Sibẹsibẹ, Emi kii yoo sọ bẹ. Eyi ni ohun ti n ṣẹlẹ gaan:

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Eyi ni ohun ti o ṣẹlẹ nigbati o ba fa ohun elo kan si idọti lati /Haiku/system/packages

O kan gbiyanju gbigbe ohun elo “Hello aye” mi lana lori QtQuickApp si idọti. Emi ko gbiyanju lati gbe ilana eto, ati niwọn igba ti gbogbo awọn idii ti fi sori ẹrọ ni itọsọna eto - ko ṣee ṣe lati yọ package kuro .hpkg laisi iyipada "Awọn akoonu inu rẹ". Olumulo lasan yoo bẹru, yoo tẹ bọtini “Fagilee” ti a yàn nipasẹ aiyipada.

Salaye Ọgbẹni. waddlesplash:

Ifiweranṣẹ yii ti ju ọdun 10 lọ. O ṣeese julọ, a nilo lati tunto rẹ ki ikilọ naa ba jade nikan nigbati package funrararẹ ba gbe. Awọn olumulo deede ko nilo lati ṣe eyi lonakona.

O dara, boya o yẹ ki o ṣe ni lilo HaikuDepot? Tẹ lẹẹmeji lori package /Haiku/system/packages, nduro fun bọtini "Yi kuro" lati ṣafihan. Rara, nibẹ (nikan) "Fi sori ẹrọ". Yọ kuro, nibo ni o wa?

Fun igbadun, Mo gbiyanju lati wo kini yoo ṣẹlẹ ti MO ba tẹ “Fi sori ẹrọ” lori package ti a ti fi sii tẹlẹ. O wa jade bi eleyi:

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Eyi ṣẹlẹ ti o ba gbiyanju lati fi sori ẹrọ package ti a ti fi sii tẹlẹ.

O han ni atẹle:

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Ti o ba tẹ "Waye awọn ayipada" ni window ti tẹlẹ, yoo tan bi eleyi

Mo ro pe eyi jẹ aṣiṣe sọfitiwia, ọna asopọ si ohun elo ti wa tẹlẹ. [onkowe ko pese ọna asopọ kan, - approx. onitumọ]

Atunṣe yara: Ṣafikun bọtini “Aifi si po” ti package ba ti wa tẹlẹ /Haiku/system/packages, tabi ninu /Haiku/home/config/packages.

Nigbati o ba nwo atokọ ti awọn idii ti a fi sori ẹrọ ni HaikuDepot, Mo le rii package mi ninu atokọ ati pe o le yọkuro.

Mac AamiEye yi ẹka. Ṣugbọn Mo le fojuinu pe pẹlu iṣeto to dara, iriri olumulo lori Haiku yoo dara julọ ju Mac lọ. (Ọkan ninu awọn olupilẹṣẹ ṣe iwọn rẹ bii eyi: “Kere ju wakati kan lati ṣafikun iṣẹ ṣiṣe ti a sọ si HaikuDepot ti o ba mọ C ++ kekere kan, eyikeyi awọn oluyọọda?)

Yiyọ nkankan lati a package

Jẹ ká gbiyanju lati aifi si awọn app ara, ko ni package .hpkg, lati inu eyiti o ti han (Mo ṣiyemeji pe fun "awọn eniyan lasan" iyatọ eyikeyi wa).

Lori Mac, olumulo gangan ṣiṣẹ pẹlu faili deede .dmgibi ti awọn ohun elo package ba wa ni lati .app. Nigbagbogbo awọn aworan .dmg ti wa ni akojo ninu awọn gbigba lati ayelujara liana, jo ti wa ni daakọ nipa olumulo lati /Applications. O gbagbọ pe ọpọlọpọ awọn olumulo funrara wọn ko mọ ohun ti wọn nṣe, iṣeduro yii jẹ idaniloju nipasẹ oṣiṣẹ Apple atijọ kan. (Ọkan ninu awọn ohun ti Emi ko fẹran Mac kan. Ati pẹlu AppImage, fun apẹẹrẹ, ko si iyatọ laarin ohun elo ati package ti o wa ninu. Fa aami naa si idọti = iyẹn ni. Rọrun!)

Lori Haiku, nibẹ ni tun kan pipin laarin apps/ и packages/, nitorinaa Mo ṣiyemeji pe eyi jẹ ki o ṣe alaye si awọn olumulo. Ṣugbọn kini yoo ṣẹlẹ ti o ba fa ohun elo naa lati apps/ Fi kun Awon nkan ti o nra:

Ọjọ kẹfa mi pẹlu Haiku: labẹ hood ti awọn orisun, awọn aami ati awọn idii
Eyi ni ohun ti o ṣẹlẹ nigbati o gbiyanju lati yọ ohun elo ti o ya kuro ninu faili kan .hpkg

O jẹ deede ni imọ-ẹrọ (lẹhinna, ohun elo naa ti gbalejo lori eto faili kika-nikan, ni aye akọkọ), ṣugbọn kii ṣe iwulo pataki si olumulo naa.

Atunṣe yara: Daba nipasẹ GUI lati paarẹ dipo .hpkg

Fun igbadun, Mo gbiyanju lati ṣe ẹda ohun elo naa nipa titẹ Alt + D. Ti gba ifiranṣẹ naa "Ko le gbe tabi daakọ awọn nkan sori iwọn didun kika-nikan." Ati gbogbo nitori /system (Yato si /system/packages и /system/settings) ni awọn packagefs òke ojuami (ranti bi o ti han ninu awọn ti o wu df?). Laanu, abajade ti aṣẹ naa mount ko ṣe alaye ipo naa (gẹgẹ bi a ti sọ ninu ọkan ninu awọn nkan iṣaaju), mountvolume ko ṣe afihan ohun ti o n wa (ti o han gbangba awọn idii ti a gbe nipasẹ lupu .hpkg ko ṣe akiyesi "awọn iwọn didun"), ati pe Mo tun gbagbe awọn ofin yiyan.

Ninu ẹka yii, ko si ẹnikan ti o bori, ayafi fun AppImage (ṣugbọn eyi, lati jẹ ooto patapata, jẹ ero aiṣedeede). Sibẹsibẹ, ọkan le fojuinu pe lẹhin tweaking, iriri olumulo lori Haiku yoo dara ju Mac lọ.

Akiyesi: o nilo lati ro ero kini “iwọn didun” jẹ ni ibatan si “ipin”. Eyi le jọra si ibatan “folda” si “itọsọna”: ọpọlọpọ awọn ilana han bi awọn folda ninu oluṣakoso faili, ṣugbọn kii ṣe gbogbo wọn (fun apẹẹrẹ awọn akopọ ti a tọju bi awọn faili). Njẹ iru nkan yii jẹ ki n jẹ alamọdaju ni ifowosi?

Didaakọ awọn akoonu ti package kan si eto miiran

Lori Mac, Karachi nfa package .app, ati niwọn igba ti awọn igbẹkẹle wa ninu apo, wọn gbe papọ.

Lori Haiku, Mo fa ohun elo naa, ṣugbọn awọn igbẹkẹle ko ni ilọsiwaju rara.

Atunṣe ni iyara: Dipo, daba fifa gbogbo idii “`.hpkg” naa, pẹlu awọn igbẹkẹle, ti o ba jẹ eyikeyi.

Ni yi ẹka, Mac AamiEye kedere. Ni o kere fun mi, olufẹ ti paragimu wọn. Haiku yẹ ki o daakọ .hpkg dipo ohun elo kan, ṣugbọn eto naa ko fun mi ni eyi…

Gbigba package kan pẹlu gbogbo awọn igbẹkẹle rẹ

Kii ṣe gbogbo ẹrọ wa lori ayelujara ni gbogbo igba. Ni ilodi si, diẹ ninu awọn ẹrọ (bẹẹni, Mo n wo ọ, Windows ode oni, Mac ati Linux) gbagbe nipa rẹ. O ṣe pataki fun mi pe MO le lọ si kafe Intanẹẹti, fun apẹẹrẹ, ṣe igbasilẹ sọfitiwia si media yiyọ kuro, fi media yii sinu kọnputa ile mi ki o rii daju pe ohun gbogbo yoo ṣiṣẹ [eniyan eewu, ṣe eyi lori Windows… - approx . onitumọ].

Bi abajade, diẹ diẹ sii ju igbagbogbo lọ, Mo maa n pari pẹlu awọn igbẹkẹle ti ko ni ibamu lori Windows ati Lainos.

Lori Mac eyi nigbagbogbo jẹ faili kan, gbogbo ohun ti o nilo ni lati ṣe igbasilẹ .dmg. Ni ọpọlọpọ igba, ko ni awọn igbẹkẹle miiran yatọ si awọn ti a pese nipasẹ MacOS funrararẹ nipasẹ aiyipada. Iyatọ jẹ awọn ohun elo idiju ti o nilo agbegbe asiko asiko ti o yẹ, gẹgẹbi Java.

Lori Haiku download package .hpkg fun, sọ, ohun elo java kanna, le ma to, niwon Java le tabi ko le wa lori ẹrọ afojusun. Ṣe ọna kan wa lati ṣe igbasilẹ gbogbo awọn igbẹkẹle fun package ti a fun .hpkgmiiran ju awọn ti a fi sori ẹrọ nipasẹ aiyipada ni Haiku ati nitorina o yẹ ki o wa lori gbogbo eto Haiku?

Ninu ẹka yii, Mac bori nipasẹ ala kekere kan.

Ọrọìwòye nipasẹ Mr. waddlesplash:

Lati kọ eto kan lati gba gbogbo awọn ti o gbẹkẹle ohun elo bi akojọpọ awọn idii .hpkg fun ẹnikan ti o faramọ pẹlu awọn inu inu Haiku, bii iṣẹju 15 to. Kii ṣe pe o nira lati ṣafikun atilẹyin fun eyi ti iwulo gidi ba wa fun rẹ. Ṣugbọn fun mi eyi jẹ toje.

Jẹ ki a mu ẹmi wa titi di nkan ti o tẹle ninu jara yii.

Gbigbe awọn idii si ipo ọtọtọ

Bi mo ti kowe sẹyìn, Mo fẹ lati fi mi jo .hpkg (daradara, tabi apakan ninu wọn) si aaye pataki kan, lọtọ lati ipo deede lori iwọn didun bata (ipin root). Ninu ọran deede (kii ṣe imọ-jinlẹ), idi fun eyi ni pe awọn awakọ mi (ti a ṣe sinu) nṣiṣẹ nigbagbogbo ni aaye ọfẹ, laibikita bi wọn ti tobi to. Ati pe Mo maa n ṣe maapu awọn awakọ ita tabi awọn pinpin nẹtiwọọki nibiti awọn ohun elo mi ngbe.

Lori Mac Mo kan gbe awọn idii .app to a yiyọ drive tabi nẹtiwọki liana ni Oluwari, ati awọn ti o ni. Mo tun le tẹ lẹẹmeji lati ṣii app bi MO ṣe deede lati iwọn didun bata. O kan!

Lori Haiku, bi a ti sọ fun mi, eyi le ṣee ṣe nipasẹ gbigbe mi .hpkg awọn idii si awakọ yiyọ kuro tabi itọsọna nẹtiwọọki, ṣugbọn lẹhinna o nilo lati lo diẹ ninu awọn aṣẹ ti ko ni iwe-aṣẹ ninu console lati gbe wọn sori ẹrọ naa. Emi ko mọ bi o ṣe le ṣe ni lilo GUI nikan.

Mac AamiEye yi ẹka.

Gege bi Mr. waddlesplash:

Eyi jẹ iṣapeye ti o da lori lilo deede. Ti ibeere ba wa fun olumulo to ju ọkan lọ, a yoo ṣe imuse rẹ. Ni eyikeyi idiyele, o ṣeeṣe ti imuse ti ẹnikẹta.

A máa sọ̀rọ̀ nípa èyí nínú àpilẹ̀kọ tó kàn.

Sisọ ti awọn ilana nẹtiwọọki: yoo jẹ nla (Mo n gboju awọn ẹgbẹ LAN) lati ni irọrun, ṣawari, awọn ohun elo jakejado nẹtiwọọki (fun apẹẹrẹ nipasẹ Zeroconf) ti o le daakọ si kọnputa agbegbe tabi ṣiṣẹ taara lati nẹtiwọọki agbegbe. Nitoribẹẹ, awọn olupilẹṣẹ ni aṣayan ti jijade nipasẹ app_flags.

Ijabọ ikẹhin lori isọpọ ti eto hpkg pẹlu GUI

Mo ro pe nipataki nitori ti awọn ojulumo aratuntun ti awọn Integration .hpkg pẹlu GUI ṣi fi ọpọlọpọ silẹ lati fẹ. Bibẹẹkọ, awọn nkan diẹ wa ti o le ni ilọsiwaju ni awọn ofin ti UX…

Ohun kan diẹ sii: Ilẹ Debug Kernel

Yoo jẹ nla lati ni anfani lati tẹ awọn aṣẹ sii lakoko ijaaya kernel, fun apẹẹrẹ syslog | grep usb. O dara, lori Haiku o ṣee ṣe ọpẹ si Ilẹ Debug Kernel. Bawo ni o ṣe le rii idan yii ni iṣe ti ohun gbogbo ba ṣiṣẹ bi o ṣe yẹ fun ọ laisi gbigba sinu ijaaya ekuro kan? Ni irọrun nipa titẹ Alt+PrintScn+D (Ṣatunṣe mnemonic). Mo ranti lẹsẹkẹsẹ Kokoro olupilẹṣẹ, eyiti o fun laaye awọn olupilẹṣẹ atilẹba Macintosh lati tẹ yokokoro (ti o ba ti fi ọkan sii, dajudaju).

ipari

Mo n bẹrẹ lati mọ pe imudara ti eto Haiku wa lati otitọ pe iṣẹ naa jẹ nipasẹ ẹgbẹ kekere kan pẹlu idojukọ ko o lori agbegbe iṣẹ, pẹlu iraye si gbogbo awọn ipele ti eto naa.
Iyatọ didasilẹ si agbaye ti Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu, nibiti ohun gbogbo ti fọ si awọn ege kekere si iru iwọn ti abstraction joko lori abstraction ati ki o wakọ crutches.
Nibẹ wà tun ẹya oye ti bi awọn eto .hpkg daapọ awọn iṣe ti o dara julọ ti awọn oluṣakoso package ibile, Snappy, Flatpak, AppImage, paapaa btrfs, o si da wọn pọ pẹlu ọna “o kan ṣiṣẹ” Mac.

O dabi ẹnipe ohun kan "yi pada" ni ori mi, ati pe Mo loye bi eto naa ṣe .hpkg mọ bi o ṣe le yi lọ, o kan nipa wiwo rẹ. Ṣugbọn eyi kii ṣe mi, ṣugbọn ẹwa ati ayedero ti eto naa. Pupọ nibi ti wa ni imbued pẹlu ẹmi ti Mac atilẹba.

Bẹẹni, lilọ kiri lori ẹrọ aṣawakiri le jẹ jerky ati ṣiṣẹ bi igbin, awọn ohun elo le jẹ alaini (ko si Gtk, Electron - awọn olupilẹṣẹ pinnu pe wọn ko lọ daradara pẹlu sophistication), fidio ati isare 3d le wa ni isansa patapata, ṣugbọn sibẹ Emi fẹran eto yii. Lẹhinna, awọn nkan wọnyi le ṣe atunṣe ati laipẹ tabi ya wọn yoo han. O jẹ ọrọ kan ti akoko nikan ati boya oju pupa diẹ.

Emi ko le pese iranlọwọ, ṣugbọn Mo ro pe yoo bẹrẹ lati isisiyi lọ. odun ti haiku lori tabili.

Aileto oran

Boya awọn ohun elo wa tẹlẹ, tabi ṣe Mo ṣi wọn?

  • BeScreenCapture yẹ ki o ni anfani lati okeere si GIF bi Peek. Eyi le ṣee ṣe pẹlu ffmpeg tẹlẹ wa fun Haiku. Ohun elo.
  • Ọpa sikirinifoto kuna lati ya sikirinifoto ti window modal, dipo yiya gbogbo iboju naa
  • O ko le ge awọn sikirinisoti pẹlu ohun elo irugbin WonderBrush ati lẹhinna fi abajade pamọ si faili kan
  • Emi ko nifẹ paapaa kọsọ ọwọ ni Haiku, ṣugbọn Mo ro pe o ni rilara nostalgic ti o gbona si rẹ. Eyi jẹ didanubi paapaa nigba lilo ohun elo irugbin na ni Krita, bi o ṣe yọrisi irugbin na ti ko pe (wo awọn sikirinisoti ti awọn ibaraẹnisọrọ modal ninu nkan yii). Kọsọ crosshair yoo jẹ nla. Ohun elo.

Gbiyanju o funrararẹ! Lẹhinna, iṣẹ Haiku pese awọn aworan fun booting lati DVD tabi USB, ti ipilẹṣẹ ежедневно. Lati fi sori ẹrọ, kan ṣe igbasilẹ aworan naa ki o sun si kọnputa filasi USB nipa lilo Etcher

Ni ibeere? A pe o si Russian-soro ikanni telegram.

Akopọ aṣiṣe: Bii o ṣe le taworan ararẹ ni ẹsẹ ni C ati C ++. Haiku OS Ohunelo Gbigba

Lati onkowe Itumọ: Eyi ni nkan kẹfa ninu jara Haiku.

Akojọ awọn nkan: Ni igba akọkọ ti Ekeji Kẹta Ẹkẹrin Karun

orisun: www.habr.com

Fi ọrọìwòye kun