Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi

TL; DR: Haiku ni mfumo wa uendeshaji iliyoundwa mahsusi kwa Kompyuta, kwa hivyo ina hila kadhaa ambazo hufanya mazingira yake ya eneo-kazi kuwa bora zaidi kuliko wengine. Lakini inafanyaje kazi?

Hivi karibuni Niligundua Haiku, mfumo mzuri bila kutarajia. Bado ninashangazwa na jinsi inavyoendesha vizuri, haswa ikilinganishwa na mazingira ya eneo-kazi la Linux. Leo nitaangalia chini ya kofia. Inapohitajika kwa uelewa wa kina, nitafanya ulinganisho na mazingira asilia ya Macintosh, Mac OS X na Linux (kiwango cha XDG kutoka freedesktop.org).

Rasilimali katika faili za ELF

Jana nilijifunza kuwa IconOMatic inaweza kuhifadhi icons kwenye rasilimali za rdef katika utekelezaji wa ELF. Leo nataka kuona jinsi inavyofanya kazi kweli.

Rasilimali? Nukuu kutoka Bruce Pembe, mwandishi asilia wa Macintosh Finder na "baba" wa Meneja wa Rasilimali wa Macintosh:

Nina wasiwasi juu ya hali ngumu ya utunzi wa jadi. Kwangu, wazo la maombi yaliyogandishwa kwa nambari, bila uwezo wa kubadilisha chochote kwa nguvu, ni ushenzi mbaya zaidi. Inapaswa kuwa inawezekana kubadilisha iwezekanavyo wakati wa kukimbia. Bila shaka, msimbo wa maombi yenyewe hauwezi kubadilishwa, lakini kwa hakika kitu kinaweza kubadilishwa bila kurejesha msimbo?

Kwenye Macintosh asili, walifanya faili hizi ziwe na "sehemu ya data" na "sehemu ya rasilimali," ambayo ilifanya iwe rahisi sana kuhifadhi vitu kama vile aikoni, tafsiri, na kadhalika. katika faili zinazoweza kutekelezwa.

Kwenye Mac hii inatumika Badilisha upya, programu ya picha ya - ghafla - rasilimali za kuhariri.

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Badilisha tena kwenye Macintosh ya asili

Matokeo yake, ikawa inawezekana kuhariri icons, vitu vya menyu, tafsiri, nk. rahisi vya kutosha, lakini bado "wanasafiri" na programu.
Kwa hali yoyote, mbinu hii ilikuwa na shida kubwa: ilifanya kazi tu kwenye mifumo ya faili ya Apple, ambayo ilikuwa moja ya sababu kwa nini Apple iliacha "sehemu ya rasilimali" wakati wa kuhamia Mac OS X.
Kwenye Mac OS X, Apple ilitaka suluhisho la mfumo wa faili, kwa hivyo walipitisha wazo la vifurushi (kutoka NEXT), saraka ambazo huchukuliwa kama "vitu visivyo wazi" na msimamizi wa faili, kama faili badala ya saraka. Kifurushi chochote kilicho na programu katika umbizo .app ina, kati ya mambo mengine, faili Info.plist (katika aina fulani ya Apple inayolingana na JSON au YAML) iliyo na metadata ya programu.

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Vifunguo vya faili ya Info.plist kutoka kwa kifurushi cha programu ya Mac OS X.

Rasilimali, kama vile aikoni, faili za UI, na nyinginezo, huhifadhiwa kwenye kifurushi kama faili. Wazo kwa kweli lilirudi kwenye mizizi yake katika Ifuatayo.

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Mathematica.app kwenye NEXTSTEP 1.0 mnamo 1989: inaonekana kama saraka ya faili kwenye terminal, lakini kama kitu kimoja katika kidhibiti faili cha picha.

Wacha turudi kwa BeOS, dhana ambazo Haiku inategemea. Watengenezaji wake, wakati wa kubadili kutoka PEF (PowerPC) hadi ELF (x86) (sawa na kutumika kwenye Linux), waliamua kuongeza sehemu ya rasilimali hadi mwisho wa faili za ELF. Haikutumia sehemu yake sahihi ya ELF, iliongezwa tu hadi mwisho wa faili ya ELF. Kama matokeo ya programu strip na wengine kutoka kwa binutils, bila kufahamu hili, kata tu. Kwa hivyo, wakati wa kuongeza rasilimali kwenye faili ya ELF kwenye BeOS, ni bora sio kuibadilisha na zana za Linux.

Nini kinaendelea na Haiku sasa? Kimsingi, zaidi au chini sawa.

Kwa nadharia, itawezekana kuweka rasilimali katika sehemu inayotakiwa ya ELF. Kulingana na watengenezaji kwenye chaneli ya #haiku kwenye irc.freenode.net:

Kwa ELF sehemu hiyo ingeleta maana zaidi... sababu pekee ambayo hatufanyi hivyo ni kwa sababu ni yale tulifanya katika BeOS."
Na hakuna maana katika kubadilisha hii sasa.

Usimamizi wa rasilimali

Rasilimali zimeandikwa katika muundo wa "rasilimali": kimsingi orodha ya rasilimali zilizo na ukubwa na kisha yaliyomo. Nilikumbuka muundo wa ar.
Jinsi ya kuangalia rasilimali katika Haiku? Kuna kitu kama ResEdit?
Kulingana na nyaraka:

Ili kutazama rasilimali zinazotolewa kwenye kifurushi cha programu, unaweza kuburuta faili inayoweza kutekelezwa hadi kwenye programu kama Mtoa rasilimali. Unaweza pia kwenda kwenye terminal na kuendesha amri listres имя_Ρ„Π°ΠΉΠ»Π°.

Resourcer inapatikana katika HaikuDepot, lakini inanipasua tu.

Jinsi ya kusimamia rasilimali katika faili za ELF? Kutumia rsrc ΠΈ rdef. rdef faili zinakusanywa ndani rsrc. Faili rdef imehifadhiwa katika muundo wa maandishi wazi, hivyo ni rahisi zaidi kufanya kazi nayo. Umbizo la faili rsrc imeongezwa hadi mwisho wa faili ya ELF. Wacha tujaribu kucheza:

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

Unaweza kutumia programu xres kwa kuangalia na kudhibiti:

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

Sawa, hebu tujaribu?

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

Zaidi kuhusu rasilimali na umbizo rdef unaweza kusoma hapa.

Aina za rasilimali za kawaida

Ingawa unaweza kuweka chochote kwenye rasilimali, kuna aina chache za kawaida zilizoainishwa:

  • app_signature: Aina ya programu ya MIME, ya kufungua ramani ya faili, uzinduzi, IPC, n.k.
  • app_name_catalog_entry: Kwa kuwa jina la programu ni kawaida kwa Kiingereza, unaweza kutaja mahali ambapo majina yaliyotafsiriwa yanapatikana, ili watumiaji wa lugha tofauti wataona jina la programu lililotafsiriwa ikiwa inataka.
  • app_version: hasa ulichofikiria
  • app_flags: inaonyesha registrar jinsi ya kushughulikia maombi. Nadhani kuna mengi zaidi kuliko inavyoonekana. Kwa mfano, kuna B_SINGLE_LAUNCH, ambayo hulazimisha mfumo kuzindua mchakato mpya wa maombi kila wakati mtumiaji anapoiomba (kanuni hiyo hiyo hutumiwa kwa programu nyingi kwenye Linux). Kula B_MULTIPLE_LAUNCH, na kusababisha mchakato kuendeshwa kila faili. Hatimaye kuna B_EXCLUSIVE_LAUNCH, ambayo hulazimisha mfumo kuzindua mchakato mmoja tu kwa wakati mmoja, haijalishi watumiaji huizindua mara ngapi (kwa mfano, hivi ndivyo Firefox inavyofanya kazi kwenye Linux; matokeo sawa yanaweza kupatikana katika programu za Qt kwa kutumia chaguo la kukokotoa. Programu ya QtSingle) Maombi na B_EXCLUSIVE_LAUNCH wanaarifiwa wakati mtumiaji anajaribu kuziendesha tena: kwa mfano, wanapokea njia ya faili ambayo mtumiaji anataka kufungua kwa msaada wao.
  • vector_icon: Ikoni ya programu ya Vekta (BeOS haikuwa na ikoni za vekta, programu nyingi badala yake zilikuwa na ikoni mbili mbaya katika faili zao zinazoweza kutekelezwa).

Bila shaka, unaweza kuongeza rasilimali na vitambulisho na aina yoyote unayotaka, kisha uisome kwenye programu yenyewe au programu zingine kwa kutumia darasa. BResources. Lakini kwanza, hebu tuangalie mada ya kuvutia ya icons.

Aikoni za Vekta katika mtindo wa Haiku

Kwa kweli, sio tu Haiku alichagua umbizo bora la ikoni; katika sehemu hii, hali ya mazingira ya eneo-kazi la Linux ni mbali na bora:

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

Kuangalia hii unaweza tayari kuhisi ni kipande gani.

Bila shaka, kuna scalable, ambayo ina, kama unaweza kuelewa, icons vector. Kwa nini basi kuna kitu kingine chochote? Kwa sababu matokeo ya kuchora vector graphics katika ukubwa ndogo inaweza kuwa chini ya bora. Ningependa kuwa na chaguzi tofauti zilizoboreshwa kwa saizi tofauti. Katika mazingira ya eneo-kazi la Linux, hii inafanikiwa kwa kutawanya ikoni za saizi tofauti katika mfumo wa faili.

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

Tafadhali kumbuka: hakuna dhana ya matoleo tofauti ya Firefox. Kwa hivyo, haiwezekani kushughulikia kwa uzuri hali ya kuwa na matoleo mengi ya programu kwenye mfumo.

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Icons tofauti za Firefox katika matoleo tofauti. Kwa sasa haiwezekani kushughulikia hii katika Linux bila magongo kadhaa.

Mac OS X inaishughulikia kwa hila zaidi:

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

Inaweza kuonekana kuwa kuna faili moja firefox.icns katika kifurushi Firefox.app, iliyo na saizi zote ili matoleo tofauti ya programu sawa yawe na ikoni tofauti.
Nzuri zaidi! Ikoni husafiri na programu, rasilimali zote ziko kwenye faili moja.

Turudi Haiku. Suluhisho la kushangaza, hakuna ubaguzi. Kulingana na nyaraka:

Umbizo maalum la HVIF, lililoboreshwa sana kwa saizi ndogo na uwasilishaji wa haraka, uliundwa. Kwa hivyo, ikoni zetu kwa sehemu kubwa ni ndogo sana kuliko katika raster au katika umbizo la SVG linalotumika sana.

Na bado zimeboreshwa:

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Ukubwa wa aikoni katika HVIF ikilinganishwa na miundo mingine.

Tofauti ni mpangilio wa ukubwa!

Lakini uchawi hauishii hapa. HVIF sawa inaweza kuonyesha viwango tofauti vya maelezo kulingana na saizi iliyoonyeshwa, ingawa ni umbizo la vekta.

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Viwango tofauti vya maelezo (LOD) kulingana na saizi ya kutoa

Sasa kuhusu ubaya: huwezi kuchukua SVG, itupe kwenye ImageMagick na uiite siku; lazima upitie mizunguko kadhaa kuunda ikoni katika umbizo la HVIF. Hapa maelezo. Walakini, IconOMatic inaweza kuagiza SVG kwa njia isiyo kamili; takriban 90% ya maelezo ya SVG yanaletwa kwa uwezekano fulani, 10% iliyosalia itahitaji kusanidiwa na kubadilishwa wewe mwenyewe. Soma zaidi kuhusu jinsi HVIF inavyofanya uchawi wake mtu anaweza kwenye blogi Leah Ganson

Kuongeza ikoni kwenye programu

Sasa naweza kuongeza ikoni kwenye kifurushi kilichoundwa mara ya mwisho, kwa kuzingatia taarifa zote zilizopokelewa.
Kweli, kwa kuwa sina hamu sana ya kuchora ikoni yangu mwenyewe ya QtQuickApp yangu ya "Hujambo, Ulimwengu" hivi sasa, ninaiondoa kutoka kwa 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

Wacha tuangalie ikiwa ikoni imenakiliwa:

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

Inaonekana vizuri, lakini kwa nini ikoni mpya inaponakiliwa haionekani?

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
VICN:101:BEOS:ICONs zilizonakiliwa bado hazitumiki kama ikoni ya programu katika kidhibiti faili.

Nilikosa nini?

Maoni ya msanidi:

Tunahitaji kuunda faili rdef na rasilimali zote, kisha utekeleze amri rc имя.rdef, hii itaunda faili .rsrc. Kisha unahitaji kuendesha amri resattr -o имя_Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ° имя.rsrc. Kwa uchache, mimi hutumia amri kama hizi kuongeza icons kwenye hati zangu.

Kweli, nilitaka kuunda rasilimali, sio sifa. Nimechanganyikiwa kweli.

Smart caching kwa kutumia mfumo wa faili

Kufungua na kusoma sifa za ELF ni polepole. Kama nilivyoandika hapo juu, ikoni imeandikwa kama rasilimali kwenye faili yenyewe. Njia hii ni ya kuaminika zaidi na hukuruhusu kuishi kunakili kwenye mfumo mwingine wa faili. Walakini, basi inakiliwa pia kwa sifa ya mfumo wa faili, kwa mfano BEOS:ICON. Hii inafanya kazi tu kwenye mifumo fulani ya faili, kama vile BFS. Picha zilizoonyeshwa na mfumo (katika Tracker na Deskbar) zinasomwa kutoka kwa sifa hii iliyopanuliwa, kwa sababu suluhisho hili linafanya kazi haraka. Katika baadhi ya maeneo (ambapo kasi si muhimu, kwa mfano, dirisha la kawaida la "Kuhusu"), mfumo hupokea icon moja kwa moja kutoka kwa rasilimali kwenye faili. Lakini huu sio mwisho. Kumbuka, kwenye Mac, watumiaji wanaweza kuchukua nafasi ya icons za programu, saraka, hati na zao, kwani kwenye Mac inawezekana kufanya mambo haya "muhimu", kwa mfano. kubadilisha ikoni mpya ya Slack na iliyotangulia. Kwenye Haiku, unapaswa kufikiria rasilimali (kwenye faili) kama ikoni ya asili inayokuja na programu, na sifa (katika mfumo wa faili wa BFS) kama kitu kinachoruhusu mtumiaji kufanya mabadiliko kwa mapenzi (ingawa, kidokezo, GUI ya kuingiza ikoni maalum juu ya ikoni ni ya hiari). bado haijatekelezwa kwa chaguo-msingi).

Kuangalia sifa za mfumo wa faili

Pamoja na resaddr Inawezekana kuangalia na kuweka sifa za mfumo wa 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.
(...)

Kimsingi ni "gundi" ambayo hufanya ubadilishaji na kurudi kati ya rasilimali (za kuaminika) na (haraka) sifa za mfumo wa faili. Na kwa kuwa mfumo unatarajia kupokea rasilimali na unakili kiotomatiki, sitakuwa na wasiwasi juu yake zaidi.

Uchawi wa vifurushi vya hpkg

Hivi sasa (mara nyingi) vifurushi hutumiwa kupata programu kwenye Haiku .hpkg. Usidanganywe kwa jina rahisi: umbizo la .hpkg hufanya kazi tofauti kabisa na miundo mingine iliyo na majina sawa ambayo umekutana nayo, ina nguvu kuu za kweli.

Kwa muundo wa kifurushi cha jadi, nilikasirika kwa muda mrefu kwa sababu ya ukweli huu: unapakua kitu kimoja (kifurushi), na kingine kimewekwa kwenye mfumo (faili zilizo ndani ya kifurushi). Ni ngumu sana kudhibiti faili (kwa mfano, kuzifuta) wakati wa kusanikisha kifurushi kwa njia ya jadi. Na yote kwa sababu yaliyomo kwenye kifurushi kutawanyika katika mfumo wa faili, ikijumuisha mahali ambapo mtumiaji wa kawaida anaweza kukosa ufikiaji wa kuandika. Hii inasababisha darasa zima la programu - wasimamizi wa vifurushi. Lakini kuhamisha programu iliyowekwa tayari, kwa mfano, kwa mashine nyingine, diski inayoondolewa au seva ya faili inakuwa ngumu zaidi, ikiwa haiwezekani kabisa. Kwenye mfumo wa kawaida wa msingi wa Linux, kunaweza kuwa na laki kadhaa hadi mamilioni ya faili za kibinafsi. Bila kusema, hii ni tete na polepole, kwa mfano wakati wa kufunga mfumo, wakati wa kufunga, kusasisha na kufuta vifurushi vya kawaida, na wakati wa kunakili kiasi cha boot (kizigeu cha mizizi) kwa njia nyingine.

Ninafanya kazi kwenye mradi wa AppImage, sehemu ya sehemu ya matumizi ya watumiaji wa mwisho. Huu ni umbizo la usambazaji wa programu ambalo hukusanya programu na vitegemezi vyake vyote kwenye picha moja ya mfumo wa faili ambayo huwekwa wakati programu inapoanza. Kwa kiasi kikubwa hurahisisha mambo, kwani ImageMagick hiyo hiyo inabadilika ghafla kuwa faili moja, inayosimamiwa katika kidhibiti faili na wanadamu tu. Njia iliyopendekezwa inafanya kazi kwa programu tu, kama inavyoonyeshwa kwa jina la mradi, na pia ina seti yake ya shida, kwani watu wanaohusika katika kutoa programu ya Linux kila wakati huelekeza mshale kwangu.

Turudi Haiku. Je, imewezekana kupata uwiano bora kati ya mifumo ya kifurushi ya jadi na uwasilishaji wa programu unaotegemea picha? Vifurushi vyake .hpkg picha za mfumo wa faili zilizobanwa. Wakati mfumo unapoanza, kernel huweka vifurushi vyote vilivyosanikishwa na amilifu na takriban ujumbe ufuatao wa kernel:

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"

Poa, ndio? Kaa hapo, kutakuwa baridi zaidi!

Kuna kifurushi maalum sana:

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

Ina mfumo wa uendeshaji mdogo sana, ikiwa ni pamoja na kernel. Amini usiamini, hata kernel yenyewe haijatolewa kutoka kwa kiasi cha boot (kizigeu cha mizizi), lakini imejaa kwa uangalifu mahali pake kutoka kwa kifurushi. .hpkg. Lo! Tayari nimeshataja kuwa nadhani sehemu ya ustadi na uthabiti wa jumla wa Haiku unatokana na ukweli kwamba mfumo mzima, kutoka kwa kernel na nafasi kuu ya mtumiaji hadi usimamizi wa kifurushi na miundombinu ya wakati wa utekelezaji, unatengenezwa kwa ushirikiano na timu moja. Hebu fikiria ni vikundi na timu ngapi tofauti ambazo itachukua ili kuendesha kitu kama hiki kwenye Linux [Nafikiria mradi wa PuppyLinux - takriban. mtafsiri]. Kisha fikiria itachukua muda gani kwa mbinu hii kupitishwa katika usambazaji. Wanasema: chukua shida rahisi, igawanye kati ya wasanii tofauti, na itakuwa ngumu sana kwamba haitawezekana tena kuisuluhisha. Haiku katika kesi hii alifungua macho yangu. Nadhani hii ndio hasa inayotokea kwenye Linux sasa (Linux katika kesi hii ni neno la pamoja la Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu stack).

Urejeshaji wa mfumo kwa kutumia hpkg

Ni mara ngapi hali ifuatayo inatokea: sasisho lilifanikiwa, na kisha inageuka kuwa kitu haifanyi kazi kama inavyopaswa? Ikiwa unatumia wasimamizi wa vifurushi vya kawaida, ni vigumu kurejesha hali ya mfumo kwa wakati kabla ya vifurushi vipya kusakinishwa (kwa mfano, katika tukio ambalo kitu kilienda vibaya). Mifumo mingine hutoa suluhisho kwa namna ya snapshots za mfumo wa faili, lakini ni ngumu sana na hazitumiwi kwenye mifumo yote. Haiku hutatua hili kwa kutumia vifurushi .hpkg. Wakati wowote vifurushi vinabadilika kwenye mfumo, vifurushi vya zamani havifutwa, lakini huhifadhiwa kwenye mfumo katika subdirectories kama vile. /Haiku/system/packages/administrative/state-<...>/ daima. Shughuli ambazo hazijakamilika huhifadhi data zao katika saraka ndogo /Haiku/system/packages/administrative/transaction-<...>/.

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Yaliyomo /Haiku/system/packages/administrative. Saraka za "hali..." zina faili za maandishi zilizo na majina ya vifurushi vinavyotumika, na saraka za "muamala..." zina vifurushi vyenyewe.

"Hali ya zamani ya kazi", i.e. orodha .hpkg vifurushi vinavyotumika kabla ya mabadiliko kurekodiwa baada ya kila operesheni kwenye kidhibiti faili kwenye faili ya maandishi /Haiku/system/packages/administrative/state-<...>/activated-packages. Kwa njia sawa, "hali ya kazi" mpya imeandikwa katika faili ya maandishi /Haiku/system/packages/administrative/activated-packages.

Mbinu /Haiku/system/packages/administrative/state-<...>/ ina faili ya maandishi tu na orodha ya vifurushi vinavyotumika vya hali hii (katika kesi ya usakinishaji wa vifurushi bila kuondolewa), na ikiwa vifurushi viliondolewa au kusasishwa - saraka ya serikali ina matoleo ya zamani ya vifurushi.

Wakati boti za mfumo, kulingana na orodha ya vifurushi, uamuzi unafanywa ili kuamsha (mlima) vifurushi. Ni rahisi hivyo! Ikiwa kitu kitaenda vibaya wakati wa upakuaji, unaweza kumwambia msimamizi wa upakuaji kutumia orodha tofauti, ya zamani. Tatizo limetatuliwa!

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Haiku downloader. Kila sehemu ya kuingilia inaonyesha "hali amilifu" inayolingana.

Ninapenda mbinu ya kuwa na faili rahisi za maandishi kama orodha ya "hali inayotumika", iliyo na majina ambayo ni rahisi kuelewa .hpkg. Hii inasimama kinyume kabisa na kujengwa kwa mashine-si-kwa-watu. katika kundi kutoka kwa OSTree au Flatpak kwenye mfumo wa faili (katika kiwango sawa na Microsoft GUID).

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Orodha ya vifurushi vinavyotumika kwa kila nukta kwa wakati

Data ya usanidi

Inavyoonekana, katika orodha /Haiku/system/packages/administrative/writable-files ina faili za usanidi za vifurushi, lakini zinaweza kuandikwa. Baada ya yote, kama unavyokumbuka, .hpkg imewekwa kwa kusoma pekee. Kwa hivyo faili hizi lazima zinakiliwe kutoka kwa vifurushi kabla ya kuandika. Ina maana.

Kuunganishwa kwa GUI kwa mfumo wa .hpkg

Hebu sasa tuone jinsi mifuko hii inang'aa .hpkg kukabiliana na ujumuishaji katika mazingira ya kazi ya mtumiaji (UX). Baada ya yote, Haiku imekusudiwa kwa matumizi ya kibinafsi, baada ya yote. Binafsi, niliweka upau juu wakati nikilinganisha uzoefu wa mtumiaji na vifurushi .app kwenye Macintosh ikiwa na matumizi sawa .hpkg. Sitalinganisha hata hali hiyo na mazingira ya kufanya kazi kwenye Linux, kwa sababu ni mbaya kabisa ikilinganishwa na wengine wowote.

Matukio yafuatayo yanakuja akilini:

  • Ninataka kutazama yaliyomo kwenye kifurushi .hpkg
  • Ninataka kusakinisha kifurushi
  • Ninataka kuondoa kifurushi
  • Ninataka kuondoa kitu ambacho kilikuja kwenye mfumo kama sehemu ya kifurushi
  • Ninataka kunakili kitu ambacho kilikuja kwenye mfumo kama sehemu ya kifurushi
  • Ninataka kupakua utegemezi wote wa kifurushi, ambacho kinaweza kisiwe sehemu ya kila usakinishaji wa Haiku (kwa mfano, nina mashine iliyotengwa na hakuna ufikiaji wa mtandao.)
  • Ninataka kuhamisha vifurushi vyangu (au sehemu yao) kando hadi eneo lingine, tofauti na kiasi cha buti (kizigeu cha mizizi) (kwa sababu, kwa mfano, sina nafasi ya kutosha juu yake).

Hii inapaswa kufunika kesi nyingi kuu kutoka kwa kazi yangu ya kila siku. Naam, tuanze.

Inakagua yaliyomo kwenye kifurushi

Kwenye Mac Mimi bonyeza-kulia tu kwenye kifurushi ili kuifungua na kutazama yaliyomo kwenye Finder. Baada ya yote, kwa kweli ni saraka iliyofichwa tu! (Najua kuna vifurushi .pkg kwa sehemu ya mfumo ambayo sio maombi, lakini watumiaji wa kawaida mara nyingi hawaingiliani nao).

Juu ya Haiku Ninabofya kulia kwenye kifurushi, kisha bonyeza "Yaliyomo" ili kuona kilicho ndani. Lakini hapa kuna orodha tu ya faili bila uwezo wa kuzifungua kwa kubofya mara mbili.
Ingekuwa bora zaidi ikiwa kungekuwa na njia ya (kwa muda) kuweka kifurushi .hpkg kutazamwa kupitia meneja wa faili, na mtumiaji hatalazimika kuwa na wasiwasi kuhusu maelezo ya utekelezaji. (Kwa njia, unaweza kufungua .hpkg kifurushi ndani Expander, ambayo inaweza kuifungua kama kumbukumbu nyingine yoyote).

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Kiolesura cha HaikuDepot hukuruhusu kuona orodha ya faili za kifurushi, lakini hakuna njia ya kutazama yaliyomo kwa, kwa mfano, kubofya mara mbili README.md.

Mac inashinda katika kitengo hiki, lakini kuongeza utendaji wa HaikuDepot haupaswi kuwa ngumu sana.

Kufunga kifurushi kupitia GUI

Kwenye Mac, picha nyingi za diski .dmg vyenye vifurushi .app. Bofya mara mbili picha ya diski na kisha unakili kifurushi, kwa mfano, kwa kukivuta ndani /Applications katika Finder. Hii inaenda bila kusema kwangu, lakini nimesikia kuwa watoto wengine wapya hawawezi kushughulikia hili. Kwa chaguo-msingi, Apple "inapendekeza" saraka ya mfumo mzima /Applications (kwenye NEXT iliunganishwa na mtandao na vile vile mtu binafsi), lakini unaweza kuweka programu zako kwa urahisi kwenye seva ya faili au katika orodha ndogo. $HOME/Applications, ikiwa unapenda hivyo.

Juu ya Haiku, bofya mara mbili kwenye mfuko, kisha ubofye "Sakinisha", haiwezi kuwa rahisi. Ninashangaa nini kinatokea ikiwa kifurushi kina utegemezi ambao unapatikana katika HaikuPorts lakini bado haujasanikishwa. Kwenye Linux kwa kweli hawajui la kufanya katika hali hii, lakini suluhisho ni dhahiri - muulize mtumiaji ikiwa anahitaji kupakua na kusakinisha vitegemezi. Hasa kile Haiku anafanya.

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Nilipakua kifurushi cha 'sanity' kwa mikono na kubofya juu yake, msimamizi wa kifurushi anajua wapi pa kupata utegemezi wake kutoka (ikizingatiwa kuwa hazina tayari zimesajiliwa kwenye mfumo). Sio kila usambazaji wa Linux unaweza kufanya hivi.

Njia nyingine ni kutumia meneja wa faili, buruta tu na uangushe .hpkg kifurushi au ndani /Haiku/system/packages (kwa usakinishaji wa mfumo mzima, kwa chaguo-msingi), au ndani /Haiku/home/config/packages (kwa usakinishaji wa mtu binafsi; haipatikani wakati wa kubofya mara mbili - bado ninakasirishwa na neno "config" mahali hapa, ambalo kwangu katika kesi hii ni sawa na "mipangilio"). Na dhana ya watumiaji wengi haipatikani hata kwa Haiku bado (hiyo labda ndiyo sababu ni rahisi sana - sijui, labda uwezo wa watumiaji wengi utachanganya mambo bila lazima kwa mazingira ya eneo-kazi).

Haiku inashinda katika kitengo hiki kwa sababu inaweza kufanya kazi sio tu na programu, lakini pia na programu za mfumo.

Kuondoa kifurushi kutoka kwa GUI

Kwenye Mac, unahitaji kuburuta ikoni ya programu hadi kwenye pipa la taka, na ndivyo tu. Kwa urahisi!

Juu ya Haiku, kwanza, unahitaji kupata ambapo mfuko iko kwenye mfumo, kwa sababu mara chache huiweka mahali pazuri (mfumo hufanya kila kitu). Kawaida unahitaji kuangalia ndani /Haiku/system/packages (na usakinishaji chaguo-msingi wa mfumo mzima), au ndani /Haiku/home/config/packages (Je, nilitaja kwamba "config" ni jina lisilo sahihi?). Kisha programu inaburutwa tu kwenye pipa la takataka, na ndivyo hivyo.
Kwa urahisi! Hata hivyo, nisingesema hivyo. Hapa kuna kile kinachotokea:

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Hiki ndicho kinachotokea ikiwa utaburuta programu hadi kwenye pipa la taka kutoka /Haiku/system/packages

Nilijaribu tu kuhamisha ombi langu la jana la "Hello World" kwenye QtQuickApp hadi kwenye tupio. Sikujaribu kusonga saraka ya mfumo, na kwa kuwa vifurushi vyote vimewekwa kwenye saraka ya mfumo, haiwezekani kuondoa kifurushi .hpkg bila mabadiliko "yaliyomo". Mtumiaji wa kawaida anaweza kuogopa na bonyeza kitufe cha "Ghairi" kilichowekwa kwa chaguomsingi.

Anaeleza Bwana. waddlesplash:

Chapisho hili lina zaidi ya miaka 10. Uwezekano mkubwa zaidi tunahitaji kuisanidi ili onyo lionekane tu wakati kifurushi chenyewe kinahamishwa. Watumiaji wa kawaida hawahitaji kufanya hivi hata hivyo.

Sawa, labda nifanye hivi kwa kutumia HaikuDepot? Mimi bonyeza mara mbili kwenye kifurushi ndani /Haiku/system/packages, ikisubiri kitufe cha "Ondoa" kuonekana. Hapana, kuna (tu) "Sakinisha". "Ondoa", uko wapi?

Kwa kujifurahisha tu, nilijaribu kuona kitakachotokea ikiwa nitabofya "Sakinisha" kwenye kifurushi kilichosakinishwa tayari. Inageuka kama hii:

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Hii hutokea ikiwa utajaribu kusakinisha kifurushi kilichowekwa tayari.

Inayofuata inaonekana:

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Ukibofya "Weka mabadiliko" kwenye dirisha lililopita, itaonekana kama hii

Nadhani hili ni kosa la programu; kiunga cha programu tayari kipo. [mwandishi hakutoa kiunga - takriban. mtafsiri]

Suluhisho la haraka: Ongeza kitufe cha "Ondoa" ikiwa kifurushi tayari kiko ndani /Haiku/system/packages, au ndani /Haiku/home/config/packages.

Wakati wa kutazama orodha ya vifurushi vilivyosanikishwa kwenye HaikuDepot, naona kifurushi changu kwenye orodha na ninaweza kukiondoa.

Mac inashinda katika kitengo hiki. Lakini ninaweza kufikiria kuwa kwa usanidi sahihi, uzoefu wa mtumiaji kwenye Haiku utakuwa bora kuliko kwenye Mac. (Mmoja wa wasanidi programu aliikadiria hivi: β€œChini ya saa moja ili kuongeza utendakazi uliobainishwa kwenye HaikuDepot, ikiwa unajua C++ kidogo”, wafanyakazi wowote wa kujitolea?)

Kuondoa kitu kutoka kwa kifurushi

Wacha tujaribu kuondoa programu yenyewe, sio kifurushi .hpkg, ambayo ilitoka (nina shaka kwamba kwa "wanadamu tu" kuna tofauti yoyote).

Kwenye Mac, mtumiaji kwa kawaida hufanya kazi na faili .dmgkifurushi cha maombi kinatoka wapi .app. Kawaida picha .dmg hukusanywa katika saraka ya upakuaji, na vifurushi vinanakiliwa na mtumiaji /Applications. Inaaminika kwamba watumiaji wengi wenyewe hawajui wanachofanya, hypothesis hii inathibitishwa na mfanyakazi wa zamani wa Apple. (Mojawapo ya mambo ambayo siipendi kwenye Mac. Na, kwa mfano, na AppImage hakuna tofauti kati ya programu na kifurushi kilichokuwa ndani. Buruta ikoni hadi kwenye taka = ndivyo hivyo. Rahisi!)

Juu ya Haiku, pia kuna mgawanyiko kati ya apps/ ΠΈ packages/, kwa hivyo nina shaka kuwa hii ilifanya iwe wazi zaidi kwa watumiaji. Lakini nini kinatokea ikiwa utaburuta programu kutoka apps/ Ongeza kwenye rukwama:

Siku yangu ya sita na Haiku: chini ya kifuniko cha rasilimali, ikoni na vifurushi
Hiki ndicho kinachotokea unapojaribu kuondoa programu iliyochukuliwa kutoka kwa faili .hpkg

Kitaalam ni sawa (baada ya yote, programu inapangishwa kwenye mfumo wa faili wa kusoma tu), lakini sio muhimu sana kwa mtumiaji.

Suluhisho la haraka: pendekeza kutumia GUI kufuta badala yake .hpkg

Kwa kujifurahisha tu, nilijaribu kunakili programu kwa kubonyeza Alt+D. Nilipokea ujumbe "Haiwezi kuhamisha au kunakili vitu kwa sauti ya kusoma tu." Na yote kwa sababu /system ( kando na /system/packages ΠΈ /system/settings) ni sehemu ya kuweka vifurushi (kumbuka jinsi inavyoonekana kwenye matokeo df?). Kwa bahati mbaya, matokeo ya amri mount haifafanui hali hiyo (kama ilivyosemwa katika moja ya nakala zilizopita), mountvolume haionyeshi kile unachotafuta (dhahiri vifurushi vilivyowekwa kupitia kitanzi .hpkg hazizingatiwi "kiasi"), na pia nilisahau amri mbadala.

Hakuna mtu aliyeshinda katika kitengo hiki isipokuwa AppImage (lakini hii, kuwa mkweli kabisa, ni maoni ya upendeleo). Hata hivyo, mtu anaweza kufikiria kwamba baada ya kurekebisha, uzoefu wa mtumiaji kwenye Haiku utakuwa bora zaidi kuliko kwenye Mac.

Kumbuka: unahitaji kujua ni nini "kiasi" kinachohusiana na "sehemu". Labda hii ni sawa na uhusiano wa "folda" na "saraka": saraka nyingi huonekana kama folda kwenye kidhibiti faili, lakini sio zote (vifurushi vinavyochukuliwa kama faili, kwa mfano). Je, onyesho la aina hii hunifanya kuwa mjanja rasmi?

Kunakili yaliyomo kwenye kifurushi kwa mfumo mwingine

Kwenye Mac, naburuta kifurushi kijinga .app, na kwa kuwa utegemezi uko ndani ya kifurushi, husogea pamoja.

Juu ya Haiku, ninaburuta programu, lakini utegemezi haujashughulikiwa hata kidogo.

Suluhisho la haraka: Hebu badala yake tupendekeze kuburuta kifurushi kizima cha `.hpkg, pamoja na vitegemezi vyovyote, ikiwa vipo.

Mac inashinda waziwazi katika kitengo hiki. Angalau kwangu, mpenzi wa dhana zao. Ninapaswa kuinakili kwa Haiku .hpkg badala ya maombi, lakini mfumo haunipi hii...

Pakua kifurushi na tegemezi zake zote

Sio kila mashine imeunganishwa kwenye mtandao kila wakati. Kinyume chake, baadhi ya mashine (ndiyo, ninakuangalia, Windows ya kisasa, Mac na Linux) husahau kuhusu hili. Ni muhimu kwangu kwamba naweza kwenda, kwa mfano, kwa mgahawa wa Mtandao, kupakua programu kwenye kiendeshi kinachoweza kutolewa, ingiza kiendeshi hiki kwenye kompyuta yangu ya nyumbani na uhakikishe kuwa kila kitu kitafanya kazi [mtu hatari, akifanya hivi kwenye Windows... - takriban. mtafsiri].

Kama matokeo, mimi huwa naishia na utegemezi ambao haujafikiwa kwenye Windows na Linux mara nyingi zaidi kuliko kawaida.

Kwenye Mac hii kawaida ni faili moja, unachohitaji kufanya ni kupakua .dmg. Mara nyingi, haina tegemezi isipokuwa zile zinazotolewa na MacOS yenyewe kwa chaguo-msingi. Isipokuwa ni maombi changamano ambayo yanahitaji mazingira mwafaka ya utekelezaji, kwa mfano java.

Juu ya Haiku pakua kifurushi .hpkg kwa, tuseme, utumizi sawa katika java, unaweza kuwa hautoshi, kwani java inaweza au isiwepo kwenye mashine inayolengwa. Kuna njia ya kupakua utegemezi wote wa kifurushi ulichopewa .hpkg, zaidi ya zile ambazo zimesakinishwa kwa chaguo-msingi katika Haiku na kwa hivyo zinapaswa kuwa kwenye kila mfumo wa Haiku?

Mac inashinda kitengo hiki kwa kiasi kidogo.

Maoni Bw. waddlesplash:

Kuandika programu ya kukusanya utegemezi wote wa programu kama seti ya vifurushi .hpkg kwa mtu anayefahamu utendaji wa ndani wa Haiku, kama dakika 15 zinatosha. Kuongeza usaidizi kwa hili sio ngumu sana ikiwa kuna hitaji la kweli. Lakini kwangu hii ni hali adimu.

Hebu tushushe pumzi hadi makala inayofuata katika mfululizo huu.

Kuhamisha vifurushi kwenye eneo tofauti

Kama nilivyoandika hapo awali, nataka kuweka vifurushi vyangu .hpkg (vizuri, au sehemu yao) kwa mahali maalum, tofauti na uwekaji wa kawaida kwenye kiasi cha boot (kizigeu cha mizizi). Katika kesi ya kawaida (sio ya kinadharia), sababu ya hii ni kwamba mimi hupoteza nafasi ya bure kwenye diski zangu (zilizojengwa), bila kujali ni kubwa kiasi gani. Na mimi huunganisha anatoa za nje au hisa za mtandao ambapo programu zangu ziko.

Kwenye Mac Ninasonga tu vifurushi .app kwa kiendeshi kinachoweza kutolewa au saraka ya mtandao kwenye Finder, na ndivyo ilivyo. Bado ninaweza kubofya mara mbili ili kufungua programu kama kawaida ningefanya kutoka kwa kiasi cha buti. Tu!

Juu ya Haiku, kama nilivyoambiwa, hii inaweza kupatikana kwa kuhamisha yangu .hpkg vifurushi kwa kiendeshi kinachoweza kutolewa au saraka ya mtandao, lakini basi unahitaji kutumia amri ambazo hazijaandikwa kwenye koni ili kuziweka kwenye mfumo. Sijui jinsi ya kufanya hivyo kwa kutumia GUI pekee.

Mac inashinda katika kitengo hiki.

Kwa mujibu wa Bw. waddlesplash:

Huu ni uboreshaji kulingana na matumizi ya kawaida. Ikiwa kuna mahitaji kutoka kwa zaidi ya mtumiaji mmoja, tutatekeleza. Kwa hali yoyote, kuna uwezekano wa utekelezaji wa tatu.

Tutazungumza juu ya hili katika makala inayofuata.

Tukizungumza juu ya saraka za mtandao, itakuwa nzuri (nadhani vyama vya LAN) kuwa na programu rahisi, zinazoweza kugundulika, za mtandao mzima (kama Zeroconf) ambazo zinaweza kunakiliwa kwa kompyuta ya ndani au kukimbia moja kwa moja kutoka kwa mtandao wa ndani. Bila shaka, watengenezaji wana chaguo la kujiondoa kupitia app_flags.

Ripoti ya mwisho juu ya ujumuishaji wa mfumo wa hpkg na GUI

Nadhani hiyo kimsingi ni kwa sababu ya upya wa ujumuishaji .hpkg GUI bado inaacha kuhitajika. Walakini, kuna mambo machache ambayo yanaweza kuboreshwa kulingana na UX...

Jambo moja zaidi: Ardhi ya Kernel Debug

Itakuwa nzuri kuwa na uwezo wa kuingiza amri wakati wa hofu ya kernel, kwa mfano syslog | grep usb. Kweli, kwenye Haiku inawezekana shukrani kwa Kernel Debug Land. Unawezaje kuona uchawi huu ukifanya kazi ikiwa kila kitu kitafanya kazi kama inavyopaswa bila kuingia kwenye hofu ya kernel? Rahisi kwa kubonyeza Alt+PrintScn+D (Debug mnemonic). Nakumbuka mara moja Ufunguo wa Mtayarishaji, ambayo iliruhusu watengenezaji wa awali wa Macintosh kuingia kwenye debugger (ikiwa moja ilikuwa imewekwa, bila shaka).

Hitimisho

Ninaanza kuelewa kuwa ustaarabu wa mfumo wa Haiku unatokana na ukweli kwamba kazi hiyo inafanywa na timu moja ndogo na kuzingatia wazi mazingira ya kazi, na tabaka zote za mfumo zinapatikana.
Tofauti kali na ulimwengu wa Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu, ambapo kila kitu kimegawanywa katika vipande vidogo kiasi kwamba uondoaji hukaa juu ya kujiondoa na kuendesha kwa magongo.
Pia kulikuwa na uelewa wa jinsi mfumo .hpkg inachanganya mbinu bora za wasimamizi wa vifurushi vya jadi, Snappy, Flatpak, AppImage, hata btrfs, na kuzichanganya na mbinu ya Mac ya "kazi tu".

Ilikuwa kana kwamba kuna kitu "kilichobadilika" kichwani mwangu, na nilielewa jinsi mfumo huo .hpkg anajua jinsi ya kujikunja, kwa kumwangalia tu. Lakini sio mimi, lakini uzuri na unyenyekevu wa mfumo. Mengi ya haya yameongozwa na roho ya Mac asilia.

Ndio, kuvinjari kwenye kivinjari kunaweza kuwa ngumu na kukimbia kama konokono, programu zinaweza kukosa (hakuna Gtk, Electron - watengenezaji walihitimisha kuwa hawaendi vizuri na ustaarabu), video na kuongeza kasi ya 3d inaweza kuwa haipo kabisa, lakini bado kama mfumo huu. Baada ya yote, mambo haya yanaweza kusahihishwa na yataonekana mapema au baadaye. Ni suala la muda tu na labda jicho jekundu kidogo.

Siwezi kutoa msaada, lakini nadhani itaanza kutoka sasa na kuendelea mwaka wa Haiku kwenye eneo-kazi.

Matatizo ya nasibu

Labda tayari kuna maombi, au niwafungue?

  • BeScreenCapture inapaswa kuwa na uwezo wa kusafirisha hadi GIF kama vile Peek. Hii inaweza kufanywa kwa kutumia ffmpeg, tayari inapatikana kwa Haiku. Matumizi.
  • Programu ya picha ya skrini inashindwa kunasa kidirisha cha modal, badala yake inanasa skrini nzima
  • Huwezi kupunguza viwambo kwa kutumia zana ya upunguzaji ya WonderBrush na kisha kuhifadhi matokeo kwenye faili
  • Sipendi kielekezi cha mkono katika Haiku, lakini nadhani kinahusiana na hisia ya joto ya kutamani. Hii inakera sana wakati wa kutumia zana ya mazao katika Krita, kwani husababisha upunguzaji usio sahihi (angalia picha za skrini za mazungumzo ya modal katika makala haya). Mshale uliovuka nywele utakuwa mzuri sana. Matumizi.

Jaribu mwenyewe! Baada ya yote, mradi wa Haiku hutoa picha za booting kutoka kwa DVD au USB, zinazozalishwa kila siku. Ili kufunga, pakua tu picha na uandike kwenye gari la flash kwa kutumia Mchezaji

Je, una maswali yoyote? Tunakualika kwa wanaozungumza Kirusi kituo cha telegram.

Muhtasari wa makosa: Jinsi ya kujipiga risasi kwenye mguu katika C na C ++. Mkusanyiko wa mapishi ya Haiku OS

Kutoka mwandishi tafsiri: hii ni makala ya sita katika mfululizo kuhusu Haiku.

Orodha ya makala: Kwanza Ya pili Tatu Nne Tano

Chanzo: mapenzi.com

Kuongeza maoni