Дагы бир нерсе: Haiku колдонмолорунун таңгактары?

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?

TL; DR: Хайку тиркемелердин каталогдору сыяктуу тиркеме пакеттери үчүн тийиштүү колдоо ала алабы (мисалы .app Macта) жана/же колдонмо сүрөттөрү (Linux AppImage)? Менин оюмча, бул башка системаларга караганда туура ишке ашырууга оңой болгон татыктуу кошумча болмок, анткени инфраструктуранын көбү орун алган.

Бир жума мурун Мен Хайку, күтүүсүз жакшы системаны таптым. Ооба, мен көптөн бери каталогдорго жана тиркеме сүрөттөрүнө кызыккандыктан (Макинтоштун жөнөкөйлүгүнөн шыктанган), менин оюма бир идея келгени таң калыштуу эмес...

Толук түшүнүү үчүн, мен Macтун жөнөкөйлүгүнө багытталган жана тиркемелердин авторлоруна жана акыркы колдонуучуларга толук башкарууну берген Linux тиркемесинин жайылтуу форматы болгон AppImage түзүүчүсү жана авторумун (эгер сиз көбүрөөк билгиңиз келсе, караңыз Магазин и документтештирүү).

Хайку үчүн AppImage жасасакчы?

Келгиле, бир аз ойлонуп көрөлү, таза теориялык: алуу үчүн эмне кылуу керек AppImage, же ушуга окшош нерсе, Хайкудабы? Азыр бир нерсени жаратуунун кажети жок, анткени Хайкуда буга чейин бар система укмуштуудай иштейт, бирок ойдон чыгарылган эксперимент жакшы болмок. Ал ошондой эле Хайкунун татаалдыгын көрсөтөт, мисалы Linux рабочий чөйрөлөрүнө салыштырмалуу, бул жерде мындай нерселер абдан кыйын (мен мындай деп айтууга укугум бар: мен 10 жылдан бери мүчүлүштүктөрдү оңдоо менен күрөшүп келем).

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?
Macintosh системасы 1де ар бир тиркеме Finderде "башкарылган" өзүнчө файл болгон. AppImageди колдонуу менен мен Linux'та ошол эле колдонуучу тажрыйбасын кайра түзүүгө аракет кылып жатам.

Биринчиден, AppImage деген эмне? Бул үчүнчү жактын тиркемелерин чыгаруу системасы (мисалы, Ultimaker Cure), тиркемелерди каалаган убакта жана кантип чыгарууга мүмкүндүк берет: ар кандай бөлүштүрүүнүн өзгөчөлүктөрүн билүүнүн, саясаттарды куруунун же инфраструктураны куруунун кереги жок, тейлөөчүнүн колдоосу талап кылынбайт жана алар колдонуучуларга эмнени (жок) орното аларын айтышпайт. алардын компьютерлеринде. AppImage форматындагы Mac пакетине окшош нерсе катары түшүнүү керек .app дисктин ичинде .dmg. Негизги айырмачылык - тиркемелер көчүрүлбөйт, бирок AppImage ичинде түбөлүккө кала берет, Haiku пакеттери сыяктуу эле. .hpkg орнотулган жана эч качан кадимки мааниде орнотулган эмес.

10 жылдан ашык убакыттын ичинде AppImage бир аз жагымдуулукка жана популярдуулукка ээ болду: аны Линус Торвальдс өзү ачык колдогон жана жалпы долбоорлор (мисалы, LibreOffice, Krita, Inkscape, Scribus, ImageMagick) аны негизги жол катары кабыл алышкан. орнотулган же орнотулган колдонуучунун тиркемелерине тоскоол болбостон, үзгүлтүксүз же түнкү курулуштарды жайылтуу. Бирок, Linux рабочий чөйрөлөрү жана дистрибьюторлору көбүнчө салттуу, борборлоштурулган тейлөөчүгө негизделген бөлүштүрүү моделине жабышат жана/же алардын жеке ишкана бизнесин жана/же инженердик программаларын илгерилетет. Flatpak (RedHat, Fedora, GNOME) жана Бат (Canonical, Ubuntu). Ал келет күлкүлүү.

Бул кантип иштейт

  • Ар бир AppImage 2 бөлүктөн турат: кичинекей эки жолу чыкылдатуу ELF (деп аталган. runtime.c), андан кийин файл тутумунун сүрөтү SquashFS.

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?

  • SquashFS файл тутуму тиркеменин пайдалуу жүгүн жана аны иштетүү үчүн зарыл болгон нерселердин баарын камтыйт, аны туура ойдо ар бир акыркы максаттуу система үчүн демейки орнотуунун бир бөлүгү катары кароого болбойт (Linux дистрибуциясы). Ал ошондой эле метаберилиштерди камтыйт, мисалы, колдонмонун аталышы, иконалар, MIME түрлөрү, ж.б.у.с.

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?

  • Колдонуучу иштеткенде, иштөө убактысы файл тутумун монтаждоо үчүн FUSE жана squashfuse колдонот, андан кийин орнотулган AppImage ичинде кандайдыр бир кирүү пунктун (ака AppRun) иштетет.
    Процесс аяктагандан кийин файл системасы ажыратылат.

Баары жөнөкөй көрүнөт.

Жана бул нерселер бардыгын татаалдаштырат:

  • Мындай ар түрдүү Linux дистрибьюциялары менен, "акыл-эсте" эч нерсе "ар бир жаңы максаттуу система үчүн демейки орнотуунун бир бөлүгү" деп атоого болбойт. Биз бул маселенин айланасында курулуш менен иштейбиз четтетүү тизмеси, AppImageде эмне топтоло турганын жана эмнени башка жерге алып кетүү керектигин аныктоого мүмкүндүк берет. Ошол эле учурда, жалпысынан баары сонун иштеп жатканына карабастан, кээде сагынабыз. Ушул себептен улам, биз топтом жаратуучуларга AppImagesти бардык максаттуу системаларда (таратылышында) сынап көрүүнү сунуштайбыз.
  • Колдонмонун пайдалуу жүктөрү файл тутуму боюнча көчүрүлүшү керек. Тилекке каршы, көптөгөн тиркемелерде, мисалы, ресурстардын катуу коддолгон абсолюттук жолдору бар /usr/share. Муну кандайдыр бир жол менен оңдоо керек. Мындан тышкары, сиз экспорттоо керек LD_LIBRARY_PATH, же оңдоо rpath жүктөөчү тиешелүү китепканаларды таба алышы үчүн. Биринчи ыкма өзүнүн кемчиликтери бар (алар татаал жолдор менен жоюлат), ал эми экинчиси жөн эле түйшүктүү.
  • Колдонуучулар үчүн эң чоң UX тузагы - бул аткарылуучу бит коюу Жүктөп алгандан кийин AppImage файлы. Ишенсеңер же ишенбейсиңерби, бул кээ бирөөлөр үчүн чыныгы тоскоолдук. Аткарылуучу битти орнотуу зарылчылыгы тажрыйбалуу колдонуучулар үчүн да оор. Чечим катары биз AppImage файлдарын көзөмөлдөгөн жана алардын аткарыла турган биттерин орноткон чакан кызматты орнотууну сунуш кылдык. Таза түрүндө бул эң жакшы чечим эмес, анткени ал кутудан чыкпайт. Linux дистрибьюторлору бул кызматты камсыз кылбайт, ошондуктан колдонуучулар кутудан жаман тажрыйбага ээ.
  • Linux колдонуучулары жаңы колдонмонун баштоо менюсунда сөлөкөт болушун күтүшөт. Сиз системага айта албайсыз: "Мына, жаңы тиркеме бар, иштейли." Анын ордуна, XDG спецификациясына ылайык, файлды көчүрүү керек .desktop туура жерге /usr тутумдук орнотуу үчүн, же $HOME жеке үчүн. XDG спецификациясына ылайык, белгилүү өлчөмдөгү иконалар белгилүү жерлерге жайгаштырылышы керек usr же $HOME, анан сөлөкөт кэшин жаңыртуу үчүн жумушчу чөйрөдө буйруктарды иштетиңиз же жумушчу чөйрөнүн менеджери аны аныктап, баарын автоматтык түрдө аныктайт деп үмүттөнүңүз. MIME түрлөрү менен бирдей. Чечим катары, ошол эле кызматты колдонуу сунушталат, ал аткарыла турган желекти коюудан тышкары, эгерде иконалар бар болсо, ж.б. AppImage ичинде аларды AppImageден XDG ылайык керектүү жерлерге көчүрүңүз. Жок кылынганда же жылдырганда, кызмат баарын тазалайт деп күтүлүүдө. Албетте, ар бир жумушчу чөйрөнүн жүрүм-турумунда, графикалык файл форматтарында, алардын өлчөмдөрүндө, сакталган жерлеринде жана кэштерди жаңыртуу ыкмаларында айырмачылыктар бар, бул көйгөйдү жаратат. Кыскасы, бул ыкма балдак болуп саналат.
  • Эгерде жогоруда айтылгандар жетишсиз болсо, файл башкаргычында дагы эле AppImage сөлөкөтү жок. Linux дүйнөсү элфиконду ишке ашырууну чече элек ( талкулоо и ишке ашыруу), андыктан сөлөкөтүн түздөн-түз колдонмого кыстаруу мүмкүн эмес. Ошентип, файл менеджериндеги тиркемелерде өздөрүнүн иконалары жок экени белгилүү болду (айырмасы жок, AppImage же башка нерсе), алар баштоо менюсунда гана. Чечим катары биз эскиздерди колдонуп жатабыз, механизм башында иш столунун менеджерлерине графикалык файлдардын эскиздерин алдын ала көрүү сүрөттөрүн алардын сөлөкөттөрү катары көрсөтүүгө мүмкүндүк берүү үчүн иштелип чыккан. Демек, аткарылуучу битти орнотуу кызматы "миниатюризатор" катары да иштейт, тиешелүү жерлерге сөлөкөттүн эскиздерин түзүп жана жазат. /usr и $HOME. Бул кызмат AppImage жок кылынса же жылдырылса тазалоону да аткарат. Ар бир рабочий столдун менеджери өзүн бир аз башкача алып жүргөндүктөн, мисалы, ал иконаларды кандай форматта, кандай өлчөмдө же жерлерде кабыл алат, мунун баары чындап эле азаптуу.
  • Эгерде каталар пайда болсо, тиркеме жөн гана аткарылып жатканда бузулат (мисалы, базалык системанын бир бөлүгү эмес жана AppImageде камсыз кылынбаган китепкана бар) жана GUIде колдонуучуга так эмне болуп жатканын айткан эч ким жок. Биз муну колдонуу менен айланта баштадык кабарлоо рабочий столдо, демек, биз буйрук сабынан каталарды кармап, аларды колдонуучу түшүнгөн билдирүүлөргө айландырышыбыз керек, андан кийин алар иш тактасында көрсөтүлүшү керек. Анан, албетте, ар бир рабочий чөйрө аларды бир аз башкача иштетет.
  • Учурда (2019-ж., сентябрь - котормочунун эскертүүсү) мен системага файл деп айтуунун жөнөкөй жолун тапкан жокмун. 1.png Krita аркылуу ачылышы керек жана 2.png - GIMP колдонуу.

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?
Колдонулган иш такталар аралык спецификациялар үчүн сактагычтын орду GNOME, KDE и Аркады freedesktop.org болуп саналат

Хайку иш чөйрөсүнө терең камтылган татаалдык деңгээлине жетүү спецификацияларга байланыштуу кыйын, эгер мүмкүн болбосо freedesktop.org сайтынан XDG кросс-рабочий столдор үчүн, ошондой эле ушул спецификацияларга негизделген рабочий менеджерлерди ишке ашыруу. Мисал катары, биз бир жалпы тутумдук Firefox сөлөкөтүн келтирсек болот: сыягы, XDG авторлору колдонуучуга бир эле тиркеменин бир нече версиясы орнотулат деп ойлошкон да эмес.

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?
Firefoxтун ар кандай версиялары үчүн иконалар

Мен Linux дүйнөсү тутумдук интеграцияны бузуп албаш үчүн Mac OS Xтен эмнени үйрөнө аларын ойлоп жаттым. Эгер убактыңыз болсо жана буга кызыксаңыз, Mac OS Xтин биринчи инженерлеринин бири Арно Гурдолдун айткандарын окуп чыгыңыз:

Биз тиркемени орнотууну каалаган жерден (серверден, тышкы дисктен) компьютериңиздин дискине сүйрөп баргандай оңой кылгыбыз келди. Бул үчүн, тиркеме пакети бардык маалыматты, анын ичинде иконалар, версия, иштетилип жаткан файл түрү, тиркемени иштетүү үчүн система билиши керек болгон URL схемаларынын түрүн сактайт. Бул ошондой эле Icon Services жана Launch Services маалымат базасындагы "борбордук сактоо" үчүн маалыматты камтыйт. Иштин майнаптуулугун колдоо үчүн, тиркемелер бир нече "белгилүү" жерлерде "ачылып" турат: система жана колдонуучунун Тиркемелер каталогдорунда, жана кээ бир башкалары, эгерде колдонуучу тиркемени камтыган каталогдогу Finderге автоматтык түрдө өтсө. Иш жүзүндө бул абдан жакшы иштеген.

https://youtu.be/qQsnqWJ8D2c
Apple WWDC 2000 сессиясы 144 - Mac OS X: таңгактоочу тиркемелер жана документтерди басып чыгаруу.

Linux иш такталарында бул инфраструктурага окшош эч нерсе жок, андыктан биз AppImage долбоорундагы структуралык чектөөлөрдүн тегерегиндеги чечимдерди издеп жатабыз.

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?
Хайку жардамга келе жатабы?

Жана дагы бир нерсе: рабочий чөйрөлөрдүн негизи катары Linux платформалары ушунчалык так көрсөтүлбөгөндүктөн, ырааттуу толук стек тутумунда абдан жөнөкөй болгон көптөгөн нерселер Linux'та капалантуучу фрагменттүү жана татаал. Мен бүтүндөй отчетту рабочий чөйрөлөр үчүн Linux платформасына байланыштуу маселелерге арнадым (билимдүү иштеп чыгуучулар баары абдан узак убакытка чейин ушундай бойдон кала берерин тастыкташты).

2018-жылы Linux рабочий чөйрөлөрүнүн көйгөйлөрү жөнүндө менин баяндамам

Атүгүл Линус Торвалдс жумуш мейкиндиги идеясы ишке ашпай калганынын себеби фрагменттүүлүк экенин мойнуна алды.

Хайку көргөнүмө кубанычтамын!

Хайку баарын укмуштуудай жөнөкөй кылат

AppImage'ди Хайкуга "көчүрүүгө" жөнөкөй ыкма анын компоненттерин түзүүгө аракет кылуу (негизинен runtime.c жана сервис) болсо да (бул мүмкүн болушу мүмкүн!), бул Хайкуга көп пайда бербейт. Анткени чындыгында бул көйгөйлөрдүн көбү Хайкуда чечилген жана концептуалдык жактан туура. Хайку так системалык инфраструктуранын курулуш блокторун камсыздайт, аларды мен көптөн бери Linux рабочий чөйрөлөрүндө издеп жүргөн жана ал жерде жок экенине ишене албадым. Тактап айтканда:

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?
Ишенсеңиз же ишенбеңиз, бул көптөгөн Linux колдонуучулары жеңе албаган нерсе. Хайкуда баары автоматтык түрдө жасалат!

  • Аткаруу битине ээ болбогон ELF файлдары файл менеджеринде эки жолу басылганда автоматтык түрдө бит алат.
  • Тиркемелерде файл башкаргычында көрсөтүлгөн иконалар сыяктуу камтылган ресурстар болушу мүмкүн. Бир топ сүрөттөрдү иконалар менен атайын каталогдорго көчүрүүнүн кереги жок, ошондуктан тиркемени жок кылгандан же жылдыргандан кийин аларды тазалоонун кереги жок.
  • Документтер менен тиркемелерди байланыштыруу үчүн маалымат базасы бар, бул үчүн эч кандай файлдарды көчүрүүнүн кереги жок.
  • Аткарылуучу файлдын жанындагы lib/ каталогунда демейки боюнча китепканалар изделет.
  • Көптөгөн дистрибуциялар жана рабочий чөйрөлөр жок; эмне иштебесин, бардык жерде иштейт.
  • Колдонмолор каталогунан айырмаланып иштей турган өзүнчө модулу жок.
  • Тиркемелерде алардын ресурстарына орнотулган абсолюттук жолдор жок; алар иштөө учурунда жайгашкан жерди аныктоо үчүн атайын функцияларга ээ.
  • Кысылган файл тутумунун сүрөттөрү идеясы киргизилген: бул ар кандай hpkg пакети. Алардын баары ядро ​​менен орнотулган.
  • Ар бир файл аны түзгөн тиркеме тарабынан ачылат, эгерде сиз башкасын ачык көрсөтпөсөңүз. Бул кандай сонун!

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?
Эки png файлы. Эки жолу басканда ар кандай тиркемелер тарабынан ачыла турган ар кандай иконкаларга көңүл буруңуз. Ошондой эле колдонуучу жеке тиркемени тандай турган "Төмөнкү менен ачуу" ылдый түшүүчү менюсуна көңүл буруңуз. Кандай жөнөкөй!

Linux'тагы AppImage талап кылган көптөгөн балдактар ​​жана убактылуу жолдор Хайкуда керексиз болуп калды окшойт, анын өзөгүндө жөнөкөйлүгү жана татаалдыгы бар, бул биздин муктаждыктарыбыздын көбүн чечүүгө мүмкүндүк берет.

Хайкуга колдонмо топтомдору керекпи?

Бул чоң суроого алып келет. Эгерде Haikuда AppImage сыяктуу системаны түзүү Linux'ка караганда жеңилирээк болсо, анда муну жасоо керекпи? Же Хайку өзүнүн hpkg пакет системасы менен мындай идеяны иштеп чыгуунун зарылдыгын натыйжалуу жокко чыгардыбы? Жооп берүү үчүн, биз AppImages бар болгон мотивацияны карашыбыз керек.

Колдонуучунун көз карашы

Келгиле, акыркы колдонуучубузду карап көрөлү:

  • Мен администратордун (тамыр) сырсөзүн сурабастан тиркемени орноткум келет. Хайкуда администратор деген түшүнүк жок, колдонуучу толук башкарууга ээ, анткени бул жеке система! (Негизи, сиз муну көп оюнчу режиминде элестете аласыз, мен иштеп чыгуучулар аны жөнөкөй сакташат деп үмүттөнөм)
  • Мен тиркемелердин эң акыркы жана эң мыкты версияларын, алар менин дистрибуциямда пайда болушун күтпөстөн алгым келет (көбүнчө бул "эч качан" дегенди билдирет, жок дегенде, операциялык тутумдун баарын жаңыртмайынча). Хайкуда бул калкыма релиздер менен "чечилген". Бул тиркемелердин эң акыркы жана эң чоң версияларын алууга болот дегенди билдирет, бирок бул үчүн сиз системанын калган бөлүгүн дайыма жаңыртып, аны эффективдүү "кыймылдуу бутага" айландырышыңыз керек..
  • Мен бир эле тиркеменин бир нече версиясын жанаша алгым келет, анткени акыркы версияда эмне бузулганын билүүнүн эч кандай жолу жок, же, мисалы, мен веб-иштеп чыгуучу катары, браузердин ар кандай версияларында өзүмдүн ишимди сынап көрүшүм керек. Хайку биринчи маселени чечет, экинчисин эмес. Жаңыртуулар артка кайтарылат, бирок бүтүндөй система үчүн гана; мисалы, WebPositive же LibreOfficeтин бир нече версиясын иштетүү мүмкүн эмес (менин билишимче).

Иштеп чыгуучулардын бири мындай деп жазат:

Негизги негизи бул: колдонуу учуру ушунчалык сейрек кездешет, ошондуктан аны оптималдаштыруунун мааниси жок; аны HaikuPortsто өзгөчө окуя катары кароо алгылыктуу эмес көрүнөт.

  • Колдонмолорду баштоо дискимде эмес, өзүмө жаккан жерде сакташым керек. Дисктеги мейкиндигим көп түгөнүп калат, андыктан тиркемелерди (мен жүктөгөн бардык версияларды) сактоо үчүн тышкы дискти же тармак каталогун туташтырышым керек. Эгер мен мындай дискти туташтырсам, тиркемелерди эки жолу чыкылдатуу менен ишке киргизүү керек. Хайку пакеттердин эски версияларын сактайт, бирок мен аларды тышкы дискке кантип жылдырууну же андан кийин тиркемелерди кантип ишке киргизүүнү билбейм.

Иштеп чыгуучунун комментарийи:

Техникалык жактан, бул монтаждоо буйругу менен буга чейин эле мүмкүн. Албетте, биз кызыкдар колдонуучулар жетиштүү болгондо, биз бул үчүн GUI жасайбыз.

  • Мен өзүм кол менен башкара албаган файл тутумуна чачыраган миллиондогон файлдардын кереги жок. Мен оңой жүктөө, жылдыруу, жок кылуу үчүн ар бир тиркемеге бир файл керек. Хайкуда бул көйгөй пакеттерди колдонуу менен чечилет .hpkg, алар, мисалы, питонду миңдеген файлдардан бир файлга өткөрүшөт. Бирок, мисалы, Python колдонгон Scribus бар болсо, анда мен жок дегенде эки файл менен иштешим керек. Мен алардын бири-бири менен иштеген версияларын сактоого кам көрүшүм керек.

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?
Бир эле Linux'та жанаша иштеген AppImages бир нече версиясы

Колдонмону иштеп чыгуучунун көз карашы

Келгиле, колдонмону иштеп чыгуучунун көз карашы менен карап көрөлү:

  • Мен бүт колдонуучу тажрыйбасын көзөмөлдөгүм келет. Тиркемелерди качан жана кантип чыгаруу керек экенин айтуу үчүн операциялык системага көз каранды болгум келбейт. Haiku иштеп чыгуучуларга өздөрүнүн hpkg репозиторийлери менен иштөөгө мүмкүндүк берет, бирок бул колдонуучулар аларды кол менен орнотууга туура келет дегенди билдирет, бул идеяны "азыраак жагымдуу" кылат.
  • Менин веб-сайтымда жүктөө баракчам бар, ал жерде мен таратам .exe Windows үчүн, .dmg Mac үчүн жана .AppImage Linux үчүн. Же, балким, мен бул баракчага кирүү мүмкүнчүлүгүн монетизациялагым келет, баары мүмкүнбү? Хайку үчүн эмнени коюшум керек? Файл жетиштүү .hpkg HaikuPorts көз карандылыгы менен
  • Менин программам башка программалардын белгилүү версияларын талап кылат. Мисалы, Kritaга Qtтин жамаачыланган версиясы же Kritaнын белгилүү бир версиясына туураланган Qt талап кылынары белгилүү, жок дегенде тактар ​​кайра Qtга түртүлгөнгө чейин. Колдонмоңуз үчүн өзүңүздүн Qtңызды пакетте топтой аласыз .hpkg, бирок, балким, бул жагымдуу эмес.

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?
Кадимки тиркемени жүктөө баракчасы. Мен бул жерде Хайку үчүн эмне жазышым керек?

Эрк таңгактары (AppDir же .app Apple стилинде) жана/же сүрөттөр (катуу өзгөртүлгөн AppImages түрүндө же .dmg Apple) тиркемелери Хайку рабочий чөйрөсүнө пайдалуу кошумча болобу? Же бул бүтүндөй сүрөттү суюлтуп, майдаланууга алып келип, татаалдыкты кошобу? Мен жыртылып кеттим: бир жагынан Хайкунун сулуулугу жана татаалдыгы көбүнчө бир нерсени жасоонун көп эмес, бир жолу бар экендигине негизделет. Башка жагынан алып караганда, каталогдор жана/же тиркеме топтомдору үчүн инфраструктуранын көбү мурунтан эле бар, ошондуктан система калган бир нече пайыздын ордуна келиши үчүн кыйкырып жатат.

Иштеп чыгуучунун айтымында мырза waddlesplash

Linuxда алар (каталогдор жана колдонмо комплекттери, - болжол менен. котормочу) системалуу көйгөйлөрдүн техникалык чечими болуп саналат. Хайкуда биз жөн гана система көйгөйлөрүн чечүүнү каалайбыз.

Кандай деп ойлойсуң?

Жооп берерден мурун...

Күтө туруңуз, келгиле, чындыкты тез текшерип көрөлү: чындыгында колдонмо каталогдору - буга чейин Хайкунун бир бөлүгү:

Дагы бир нерсе: Haiku колдонмолорунун таңгактары?
Колдонмо каталогдору мурунтан эле Хайкуда бар, бирок файл менеджеринде азырынча колдоого алынбайт

Алар, айталы, Macintosh Finder сыяктуу эле колдоого алынбайт. QtCreator каталогунун жогорку сол бурчунда "QtCreator" аталышы жана сөлөкөтү болсо, тиркемени эки жолу чыкылдатканда ишке киргизсе, кандай сонун болмок?

Бир аз мурда мен деп сурады:

Он жылдык эски колдонмолоруңузду бүгүн бардык колдонмолор дүкөндөрү жана бөлүштүрүү репозиторийлери алар жана алардын көз карандылыгы жөнүндө унутуп калганда иштете аларыңызга ишенесизби? Келечекте азыркы жумушуңузга дагы эле кире аларыңызга ишенесизби?

Хайкудан жооп барбы, же каталогдор жана тиркемелердин таңгактары бул жерде жардам бере алабы? Менимче, алар мүмкүн.

мырзанын айтымында. waddlesplash:

Ооба, бизде суроого жооп бар: биз бул тиркемелерди кимдир бирөө алардын файл форматтарын туура окуй алганга чейин же бирден-бир функцияны камсыз кылганга чейин колдойбуз. Хайкудагы BeOS R5 колдонмолорун колдоого биздин милдеттенмебиз мунун далили...

Албетте!

Хайку кандай иш-аракет кылышы керек?

Мен hpkg, каталогдор жана колдонмо сүрөттөрүнүн тынчтыкта ​​жанаша жашоосун элестете алам:

  • Системалык программалык камсыздоону колдонот .hpkg
  • Эң көп колдонулган программалык камсыздоо үчүн (айрыкча, прокат чыгарууларды пландаштыруу керек болгондор) колдонуңуз .hpkg (бардык иштердин болжол менен 80%ы)
  • Кээ бирлери аркылуу орнотулган .hpkg, тиркемелер колдонмо каталогунун инфраструктурасына (мисалы, QtCreator) өтүүдөн пайда көрөт: алар төмөнкүдөй бөлүштүрүлөт .hpkg, мурдагыдай.

мырза waddlesplash мындай деп жазат:

Эгер сизге керек болгон нерсе - тиркемелерди көрүү /system/apps, анын ордуна биз Иш тактасындагы каталогдорду колдонуучулар үчүн башкарууга ыңгайлуу кылышыбыз керек, анткени /system/apps колдонуучулар тарабынан үзгүлтүксүз ачылып жана көрүлүп туруу үчүн арналган эмес (MacOSдон айырмаланып). Мындай жагдайлар үчүн, Хайку башка парадигмасы бар, бирок бул параметр, теория боюнча, алгылыктуу болуп саналат.

  • Haiku колдонмо сүрөттөрүн иштетүү үчүн инфраструктураны, программалык камсыздоонун түнкү, үзгүлтүксүз жана тесттик түзүлүштөрүн, ошондой эле колдонуучу аны "өз убагында тоңдургусу" келген учурларда, жеке жана ички программалык камсыздоону жана башка атайын колдонуу учурларын алат (болжол менен 20%) бардыгынан). Бул сүрөттөр колдонмону иштетүү үчүн керектүү файлдарды камтыйт .hpkg, системасы тарабынан орнотулган, жана өтүнмө аяктагандан кийин - ажыратылган. (Балким, файл менеджери файлдарды коюшу мүмкүн .hpkg Колдонмонун сүрөттөрүнө автоматтык түрдө же колдонуучунун талабы боюнча - ошондой эле, сиз тиркемени тармак каталогуна же тышкы дискке сүйрөгөнүңүз сыяктуу. Бул жөн эле ыр! Тагыраак айтканда, поэзия - хайку.) Экинчи жагынан, колдонуучу сүрөттүн мазмунун файлдар түрүндө орнотууну каалашы мүмкүн..hpkg, андан кийин алар HaikuDepot аркылуу орнотулгандай эле жаңыртылат жана иштетилет... Биз акыл чабуулубуз керек).

мырзадан цитата. waddlesplash:

Сырткы дисктерден же тармак каталогдорунан колдонмолорду иштетүү пайдалуу болушу мүмкүн. Жана pkgman үчүн көбүрөөк "зоналарды" конфигурациялоо мүмкүнчүлүгүн кошуу, албетте, жакшы функция болмок.

Мындай система hpkg, каталогдор жана колдонмо сүрөттөрүнүн артыкчылыктарын алат. Алар өзүнчө жакшы, бирок чогуу алар жеңилбес болуп калат.

жыйынтыктоо

Хайкуда ЖК үчүн жөнөкөй жана татаал колдонуучу тажрыйбасын камсыз кылган негиз бар жана адатта Linux PC үчүн каралгандан алда канча ашып кетет. Пакет системасы .hpkg Мындай мисалдардын бири, бирок системанын калган бөлүгү да татаалдык менен сугарылган. Бирок, Хайку каталогду жана колдонмонун сүрөтүн туура колдоодон пайда көрөт. Муну Хайкуну, анын философиясын жана архитектурасын менден алда канча жакшы билген адамдар менен талкуулоо керек. Анткени, мен Хайкуну бир жумадан ашык убакыттан бери колдонуп келем. Ошентсе да, мен Хайкунун дизайнерлери, иштеп чыгуучулары жана архитекторлору бул жаңы көз караштан пайда табат деп ишенем. Жок дегенде алардын “спарринг өнөктөшү” болсом бактылуу болмокмун. Менде Linux тиркеме каталогдору жана таңгактары менен 10 жылдан ашык практикалык тажрыйбам бар жана мен аларды Хайкуда колдонууну тапкым келет, бул үчүн алар эң сонун ылайыктуу деп ойлойм. Мен сунуш кылган потенциалдуу чечимдер мен сүрөттөгөн көйгөйлөр үчүн бирден-бир туура эмес жана эгер Хайку командасы башка, жарашыктуураак чечимдерди табууну чечсе, мен муну колдойм. Негизинен мен системаны кантип түзүү идеясын ойлонуп жатам hpkg анын иштөө ыкмасын өзгөртпөстөн дагы укмуштуу. Көрсө, Хайку командасы пакетти башкаруу системасын ишке ашырууда тиркемелердин таңгактары жөнүндө көптөн бери ойлонуп келишкен, бирок тилекке каршы (менимче) идея “эскирип” калган. Балким, аны жандандырууга убакыт келди?

Өзүңүз байкап көрүңүз! Анткени, Хайку долбоору түзүлгөн DVD же USB жүктөө үчүн сүрөттөрдү камсыз кылат ежедневно.
Суроолоруңуз барбы? Сиздерди орус тилдүү окууга чакырабыз телеграмма каналы.

Катага сереп салуу: C жана C++ тилдеринде бутуңузга кантип ок атуу керек. Haiku OS рецепт жыйнагы

чейин жазуучу котормо: бул Хайку жөнүндө сериядагы сегизинчи жана акыркы макала.

Макалалардын тизмеси: биринчи экинчи үчүнчү Төртүнчү Бешинчи Алтынчы Жетинчи

Сурамжылоого катталган колдонуучулар гана катыша алышат. Кирүү, өтүнөмүн.

hpkg тутумун Linux'ко порт кылуунун мааниси барбы?

  • ошол

  • жок

  • Азыртадан эле ишке ашырылган, мен комментарийге жазам

20 колдонуучу добуш берди. 5 колдонуучу добуш берүүдөн баш тартты.

Source: www.habr.com

Комментарий кошуу