Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom

TL; DR: Haiku yog ib qho kev khiav hauj lwm tshwj xeeb tsim rau PCs, yog li nws muaj ntau qhov kev ua kom yuam kev uas ua rau nws lub desktop ib puag ncig zoo dua li lwm tus. Tab sis nws ua haujlwm li cas?

Tsis ntev tas los Kuv nrhiav tau Haiku, ib qho kev npaj txhij txog zoo. Kuv tseem xav tsis thoob txog qhov nws ua haujlwm zoo li cas, tshwj xeeb tshaj yog piv rau Linux desktop ib puag ncig. Hnub no kuv mam li saib hauv qab lub hood. Thaum tsim nyog rau kev nkag siab tob, kuv yuav ua qhov sib piv nrog thawj Macintosh, Mac OS X thiab Linux desktop ib puag ncig (XDG tus qauv los ntawm freedesktop.org).

Cov ntaub ntawv hauv ELF cov ntaub ntawv

Nag hmo kuv tau kawm tias IconOMatic tuaj yeem txuag cov cim hauv rdef cov peev txheej hauv ELF executables. Hnub no kuv xav pom tias nws ua haujlwm li cas tiag.

Cov peev txheej? Tsocai los ntawm Bruce Horn, tus thawj sau ntawm Macintosh Finder thiab "txiv" ntawm Macintosh Resource Manager:

Kuv txhawj xeeb txog qhov nruj ntawm kev coding ib txwm muaj. Rau kuv, lub tswv yim heev ntawm ib daim ntawv thov khov rau hauv code, tsis muaj peev xwm hloov tau dab tsi dynamically, yog wildest savagery. Nws yuav tsum tau hloov ntau npaum li sai tau thaum lub sijhawm khiav. Tau kawg, daim ntawv thov code nws tus kheej tsis tuaj yeem hloov pauv, tab sis muaj tseeb ib yam dab tsi tuaj yeem hloov pauv yam tsis tau sau cov lej?

Ntawm Macintosh thawj, lawv tau ua cov ntaub ntawv no muaj "cov ntaub ntawv seem" thiab "cov ntaub ntawv seem," uas ua rau nws yooj yim heev los khaws cov khoom xws li cov cim, kev txhais lus, thiab lwm yam. nyob rau hauv cov ntaub ntawv executable.

Hauv Mac qhov no yog siv Hloov kho, graphical program rau - dheev - kho cov peev txheej.

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
ResEdit ntawm tus thawj Macintosh

Yog li ntawd, nws tuaj yeem hloov kho cov cim, cov ntawv qhia zaub mov, kev txhais lus, thiab lwm yam. yooj yim txaus, tab sis lawv tseem "mus ncig" nrog cov ntawv thov.
Txawm li cas los xij, txoj hauv kev no muaj qhov tsis zoo loj: nws tsuas yog ua haujlwm ntawm Apple cov ntaub ntawv, uas yog ib qho laj thawj vim li cas Apple tso tseg "cov peev txheej" thaum tsiv mus rau Mac OS X.
Ntawm Mac OS X, Apple xav tau cov ntaub ntawv txheej txheem-kev daws teeb meem, yog li lawv tau txais lub tswv yim ntawm pob khoom (los ntawm NeXT), cov npe uas raug kho raws li "opaque khoom" los ntawm tus thawj tswj ntaub ntawv, zoo li cov ntaub ntawv ntau dua li cov npe. Txhua pob nrog daim ntawv thov hauv hom ntawv .app muaj, ntawm lwm yam, ib cov ntaub ntawv Info.plist (hauv qee yam ntawm Apple qhov sib npaug ntawm JSON lossis YAML) uas muaj cov ntawv thov metadata.

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Cov yuam sij rau cov ntaub ntawv Info.plist los ntawm Mac OS X daim ntawv thov pob.

Cov peev txheej, xws li cov cim, UI cov ntaub ntawv, thiab lwm yam, yog khaws cia rau hauv pob ua cov ntaub ntawv. Lub tswv yim tau rov qab mus rau nws cov hauv paus hniav hauv NeXT.

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Mathematica.app ntawm NeXTSTEP 1.0 hauv 1989: tshwm raws li cov npe ntawm cov ntaub ntawv hauv lub davhlau ya nyob twg, tab sis raws li ib qho khoom hauv tus thawj tswj hwm cov ntaub ntawv.

Cia peb rov qab mus rau BeOS, cov ntsiab lus ntawm Haiku raws li. Nws cov neeg tsim khoom, thaum hloov los ntawm PEF (PowerPC) mus rau ELF (x86) (ib yam li siv rau Linux), txiav txim siab ntxiv cov peev txheej mus rau qhov kawg ntawm ELF cov ntaub ntawv. Nws tsis tau siv nws tus kheej ELF seem, nws tsuas yog ntxiv rau qhov kawg ntawm ELF cov ntaub ntawv. Raws li qhov kev pab cuam strip thiab lwm tus los ntawm binutils, tsis paub txog qhov no, tsuas yog txiav nws tawm. Yog li, thaum ntxiv cov peev txheej rau ELF cov ntaub ntawv ntawm BeOS, nws yog qhov zoo dua tsis txhob siv nws nrog Linux cov cuab yeej.

Yuav ua li cas rau Haiku tam sim no? Yeej, ntau dua los yog tsawg tib yam.

Hauv txoj kev xav, nws yuav muaj peev xwm tso cov peev txheej hauv seem xav tau ntawm ELF. Raws li cov neeg tsim tawm ntawm #haiku channel ntawm irc.freenode.net:

Nrog ELF cov ntu yuav ua rau muaj kev nkag siab ntau dua ... tsuas yog vim li cas peb tsis ua li ntawd yog vim nws yog qhov peb tau ua hauv BeOS. "
Thiab tam sim no tsis muaj lub ntsiab lus hloov qhov no.

Kev tswj cov peev txheej

Cov peev txheej tau sau ua qauv "peev txheej" hom: qhov tseem ceeb yog cov npe ntawm cov peev txheej nrog qhov ntau thiab tsawg thiab tom qab ntawd lawv cov ntsiab lus. Kuv nco qab ua format.
Yuav tshawb xyuas cov peev txheej hauv Haiku li cas? Puas muaj qee yam zoo li ResEdit?
Raws li cov ntaub ntawv:

Txhawm rau saib cov peev txheej muab rau hauv daim ntawv thov pob, koj tuaj yeem rub cov ntaub ntawv executable mus rau qhov program zoo li Cov neeg siv khoom. Koj tuaj yeem mus rau lub davhlau ya nyob twg thiab khiav cov lus txib listres имя_Ρ„Π°ΠΉΠ»Π°.

Cov neeg siv khoom muaj nyob hauv HaikuDepot, tab sis nws tsuas yog poob rau kuv.

Yuav tswj cov peev txheej hauv ELF cov ntaub ntawv li cas? Siv rsrc ΠΈ rdef. rdef cov ntaub ntawv raug sau rau hauv rsrc. Cov ntaub ntawv rdef yog khaws cia rau hauv cov ntawv nyeem dawb, yog li nws yooj yim dua rau kev ua haujlwm nrog. Cov ntaub ntawv hom rsrc ntxiv rau qhov kawg ntawm ELF cov ntaub ntawv. Wb sim ua si:

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

Koj tuaj yeem siv qhov program xres rau kev kuaj thiab tswj:

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

Okay, sim sim?

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

Xav paub ntau ntxiv txog cov peev txheej thiab hom ntawv rdef koj nyeem tau no.

Hom peev txheej txheem

Txawm hais tias koj tuaj yeem tso ib yam dab tsi rau hauv cov peev txheej, muaj ob peb hom qauv txheej txheem:

  • app_signature: MIME daim ntawv thov hom, rau cov ntaub ntawv qhib daim ntawv qhia, tso tawm, IPC, thiab lwm yam.
  • app_name_catalog_entry: Txij li thaum daim ntawv thov lub npe feem ntau yog lus Askiv, koj tuaj yeem qhia qhov chaw uas cov npe txhais lus nyob, kom cov neeg siv hom lus sib txawv yuav pom lub npe txhais daim ntawv thov yog xav tau.
  • app_version: raws nraim li koj xav
  • app_flags: qhia registrar yuav ua li cas rau daim ntawv thov. Kuv xav tias muaj ntau tshaj li qhov muag. Piv txwv li, muaj B_SINGLE_LAUNCH, uas yuam kom lub kaw lus tso tawm cov txheej txheem thov tshiab txhua zaus tus neeg siv thov nws (tib txoj cai yog siv rau feem ntau cov ntawv thov ntawm Linux). Noj B_MULTIPLE_LAUNCH, ua rau cov txheej txheem khiav rau txhua cov ntaub ntawv. Thaum kawg muaj B_EXCLUSIVE_LAUNCH, uas yuam kom lub kaw lus tso tawm tsuas yog ib qho txheej txheem ntawm ib lub sijhawm, txawm tias ntau npaum li cas cov neeg siv tso nws (piv txwv li, qhov no yog li cas Firefox khiav ntawm Linux; tib qhov txiaj ntsig tuaj yeem ua tiav hauv Qt daim ntawv thov siv lub luag haujlwm. QtSingleApplication). Daim ntawv thov nrog B_EXCLUSIVE_LAUNCH tau ceeb toom thaum tus neeg siv sim khiav lawv dua: piv txwv li, lawv tau txais txoj hauv kev ntawm cov ntaub ntawv uas tus neeg siv xav qhib nrog lawv cov kev pab.
  • vector_icon: Vector daim ntawv thov icon (BeOS tsis muaj vector icons, feem ntau cov ntawv thov hloov muaj ob lub cim raster hauv lawv cov ntaub ntawv executable).

Tau kawg, koj tuaj yeem ntxiv cov peev txheej nrog txhua tus ID thiab hom xav tau, thiab tom qab ntawd nyeem lawv hauv daim ntawv thov nws tus kheej lossis lwm daim ntawv thov siv cov chav kawm BResources. Tab sis ua ntej, cia saib lub ntsiab lus ntxim nyiam ntawm cov cim.

Vector icons hauv Haiku style

Tau kawg, tsis tsuas yog Haiku xaiv qhov zoo tshaj plaws icon hom; hauv qhov no, qhov xwm txheej nrog Linux desktop ib puag ncig yog deb ntawm qhov zoo:

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

Saib ntawm no koj tuaj yeem hnov ​​​​qhov nws yog dab tsi.

Tau kawg, muaj scalable, uas muaj, raws li koj tuaj yeem nkag siab, vector icons. Vim li cas thiaj muaj lwm yam? Vim tias qhov tshwm sim ntawm kev kos duab vector duab hauv qhov me me yuav tsawg dua qhov zoo tagnrho. Kuv xav kom muaj cov kev xaiv sib txawv optimized rau ntau qhov sib txawv. Hauv Linux desktop ib puag ncig, qhov no ua tiav los ntawm kev tawg cov cim ntawm ntau qhov sib txawv thoob plaws hauv cov ntaub ntawv.

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

Thov nco ntsoov: tsis muaj lub tswv yim sib txawv ntawm Firefox. Yog li, nws tsis tuaj yeem ua tau zoo los daws qhov teeb meem ntawm kev muaj ntau yam ntawm daim ntawv thov ntawm qhov system.

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Txawv Firefox icons nyob rau hauv txawv versions. Tam sim no nws tsis yooj yim sua kom daws qhov no hauv Linux yam tsis muaj ntau yam khoom siv.

Mac OS X lis nws me ntsis ntxiv subtly:

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

Nws tuaj yeem pom tias muaj ib daim ntawv firefox.icns hauv pob Firefox.app, muaj txhua qhov ntau thiab tsawg kom sib txawv ntawm tib daim ntawv thov muaj cov cim sib txawv.
Zoo dua! Icons mus nrog daim ntawv thov, tag nrho cov peev txheej yog nyob rau hauv ib cov ntaub ntawv.

Wb rov qab mus rau Haiku. Lub siab-blowing tov, tsis muaj kev zam. Raws li cov ntaub ntawv:

Ib hom HVIF tshwj xeeb, ua kom zoo rau qhov me me thiab ua kom nrawm, tau tsim. Yog li ntawd, peb cov cim rau feem ntau yog me dua li hauv raster lossis hauv hom SVG siv dav.

Thiab lawv tseem optimized:

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Icon qhov ntau thiab tsawg hauv HVIF piv rau lwm hom ntawv.

Qhov txawv yog qhov kev txiav txim loj!

Tab sis cov khawv koob tsis xaus ntawm no. Tib HVIF tuaj yeem qhia ntau theem ntawm kev nthuav dav nyob ntawm qhov loj me, txawm tias nws yog hom vector.

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Ntau theem ntawm kev nthuav dav (LOD) nyob ntawm seb qhov loj me

Tam sim no hais txog qhov tsis zoo: koj tsis tuaj yeem nqa SVG, muab pov rau hauv ImageMagick thiab hu nws ib hnub; koj yuav tsum mus dhau ntau lub voj voog los tsim lub cim hauv HVIF hom. no piav qhia. Txawm li cas los xij, IconOMatic tuaj yeem import SVG tsis zoo; kwv yees li 90% ntawm SVG cov ntsiab lus raug xa tuaj nrog qee qhov tshwm sim, qhov seem 10% yuav tsum tau teeb tsa thiab hloov pauv manually. Nyeem ntxiv txog yuav ua li cas HVIF ua nws cov khawv koob tau hauv blog Leah Ganson

Ntxiv ib lub icon rau daim ntawv thov

Tam sim no kuv tuaj yeem ntxiv ib lub cim rau pob tsim zaum kawg, noj mus rau hauv tus account tag nrho cov ntaub ntawv tau txais.
Zoo, txij li thaum kuv tsis txaus siab los kos kuv tus kheej lub cim rau kuv "Nyob zoo, Ntiaj Teb" QtQuickApp tam sim no, kuv rub nws tawm ntawm 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

Cia peb xyuas tias lub icon tau raug theej:

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

Saib zoo, tab sis vim li cas nws thiaj li thaum lub cim tshiab tau theej nws tsis tshwm sim?

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Cov theej VICN:101:BEOS:ICONs tseem tsis tau siv los ua daim ntawv thov icon hauv tus thawj tswj ntaub ntawv

Kuv nco dab tsi?

Developer comment:

Peb yuav tsum tsim cov ntaub ntawv rdef nrog tag nrho cov peev txheej, tom qab ntawd ua tiav cov lus txib rc имя.rdef, qhov no yuav tsim cov ntaub ntawv .rsrc. Tom qab ntawd koj yuav tsum khiav cov lus txib resattr -o имя_Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠ° имя.rsrc. Yam tsawg kawg nkaus, kuv siv cov lus txib zoo li no los ntxiv cov cim rau kuv cov ntawv sau.

Zoo, kuv xav tsim cov peev txheej, tsis yog tus cwj pwm. kuv tsis meej pem lawm.

Ntse caching siv cov ntaub ntawv system

Qhib thiab nyeem ELF cov cwj pwm qeeb. Raws li kuv tau sau saum toj no, lub cim yog sau raws li cov peev txheej hauv cov ntaub ntawv nws tus kheej. Txoj kev no yog qhov txhim khu kev qha thiab tso cai rau koj kom muaj sia nyob ntawm kev luam mus rau lwm qhov system. Txawm li cas los xij, nws kuj tseem tau theej rau cov ntaub ntawv system attribute, piv txwv li BEOS:ICON. Qhov no tsuas yog ua haujlwm ntawm qee cov ntaub ntawv, xws li BFS. Cov cim qhia los ntawm lub kaw lus (hauv Tracker thiab Deskbar) tau nyeem los ntawm qhov txuas txuas ntxiv, vim tias qhov kev daws teeb meem no ua haujlwm sai. Hauv qee qhov chaw (qhov ceev tsis tseem ceeb, piv txwv li, ib qho "Hais txog" qhov rais), lub kaw lus tau txais lub cim ncaj qha los ntawm cov peev txheej hauv cov ntaub ntawv. Tab sis qhov no tsis yog qhov kawg. Nco ntsoov, ntawm Mac, cov neeg siv tuaj yeem hloov lub cim ntawm daim ntawv thov, cov npe, cov ntaub ntawv nrog lawv tus kheej, txij li ntawm Mac nws muaj peev xwm ua tau cov "tseem ceeb" no, piv txwv li. Hloov lub icon Slack tshiab nrog rau yav dhau los. Ntawm Haiku, koj yuav tsum xav txog cov peev txheej (hauv cov ntaub ntawv) raws li lub cim tseem ceeb uas tuaj nrog daim ntawv thov, thiab tus cwj pwm (hauv BFS cov ntaub ntawv system) ua ib yam dab tsi uas tso cai rau tus neeg siv hloov pauv ntawm qhov xav tau (tab sis, hint, lub GUI rau ntxig lub cim kev cai rau saum lub icon yog xaiv tau).

Xyuas cov ntaub ntawv system attributes

Nrog kev pab los ntawm resaddr Nws tuaj yeem tshawb xyuas thiab teeb tsa cov ntaub ntawv system cov yam ntxwv.

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

Nws yog qhov tseem ceeb ntawm "cov kua nplaum" uas ua rau kev hloov pauv rov qab los ntawm (txhim kho) cov peev txheej thiab (ceev) cov yam ntxwv ntawm cov txheej txheem. Thiab txij li lub kaw lus cia siab tias yuav tau txais cov peev txheej thiab ua qhov kev luam tawm, kuv yuav tsis txhawj txog nws ntxiv lawm.

Cov khawv koob ntawm hpkg pob

Tam sim no (feem ntau) cov pob khoom siv kom tau txais cov kev pab cuam ntawm Haiku .hpkg. Tsis txhob raug dag los ntawm lub npe yooj yim: hom .hpkg ua haujlwm txawv ntawm lwm hom ntawv nrog cov npe zoo sib xws uas koj tau ntsib, nws muaj lub zog tiag tiag.

Nrog cov qauv pob ib txwm muaj, kuv chim siab rau lub sijhawm ntev vim qhov tseeb: koj rub tawm ib yam (pob), thiab lwm qhov yog nruab rau hauv lub kaw lus (cov ntaub ntawv hauv pob). Nws yog ib qho nyuaj heev los tswj cov ntaub ntawv (piv txwv li, rho tawm lawv) thaum txhim kho ib pob hauv ib txwm muaj. Thiab tag nrho vim cov ntsiab lus ntawm lub pob tawg thoob plaws hauv cov ntaub ntawv system, suav nrog cov chaw uas tus neeg siv nruab nrab yuav tsis muaj kev sau ntawv. Qhov no ua rau tag nrho cov chav kawm ntawm cov kev pab cuam - cov thawj tswj pob. Tab sis kev xa cov software uas twb tau teeb tsa lawm, piv txwv li, mus rau lwm lub tshuab, tshem tau disk lossis cov ntaub ntawv server yuav nyuaj dua, yog tias tsis tuaj yeem ua tiav. Nyob rau hauv ib txwm Linux-raws li system, tuaj yeem yooj yim muaj ntau pua txhiab mus rau lab tus tib neeg cov ntaub ntawv. Tsis tas yuav hais, qhov no yog qhov tsis yooj yim thiab qeeb, piv txwv li thaum pib txhim kho lub kaw lus, thaum txhim kho, hloov kho thiab tshem tawm cov pob khoom tsis tu ncua, thiab thaum luam lub ntim ntim (hauv paus muab faib) mus rau lwm qhov nruab nrab.

Kuv tab tom ua haujlwm ntawm AppImage qhov project, ib feem ntawm cov khoom siv rau cov neeg siv kawg. Qhov no yog ib tug software faib hom uas sau ib daim ntawv thov thiab tag nrho nws dependencies mus rau hauv ib tug tib cov ntaub ntawv system duab uas yog mounted thaum daim ntawv thov pib. Qhov tseem ceeb ua kom yooj yim rau txhua yam, txij li tib lub ImageMagick dheev hloov mus rau hauv ib daim ntawv, tswj hwm hauv cov ntaub ntawv tus thawj tswj hwm los ntawm cov neeg tuag. Txoj kev npaj tsuas yog ua haujlwm rau software, raws li pom hauv lub npe ntawm qhov project, thiab tseem muaj nws tus kheej teeb meem, txij li cov neeg koom nrog xa software rau Linux ib txwm taw tes rau kuv.

Wb rov qab mus rau Haiku. Puas muaj peev xwm nrhiav tau qhov zoo tshaj qhov sib npaug ntawm cov kab ke ib txwm siv thiab cov duab-raws li software xa? Nws tej pob khoom .hpkg ua tau compressed cov ntaub ntawv system dluab. Thaum lub kaw lus khau raj, lub kernel mounts tag nrho cov ntsia thiab nquag pob nrog kwv yees li cov lus hauv qab no:

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"

Txias, yog? Dai rau hauv, nws yuav txias dua!

Muaj ib pob tshwj xeeb heev:

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

Nws muaj qhov ua haujlwm tsawg heev, suav nrog cov ntsiav. Ntseeg nws los tsis, txawm tias cov ntsiav nws tus kheej tsis raug tshem tawm ntawm lub ntim khau raj (hauv paus muab faib), tab sis ua tib zoo thauj mus rau hauv nws qhov chaw los ntawm pob. .hpkg. Wow! Kuv twb tau hais lawm tias kuv xav tias ib feem ntawm Haiku qhov kev ua tau zoo thiab kev sib raug zoo yog los ntawm qhov tseeb tias tag nrho cov kab ke, los ntawm cov ntsiav thiab cov neeg siv khoom tseem ceeb rau pob kev tswj hwm thiab cov txheej txheem khiav sijhawm, yog tsim los ntawm ib pab neeg. Xav txog seb muaj pes tsawg pab pawg thiab pab pawg sib txawv nws yuav siv los khiav qee yam zoo li no ntawm Linux [Kuv xav txog qhov project PuppyLinux - kwv yees li. tus txhais lus]. Tom qab ntawd xav txog seb nws yuav siv sij hawm ntev npaum li cas rau txoj hauv kev no kom tau txais mus rau hauv kev faib khoom. Lawv hais tias: ua ib qho teeb meem yooj yim, faib nws ntawm cov neeg ua yeeb yam sib txawv, thiab nws yuav nyuaj heev uas nws yuav daws tsis tau lawm. Haiku qhov no qhib kuv ob lub qhov muag. Kuv xav tias qhov no yog qhov tshwm sim ntawm Linux tam sim no (Linux hauv qhov no yog cov lus sib sau rau Linux / GNU / dpkg / apt / systemd / Xorg / dbus / Gtk / GNOME / XDG / Ubuntu pawg).

System rollback siv hpkg

Cov xwm txheej hauv qab no tshwm sim ntau npaum li cas: qhov hloov tshiab tau ua tiav, thiab tom qab ntawd nws hloov tawm tias qee yam tsis ua haujlwm raws li nws yuav tsum tau ua? Yog tias koj siv cov thawj tswj hwm pob, nws nyuaj rau rov qab lub xeev ntawm qhov system mus rau lub sijhawm ua ntej cov pob tshiab raug teeb tsa (piv txwv li, yog tias muaj qee yam yuam kev). Qee lub tshuab muaj kev ua haujlwm nyob rau hauv daim ntawv ntawm cov ntaub ntawv kaw lus snapshots, tab sis lawv yog qhov nyuaj heev thiab tsis siv rau txhua lub tshuab. Haiku daws qhov no siv pob .hpkg. Thaum twg cov pob hloov pauv hauv qhov system, cov pob qub tsis raug tshem tawm, tab sis khaws cia hauv qhov system hauv subdirectories xws li /Haiku/system/packages/administrative/state-<...>/ tas li. Kev ua haujlwm tsis tiav khaws lawv cov ntaub ntawv hauv subdirectories /Haiku/system/packages/administrative/transaction-<...>/.

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Cov ntsiab lus /Haiku/system/packages/administrative. Cov "xeev ..." cov ntawv teev npe muaj cov ntawv sau nrog cov npe ntawm cov pob khoom nquag, thiab "kev lag luam ..." cov npe muaj cov pob khoom lawv tus kheej.

"Old active state", i.e. lis .hpkg pob khoom ua haujlwm ua ntej cov kev hloov pauv raug kaw tom qab txhua qhov haujlwm hauv tus tswj cov ntaub ntawv hauv cov ntawv nyeem /Haiku/system/packages/administrative/state-<...>/activated-packages. Ib yam li ntawd, tus tshiab "active state" yog sau rau hauv cov ntawv nyeem /Haiku/system/packages/administrative/activated-packages.

Directory /Haiku/system/packages/administrative/state-<...>/ Tsuas muaj cov ntawv sau nrog cov npe ntawm cov pob khoom nquag ntawm lub xeev no (thaum muaj kev teeb tsa ntawm cov pob khoom yam tsis muaj kev tshem tawm), thiab yog tias cov pob raug tshem tawm lossis hloov kho - lub xeev cov ntawv teev npe muaj cov pob khoom qub.

Thaum lub kaw lus khau raj, raws li cov npe ntawm cov pob khoom, txiav txim siab los qhib (mount) pob. Nws yog qhov yooj yim! Yog tias muaj qee yam tsis zoo thaum lub sijhawm rub tawm, koj tuaj yeem qhia tus thawj coj rub tawm kom siv cov npe sib txawv, laus dua. Teeb meem daws tau!

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Hais lus downloader. Txhua lub ntsiab lus nkag qhia txog qhov sib raug "active state"

Kuv nyiam txoj hauv kev uas muaj cov ntawv nyeem yooj yooj yim raws li daim ntawv teev npe "active state", nrog cov npe uas yooj yim to taub .hpkg. Qhov no sawv ntawm qhov tsis sib xws rau kev tsim-rau-tsim-tsis-rau-neeg. hauv ib pawg los ntawm OSTree lossis Flatpak hauv cov ntaub ntawv kaw lus (hauv tib theem li Microsoft GUID).

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Daim ntawv teev cov pob khoom siv rau txhua lub sijhawm

Configuration cov ntaub ntawv

Thaj, hauv catalog /Haiku/system/packages/administrative/writable-files muaj cov ntaub ntawv configuration rau pob, tab sis lawv sau tau. Tom qab tag nrho, raws li koj nco qab, .hpkg mounted nyeem nkaus xwb. Yog li cov ntaub ntawv no yuav tsum tau theej los ntawm cov pob khoom ua ntej sau. Muaj lub ntsiab lus.

GUI kev koom ua ke rau .hpkg system

Cia peb saib yuav ua li cas cov hnab ci ci no .hpkg tiv nrog kev koom ua ke rau hauv tus neeg siv lub chaw ua haujlwm (UX). Tom qab tag nrho, Haiku yog npaj rau kev siv tus kheej, tom qab tag nrho. Tus kheej, kuv teeb lub bar siab thaum piv cov neeg siv kev paub rau pob .app ntawm Macintosh nrog tib qhov kev paub ntawm .hpkg. Kuv yuav tsis txawm piv qhov xwm txheej nrog ib puag ncig ua haujlwm ntawm Linux, vim tias nws yog qhov txaus ntshai heev piv rau lwm tus.

Cov xwm txheej hauv qab no tuaj rau hauv siab:

  • Kuv xav saib cov ntsiab lus ntawm ib pob .hpkg
  • Kuv xav nruab ib pob
  • Kuv xav tshem lub pob
  • Kuv xav tshem tawm ib yam dab tsi uas tuaj rau hauv qhov system ua ib feem ntawm pob
  • Kuv xav luam ib yam dab tsi uas tuaj rau hauv qhov system ua ib feem ntawm pob
  • Kuv xav rub tawm tag nrho cov kev vam khom ntawm ib pob, uas tej zaum yuav tsis yog ib feem ntawm txhua qhov kev teeb tsa Haiku (piv txwv li, kuv muaj lub tshuab cais tawm lub cev tsis muaj internet.)
  • Kuv xav txav kuv cov pob khoom (los yog ib feem ntawm lawv) cais mus rau lwm qhov chaw, cais los ntawm lub ntim ntim (hauv paus muab faib) (vim, piv txwv li, kuv tsis muaj chaw txaus rau nws).

Qhov no yuav tsum npog feem ntau ntawm cov xwm txheej loj los ntawm kuv qhov kev ua haujlwm ib hnub. Zoo, cia peb pib.

Tshawb xyuas cov ntsiab lus ntawm pob

Hauv Mac Kuv tsuas yog nyem rau ntawm lub pob kom qhib nws thiab saib cov ntsiab lus hauv Finder. Tom qab tag nrho, nyob rau hauv kev muaj tiag nws tsuas yog ib tug disguised directory! (Kuv paub tias muaj pob khoom .pkg rau ib feem ntawm qhov system uas tsis yog daim ntawv thov, tab sis cov neeg siv zoo tib yam feem ntau tsis cuam tshuam nrog lawv).

Hauv Haiku Kuv txoj cai-nias ntawm lub pob, ces nyem rau ntawm "Cov ntsiab lus" kom pom dab tsi sab hauv. Tab sis ntawm no tsuas yog ib daim ntawv teev cov ntaub ntawv tsis muaj peev xwm qhib lawv los ntawm ob-nias.
Nws yuav zoo dua yog tias muaj ib txoj hauv kev (ib ntus) mount lub pob .hpkg yuav tsum tau saib los ntawm tus neeg saib xyuas cov ntaub ntawv, thiab tus neeg siv yuav tsis tas txhawj txog kev siv cov ntsiab lus. (Los ntawm txoj kev, koj tuaj yeem qhib .hpkg pob hauv Expander, uas tuaj yeem tshem tawm nws zoo li lwm yam archive).

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
HaikuDepot's interface tso cai rau koj saib cov npe ntawm cov ntaub ntawv pob, tab sis tsis muaj txoj hauv kev los saib cov ntsiab lus los ntawm, piv txwv li, ob npaug nias README.md

Lub Mac yeej hauv pawg no, tab sis ntxiv HaikuDepot kev ua haujlwm uas koj xav tau yuav tsum tsis txhob nyuaj dhau.

Txhim kho ib pob ntawm GUI

Hauv Mac, feem ntau disk duab .dmg muaj tej pob khoom .app. Muab ob npaug rau-nias daim duab disk thiab tom qab ntawd luam cov pob, piv txwv li, los ntawm rub nws mus rau hauv /Applications hauv Finder. Qhov no mus yam tsis tau hais rau kuv, tab sis kuv tau hnov ​​​​tias qee tus neeg tshiab yuav tsis tuaj yeem ua qhov no. Los ntawm lub neej ntawd, Apple "qhia" cov kab ke thoob plaws lub cev /Applications (ntawm NeXT nws tau sib txuas nrog rau tus kheej), tab sis koj tuaj yeem yooj yim tso koj cov ntawv thov rau ntawm cov ntaub ntawv server lossis hauv subdirectory $HOME/Applications, yog koj nyiam li ntawd.

Hauv Haiku, ob npaug nyem rau ntawm pob, tom qab ntawd nyem rau ntawm "Nruab", nws tsis tuaj yeem yooj yim dua. Kuv tab tom xav tias yuav ua li cas yog tias ib pob muaj kev vam khom muaj nyob hauv HaikuPorts tab sis tseem tsis tau teeb tsa. Ntawm Linux lawv yeej tsis paub yuav ua li cas hauv qhov xwm txheej no, tab sis qhov kev daws teeb meem yog pom tseeb - nug tus neeg siv seb lawv puas xav tau rub tawm thiab nruab qhov kev vam khom. Raws nraim li Haiku ua.

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Kuv rub lub pob 'sanity' manually thiab nyem rau ntawm nws, tus thawj tswj pob paub qhov twg kom tau txais nws cov kev vam meej los ntawm (piv txwv li cov chaw khaws cia tau sau npe rau hauv qhov system). Tsis yog txhua qhov Linux faib tuaj yeem ua qhov no.

Lwm txoj hauv kev yog siv tus thawj tswj ntaub ntawv, tsuas yog luag thiab poob .hpkg pob los yog hauv /Haiku/system/packages (rau kev teeb tsa thoob plaws qhov system, los ntawm lub neej ntawd), lossis hauv /Haiku/home/config/packages (rau ib tus neeg installation; tsis muaj nyob rau hauv ob-nias - Kuv tseem ntxhov siab los ntawm lo lus "config" nyob rau hauv qhov chaw no, uas rau kuv nyob rau hauv cov ntaub ntawv no yog synonymous nrog "settings"). Thiab lub tswv yim ntawm ntau tus neeg siv tseem tsis tau muaj rau Haiku (qhov no tej zaum yog vim li cas nws yooj yim heev - kuv tsis paub, tej zaum cov neeg siv ntau lub peev xwm yuav tsis tsim teeb meem rau lub desktop desktop ib puag ncig).

Haiku yeej hauv pawg no vim tias nws tuaj yeem ua haujlwm tsis yog nrog cov ntawv thov xwb, tab sis kuj nrog cov kev pabcuam hauv lub cev.

Tshem ib pob los ntawm GUI

Hauv Mac, koj yuav tsum rub daim ntawv thov icon mus rau lub thoob khib nyiab, thiab qhov ntawd yog txhua yam. Yooj yim!

Hauv Haiku, ua ntej, koj yuav tsum nrhiav qhov twg pob nyob rau hauv lub system, vim hais tias koj tsis tshua nruab nws nyob rau hauv qhov chaw (lub system ua txhua yam). Feem ntau koj yuav tsum tau saib hauv /Haiku/system/packages (nrog rau qhov system-wide default installation), los yog hauv /Haiku/home/config/packages (Kuv puas tau hais tias "config" yog ib qho misnomer?). Tom qab ntawd daim ntawv thov tsuas yog rub mus rau lub thoob khib nyiab, thiab qhov ntawd yog nws.
Yooj yim! Txawm li cas los xij, kuv yuav tsis hais li ntawd. Nov yog qhov tshwm sim tiag tiag:

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Qhov no yuav tshwm sim yog tias koj rub daim ntawv thov mus rau lub thoob khib nyiab los ntawm /Haiku/system/packages

Tsuas yog sim txav kuv nag hmo "Hello World" daim ntawv thov ntawm QtQuickApp mus rau thoob khib nyiab. Kuv tsis tau sim txav lub system directory, thiab txij li tag nrho cov pob tau nruab rau hauv cov kab ke kab ke, nws tsis tuaj yeem tshem cov pob .hpkg tsis hloov "nws cov ntsiab lus". Tus neeg siv zoo tib yam yuav ntshai thiab nias lub pob "Cancel" los ntawm lub neej ntawd.

Piav qhia mr. waddlesplash:

Cov ncej no muaj hnub nyoog tshaj 10 xyoo. Feem ntau peb yuav tsum tau teeb tsa nws kom cov lus ceeb toom tshwm tsuas yog thaum lub pob nws tus kheej txav mus. Cov neeg siv niaj zaus tsis tas yuav ua qhov no lawm.

Okay, tej zaum kuv yuav tsum ua qhov no siv HaikuDepot? Kuv muab ob npaug rau nyem rau ntawm pob hauv /Haiku/system/packages, tos kom lub "Uninstall" khawm tshwm. Tsis yog, muaj (tsuas yog) "Nruab". "Uninstall", koj nyob qhov twg?

Tsuas yog kev lom zem, kuv sim saib yuav ua li cas yog tias kuv nyem "Nruab" ntawm lub pob uas twb tau teeb tsa lawm. Nws hloov tawm li no:

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Qhov no tshwm sim yog tias koj sim nruab ib lub pob uas twb tau teeb tsa lawm.

Tom ntej no tshwm:

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Yog tias koj nyem "Thov hloov" hauv lub qhov rais dhau los, nws yuav zoo li no

Kuv xav tias qhov no yog software yuam kev; qhov txuas mus rau daim ntawv thov twb muaj lawm. [tus sau tsis tau muab qhov txuas - kwv yees. tus txhais lus]

Kev daws sai: Ntxiv lub pob "Uninstall" yog tias lub pob twb nyob rau hauv /Haiku/system/packages, sau hauv /Haiku/home/config/packages.

Thaum saib cov npe ntawm cov pob teeb tsa hauv HaikuDepot, kuv pom kuv pob hauv daim ntawv teev npe thiab tuaj yeem tshem tawm.

Lub Mac yeej nyob rau hauv qeb no. Tab sis kuv tuaj yeem xav tias nrog kev teeb tsa kom raug, cov neeg siv kev paub ntawm Haiku yuav zoo dua li ntawm Mac. (Ib qho ntawm cov neeg tsim khoom tau ntsuas nws li no: "Tsawg tshaj li ib teev ntxiv cov haujlwm tshwj xeeb rau HaikuDepot, yog tias koj paub me ntsis C ++", cov neeg tuaj yeem pab dawb?)

Tshem tawm ib yam dab tsi ntawm ib pob

Cia peb sim tshem daim ntawv thov nws tus kheej, tsis yog pob .hpkg, los ntawm qhov uas nws tuaj (Kuv tsis ntseeg tias rau "mere mortals" muaj qhov txawv).

Hauv Mac, tus neeg siv feem ntau ua haujlwm nrog cov ntaub ntawv .dmgpob ntawv thov tuaj qhov twg .app. Feem ntau cov duab .dmg yog sau nyob rau hauv lub downloads directory, thiab tej pob khoom yog theej los ntawm tus neeg siv /Applications. Nws ntseeg tias ntau tus neeg siv lawv tus kheej tsis paub tias lawv ua dab tsi, qhov kev xav no tau lees paub los ntawm tus qub Apple tus neeg ua haujlwm. (Ib yam uas kuv tsis nyiam hauv Mac. Thiab, piv txwv li, nrog AppImage tsis muaj qhov sib txawv ntawm daim ntawv thov thiab pob nws nyob hauv. Luag lub cim rau lub thoob khib nyiab = qhov ntawd yog nws. Yooj yim!)

Hauv Haiku, kuj muaj kev faib nruab nrab ntawm apps/ ΠΈ packages/, yog li kuv tsis ntseeg tias qhov no ua kom pom tseeb rau cov neeg siv. Tab sis yuav ua li cas yog tias koj rub ib daim ntawv thov los ntawm apps/ Ntxiv rau lub laub:

Kuv hnub thib rau nrog Haiku: hauv qab hood ntawm cov peev txheej, cov cim thiab pob khoom
Qhov no yog dab tsi tshwm sim thaum koj sim tshem tawm ib daim ntawv thov coj los ntawm cov ntaub ntawv .hpkg

Technically nws yog lawm (tom qab tag nrho, daim ntawv thov yog hosted ntawm cov ntaub ntawv nyeem nkaus xwb nyob rau hauv thawj qhov chaw), tab sis nws tsis yog tshwj xeeb yog pab tau rau cov neeg siv.

Kev daws sai: xav kom siv GUI kom rho tawm .hpkg

Tsuas yog kev lom zem, kuv sim duplicate daim ntawv thov los ntawm nias Alt + D. Kuv tau txais cov lus "Tsis muaj peev xwm txav lossis luam cov khoom ntawm lub ntim nyeem nkaus xwb." Thiab tag nrho vim /system (dua li /system/packages ΠΈ /system/settings) yog qhov packagefs mount point (nco ntsoov nws zoo li cas hauv cov zis df?). Hmoov tsis, qhov tso zis ntawm cov lus txib mount tsis qhia meej qhov xwm txheej (raws li tau hais hauv ib nqe lus dhau los), mountvolume tsis qhia qhov koj tab tom nrhiav (pom tias pob khoom mounted ntawm lub voj .hpkg tsis suav tias yog "volumes"), thiab kuv kuj tsis nco qab lwm cov lus txib.

Tsis muaj leej twg yeej hauv pawg no tsuas yog AppImage (tab sis qhov no, ua kom ncaj ncees, yog kev xav tsis ncaj). Txawm li cas los xij, ib tus tuaj yeem xav tias tom qab tweaking, cov neeg siv kev paub ntawm Haiku yuav zoo dua li ntawm Mac.

Nco tseg: koj yuav tsum paub seb qhov " ntim" yog dab tsi cuam tshuam nrog "section". Qhov no yog tej zaum zoo li kev sib raug zoo ntawm "folder" rau "directory": feem ntau cov npe tshwm li folders hauv cov ntaub ntawv tus thawj tswj hwm, tab sis tsis yog tag nrho cov ntawm lawv (pob khoom kho raws li cov ntaub ntawv, piv txwv li). Cov zaub no puas ua rau kuv ua ib tus neeg nerd?

Luam cov ntsiab lus ntawm ib pob mus rau lwm qhov system

Hauv Mac, Kuv stupidly luag lub pob .app, thiab txij li cov dependencies nyob rau hauv lub pob, lawv tsiv mus ua ke.

Hauv Haiku, Kuv luag daim ntawv thov, tab sis cov dependencies tsis ua txhua.

Kev daws sai: Cia peb xav kom rub tag nrho '.hpkg pob, nrog rau txhua qhov kev vam khom, yog tias muaj.

Lub Mac kom meej meej yeej nyob rau hauv qeb no. Yam tsawg kawg rau kuv, ib tug hlub ntawm lawv cov paradigm. Kuv yuav tsum luam rau Haiku .hpkg es tsis yog daim ntawv thov, tab sis qhov system tsis muab rau kuv qhov no ...

Download tau ib pob nrog tag nrho nws cov dependencies

Tsis yog txhua lub tshuab txuas nrog lub network txhua lub sijhawm. Ntawm qhov tsis sib xws, qee lub tshuab (yog, kuv tab tom saib koj, niaj hnub Windows, Mac thiab Linux) tsis nco qab txog qhov no. Nws yog ib qho tseem ceeb rau kuv tias kuv tuaj yeem mus, piv txwv li, mus rau hauv Internet cafe, rub tawm software rau hauv lub tshuab tshem tawm, ntxig cov tsav no rau hauv kuv lub computer hauv tsev thiab nco ntsoov tias txhua yam yuav ua haujlwm [tus txiv neej pheej hmoo, ua qhov no ntawm Windows ... - kwv yees. tus txhais lus].

Raws li qhov tshwm sim, kuv zoo li yuav xaus nrog kev tsis sib haum xeeb ntawm Windows thiab Linux feem ntau me ntsis ntau dua li niaj zaus.

Hauv Mac qhov no feem ntau yog ib cov ntaub ntawv, txhua yam koj yuav tsum ua yog rub tawm .dmg. Feem ntau, nws tsis muaj kev vam khom lwm yam tshaj li qhov muab los ntawm MacOS nws tus kheej los ntawm lub neej ntawd. Ib qho kev zam yog cov kev siv nyuaj uas yuav tsum tau ua kom tsim nyog ib puag ncig, piv txwv li java.

Hauv Haiku download pob .hpkg rau, hais, tib daim ntawv thov nyob rau hauv java, tej zaum yuav tsis txaus, txij li thaum java tej zaum yuav los yog tsis nyob rau hauv lub hom phiaj tshuab. Puas muaj txoj hauv kev los rub tawm tag nrho cov kev vam khom rau ib pob khoom .hpkg, dua li cov uas tau teeb tsa los ntawm lub neej ntawd hauv Haiku thiab yog li yuav tsum nyob rau txhua qhov Haiku system?

Lub Mac yeej pab pawg no los ntawm cov npoo me me.

Comments Mr. waddlesplash:

Sau ib qho kev pab cuam los sau tag nrho cov kev vam khom ntawm ib daim ntawv thov raws li ib pawg ntawm pob .hpkg rau ib tus neeg paub txog kev ua haujlwm sab hauv ntawm Haiku, txog 15 feeb yog txaus. Ntxiv kev txhawb nqa rau qhov no tsis yog qhov nyuaj yog tias muaj qhov xav tau tiag tiag rau nws. Tab sis rau kuv qhov no yog qhov tsis tshua muaj xwm txheej.

Cia peb tuav peb ua pa kom txog rau thaum tsab xov xwm tom ntej nyob rau hauv no series.

Hloov cov pob khoom mus rau qhov chaw sib cais

Raws li kuv tau sau ua ntej, kuv xav tso kuv cov pob khoom .hpkg (zoo, los yog ib feem ntawm lawv) mus rau ib qho chaw tshwj xeeb, cais los ntawm ib txwm muab tso rau ntawm khau raj ntim (hauv paus muab faib). Nyob rau hauv cov ntaub ntawv li niaj zaus (tsis yog li theoretical), qhov laj thawj ntawm qhov no yog qhov kuv pheej khiav tawm ntawm qhov chaw dawb ntawm kuv (built-in) disks, txawm tias lawv loj npaum li cas. Thiab kuv feem ntau txuas sab nraud drives lossis network sib koom qhov twg kuv daim ntawv thov nyob.

Hauv Mac Kuv nyuam qhuav txav pob khoom .app mus rau ib tug tshem tau tsav los yog network directory hauv Finder, thiab qhov ntawd yog nws. Kuv tseem tuaj yeem nyem ob npaug rau qhib daim ntawv thov raws li kuv ib txwm xav tau los ntawm cov ntim khau raj. Tsuas yog!

Hauv Haiku, raws li kuv tau hais, qhov no tuaj yeem ua tiav los ntawm kev txav kuv .hpkg pob khoom mus rau ib tug tshem tau tsav los yog network directory, tab sis ces koj yuav tsum tau siv ib co undocumented commands nyob rau hauv lub console thiaj li yuav mount lawv nyob rau hauv lub system. Kuv tsis paub yuav ua li cas qhov no tsuas yog siv GUI xwb.

Lub Mac yeej nyob rau hauv qeb no.

Raws li mr. waddlesplash:

Qhov no yog kev ua kom zoo raws li kev siv ib txwm muaj. Yog tias muaj kev thov los ntawm ntau tshaj ib tus neeg siv, peb yuav siv nws. Txawm li cas los xij, muaj qhov ua tau ntawm kev siv thib peb.

Peb mam li tham txog qhov no hauv tsab xov xwm tom ntej.

Hais txog cov npe hauv network, nws yuav zoo heev (Kuv tabtom twv LAN tog) kom muaj qhov yooj yim, nrhiav tau, kev siv network thoob plaws (xws li Zeroconf) uas tuaj yeem theej rau lub computer hauv zos lossis khiav ncaj qha los ntawm lub network hauv zos. Ntawm chav kawm, developers muaj kev xaiv ntawm opting tawm ntawm app_flags.

Daim ntawv tshaj tawm zaum kawg ntawm kev sib koom ua ke ntawm hpkg system nrog GUI

Kuv xav tias feem ntau yog vim qhov txheeb ze tshiab ntawm kev koom ua ke .hpkg GUI tseem tshuav ntau yam uas xav tau. Txawm li cas los xij, muaj ob peb yam uas tuaj yeem txhim kho raws li UX ...

Ib qho ntxiv: Kernel Debug Av

Nws yuav zoo heev uas tuaj yeem nkag mus rau cov lus txib thaum lub sij hawm kernel ntshai, piv txwv li syslog | grep usb. Zoo, ntawm Haiku nws yog ua tau ua tsaug rau Kernel Debug Av. Koj tuaj yeem pom cov khawv koob no ua li cas yog tias txhua yam ua haujlwm raws li nws yuav tsum tsis tau nkag mus rau hauv kev ceeb ntshai? Yooj yim los ntawm nias Alt + PrintScn + D (Debug mnemonic). Kuv nco qab tam sim ntawd Programmer tus yuam sij, uas tso cai rau tus thawj Macintosh developers nkag mus rau lub debugger (yog hais tias ib tug tau ntsia, tau kawg).

xaus

Kuv tab tom pib nkag siab tias qhov kev ua tau zoo ntawm Haiku system los ntawm qhov tseeb tias kev ua haujlwm yog ua los ntawm ib pab pawg me me nrog kev ua kom pom tseeb ntawm qhov chaw ua haujlwm, nrog rau tag nrho cov txheej txheem ntawm kev siv tau.
Qhov sib txawv ntse nrog lub ntiaj teb ntawm Linux / GNU / dpkg / apt / systemd / Xorg / dbus / Gtk / GNOME / XDG / Ubuntu, qhov twg txhua yam tau tawg ua me me rau qhov zoo li qhov kev xav tau zaum ntawm abstraction thiab tsav nrog crutches.
Kuj tseem muaj kev nkag siab txog qhov system li cas .hpkg muab cov kev coj ua zoo tshaj plaws ntawm cov thawj coj pob khoom, Snappy, Flatpak, AppImage, txawm tias btrfs, thiab muab lawv nrog Mac "tsuas yog ua haujlwm" mus kom ze.

Nws yog zoo li ib yam dab tsi "hloov" nyob rau hauv kuv lub taub hau, thiab kuv to taub yuav ua li cas lub system .hpkg paub yuav dov li cas, tsuas yog saib nws xwb. Tab sis nws tsis yog kuv, tab sis qhov zoo nkauj thiab yooj yim ntawm lub system. Ntau qhov no tau tshwm sim los ntawm tus ntsuj plig ntawm thawj Mac.

Yog lawm, browsing nyob rau hauv lub browser tej zaum yuav jerky thiab khiav zoo li ib tug qwj, daim ntaub ntawv tej zaum yuav tsis muaj (tsis muaj Gtk, Electron - cov developers tau xaus lus tias lawv tsis mus zoo nrog sophistication), video thiab 3d acceleration tej zaum yuav tsis tag, tab sis kuv tseem nyiam nws qhov system. Tom qab tag nrho, tej yam no tuaj yeem kho tau thiab lawv yuav tshwm sim sai lossis tom qab. Nws tsuas yog teeb meem ntawm lub sijhawm thiab tej zaum qhov muag liab me ntsis.

Kuv tsis tuaj yeem muab kev pab, tab sis kuv xav tias nws yuav pib txij tam sim no mus xyoo ntawm Haiku ntawm desktop.

Teeb meem Random

Tej zaum twb muaj lawm thov, los yog kuv yuav tsum qhib lawv?

  • BeScreenCapture yuav tsum tuaj yeem xa tawm mus rau GIF zoo li Peek. Qhov no tuaj yeem ua tiav siv ffmpeg, twb muaj rau Haiku. Daim ntawv thov.
  • Screenshot software tsis ntes lub qhov rais modal, es tsis txhob ntes tag nrho lub vijtsam
  • Koj tsis tuaj yeem qoob loo screenshots siv WonderBrush's cropping tool thiab ces txuag tau qhov tshwm sim rau ib cov ntaub ntawv
  • Kuv tsis nyiam tus cursor txhais tes hauv Haiku, tab sis kuv xav tias nws yuav tsum ua nrog lub siab sov so. Qhov no tshwj xeeb tshaj yog kev ntxhov siab thaum siv cov cuab yeej qoob loo hauv Krita, vim nws ua rau cov qoob loo tsis raug (saib screenshots ntawm modal dialogs hauv kab lus no). Tus cursor crosshair yuav zoo heev. Daim ntawv thov.

Sim koj tus kheej! Tom qab tag nrho, Haiku project muab cov duab rau booting ntawm DVD lossis USB, generated Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ. Txhawm rau nruab, tsuas yog rub tawm cov duab thiab sau rau hauv flash drive siv Etcher

Koj puas muaj lus nug? Peb caw koj mus rau Lavxias teb sab-hais lus telegram channel.

yuam kev txheej txheem cej luam: Yuav ua li cas tua koj tus kheej hauv ko taw hauv C thiab C ++. Haiku OS Recipe Collection

Ntawm qhov tus sau txhais lus: qhov no yog tsab xov xwm thib rau hauv series txog Haiku.

Daim ntawv teev cov kab lus: Ua Ntej Qhov thib ob Thib peb Thib plaub Thib tsib

Tau qhov twg los: www.hab.com

Ntxiv ib saib