Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор

TL, DRХ: Хайку бол компьютерт тусгайлан зориулсан үйлдлийн систем учраас бусадтай харьцуулахад илүү сайн ширээний орчин болгох хэд хэдэн аргатай. Гэхдээ энэ нь хэрхэн ажилладаг вэ?

Саяхан Би Хайку гэж санаанд оромгүй сайн системийг олж мэдсэн. Энэ нь ялангуяа Линуксийн ширээний орчинтой харьцуулахад хэр жигд ажиллаж байгааг би одоо ч гайхаж байна. Өнөөдөр би бүрээсний доор харах болно. Гүн гүнзгий ойлгоход шаардлагатай бол би анхны Macintosh, Mac OS X болон Linux үйлдлийн системтэй (freedesktop.org сайтаас XDG стандарт) харьцуулалт хийх болно.

ELF файл дахь эх сурвалжууд

Өчигдөр би IconOMatic нь ELF-ийн гүйцэтгэх файлууд дахь rdef нөөцийн дүрсүүдийг хадгалах боломжтойг олж мэдсэн. Өнөөдөр би энэ нь хэрхэн ажилладагийг харахыг хүсч байна.

Нөөц үү? Сэтгэгдэл бичих нь Брюс Хорн, Macintosh Finder-ийн анхны зохиогч, Macintosh Resource Manager-ийн эцэг:

Би уламжлалт кодчилолын хатуу шинж чанарын талаар санаа зовж байна. Миний хувьд юуг ч динамикаар өөрчлөх чадваргүй кодонд хадгалагдсан програмын санаа бол хамгийн зэрлэг зүйл юм. Ажиллах үед аль болох ихийг өөрчлөх боломжтой байх ёстой. Мэдээж хэрэг, програмын кодыг өөрөө өөрчлөх боломжгүй, гэхдээ кодыг дахин хөрвүүлэхгүйгээр ямар нэг зүйлийг өөрчлөх боломжтой юу?

Жинхэнэ Macintosh нь эдгээр файлуудыг "өгөгдлийн хэсэг" болон "нөөцийн хэсэг"-тэй болгосон нь дүрс, орчуулга гэх мэт зүйлсийг хадгалахад маш хялбар болгосон. гүйцэтгэх боломжтой файлуудад.

Mac дээр энэ нь хамаарна Дахин засварлах, Гэнэтийн нөөцийг засварлах график програм.

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Эх Macintosh дээр ResEdit

Үүний үр дүнд дүрс, цэсийн зүйл, орчуулга гэх мэт зүйлсийг засах боломжтой болсон. хангалттай хялбар, гэхдээ тэд програмуудаар "аялдаг" хэвээр байна.
Ямар ч тохиолдолд энэ арга нь том сул талтай байсан: энэ нь зөвхөн Apple-ийн файлын систем дээр ажилладаг байсан бөгөөд энэ нь Apple Mac OS X руу шилжихдээ "нөөцийн хэсгийг" орхих болсон шалтгаануудын нэг юм.
Mac OS X дээр Apple нь файлын системээс хамааралгүй шийдлийг хүсч байсан тул багцууд (NeXT-ээс авсан), лавлахууд биш файлууд гэх мэт файлын менежерээр "тунгалаг бус объект" гэж үздэг сангуудыг авч үзсэн. Формат дахь програм бүхий аливаа багц .app бусад зүйлсийн дотор файлтай Info.plist (Apple-ийн JSON эсвэл YAML-ийн зарим аналог дээр) програмын мета өгөгдлийг агуулсан.

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Mac OS X програмын багцаас Info.plist файлын түлхүүрүүд.

Дүрс, UI файлууд болон бусад нөөцүүд нь багцад файл хэлбэрээр хадгалагддаг. Энэхүү үзэл баримтлал нь үнэндээ NeXT-д анх үүссэн.

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
1.0 оны NeXTSTEP 1989 дээрх Mathematica.app: терминал дахь файлын лавлах хэлбэрээр харагдана, гэхдээ график файлын менежерт нэг объект болж харагдана.

Хайкугийн үндэслэсэн BeOS руу буцъя. Түүний хөгжүүлэгчид PEF (PowerPC)-ээс ELF (x86) руу шилжихдээ (Линукс дээр ашигладагтай ижил) ELF файлуудын төгсгөлд нөөцийн хэсгийг нэмэхээр шийджээ. Энэ нь өөрийн зөв ELF хэсгийг ашиглаагүй, зүгээр л ELF файлын төгсгөлд нэмсэн. Хөтөлбөрийн үр дүнд strip болон бусад нь энэ тухай мэдэхгүй binutils зүгээр л таслав. Тиймээс BeOS дээрх ELF файлд нөөц нэмсний дараа Linux хэрэглүүртэй ажиллахгүй байх нь дээр.

Одоо Хайку юу болоод байна вэ? Үндсэндээ, их эсвэл бага ижил.

Онолын хувьд нөөцийг ELF-ийн хүссэн хэсэгт байрлуулах боломжтой. irc.freenode.net дээрх #haiku сувгийн хөгжүүлэгчдийн хэлснээр:

ELF-тэй бол энэ хэсэг нь илүү утга учиртай байх болно... Бид үүнийг хийхгүй байгаа цорын ганц шалтгаан нь BeOS дээр хийсэн учраас юм."
Тэгээд одоо өөрчлөх шаардлагагүй.

Нөөцийн менежмент

Нөөцүүд нь бүтэцлэгдсэн "нөөц" хэлбэрээр бичигдсэн байдаг: үнэн хэрэгтээ энэ нь хэмжээ, дараа нь тэдгээрийн агуулга бүхий нөөцийн жагсаалт юм. санав ar формат.
Хайку дахь нөөцийг хэрхэн шалгах вэ? ResEdit гэх мэт зүйл байна уу?
Дагуу баримт бичиг:

гэх мэт програм руу гүйцэтгэгдэх файлыг чирж буулгаж болно Эх сурвалж. Та мөн терминал руу очоод тушаалыг ажиллуулж болно listres имя_файла.

Resourcer HaikuDepot-д байгаа, гэхдээ энэ нь миний хувьд зүгээр л гацаж байна.

Тэгэхээр та ELF файл дахь нөөцийг хэрхэн удирдах вэ? Ашиглаж байна rsrc и rdef. rdef файлуудыг цуглуулсан rsrc. Файл rdef энгийн текст хэлбэрээр хадгалагдсан тул түүнтэй ажиллахад илүү хялбар болно. Файлын формат rsrc ELF файлын төгсгөлд хавсаргав. Тоглож үзье:

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

Та програмыг ашиглаж болно xres шалгах, удирдах:

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

За, оролдоод үзье?

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

Нөөц болон форматын талаар дэлгэрэнгүй rdef та уншиж чадна энд.

Стандарт нөөцийн төрлүүд

Хэдийгээр та ямар ч зүйлийг нөөцөд оруулах боломжтой боловч хэд хэдэн тодорхой стандарт төрлүүд байдаг:

  • app_signature: Нээгдсэн файл, эхлүүлэх, IPC гэх мэт програмын MIME төрөл.
  • app_name_catalog_entry: Програмын нэр нь ихэвчлэн англи хэл дээр байдаг тул та орчуулагдсан нэрсийг энд байрлуулж болох бөгөөд ингэснээр өөр хэл дээрх хэрэглэгчид хүссэн тохиолдолд орчуулсан програмын нэрийг харах боломжтой болно.
  • app_version: Яг чиний бодсон зүйл
  • app_flags: харуулж байна registrar програмыг хэрхэн зохицуулах. Миний бодлоор энэ нь нүдэнд харагдахаас илүү их зүйл юм. Жишээлбэл, байдаг B_SINGLE_LAUNCH, энэ нь хэрэглэгч хүсэлт гаргах болгонд системийг шинэ програмын процессыг эхлүүлэхэд хүргэдэг (ижил зарчмыг Линукс дээрх ихэнх програмуудад ашигладаг). Идэх B_MULTIPLE_LAUNCH, процессыг ажиллуулахад хүргэж байна файл бүр. Эцэст нь байна B_EXCLUSIVE_LAUNCH, энэ нь хэрэглэгчид хэр олон удаа ажиллуулж байгаагаас үл хамааран системийг нэг удаад зөвхөн нэг процессыг эхлүүлэхийг албаддаг (жишээлбэл, Linux дээрх Firefox ингэж эхэлдэг; функцийг ашиглан Qt програмуудад ижил үр дүнд хүрч болно. QtSingleApplication). -тэй програмууд B_EXCLUSIVE_LAUNCH Хэрэглэгч тэдгээрийг дахин ажиллуулахыг оролдох үед мэдэгдэнэ: жишээлбэл, тэдгээр нь хэрэглэгчийн нээхийг хүссэн файлын замыг авдаг.
  • vector_icon: Програмын вектор дүрс (BeOS-д вектор дүрс байхгүй, ихэнх программууд гүйцэтгэгдэх файлдаа хоёр битмап дүрстэй байсан).

Мэдээжийн хэрэг, та хүссэн ID, төрөл бүхий нөөцийг нэмж, тэдгээрийг програмын өөрөө эсвэл анги ашиглан бусад програмуудаас уншиж болно. BResources. Гэхдээ эхлээд дүрсний сонирхолтой сэдэв дээр анхаарлаа хандуулцгаая.

Хайку маягийн вектор дүрсүүд

Мэдээжийн хэрэг, зөвхөн Хайку дүрсний хамгийн сайн форматыг сонгоод зогсохгүй энэ хэсэгт Линуксийн ширээний компьютеруудын нөхцөл байдал тийм ч тохиромжтой биш юм.

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

Үүнийг харахад энэ хэсэг юу болохыг та аль хэдийн мэдэрдэг.

Мэдээжийн хэрэг, таны харж байгаагаар вектор дүрсүүдийг агуулсан өргөтгөх боломжтой. Яагаад өөр зүйл байгаа юм бэ? Учир нь жижиг хэмжээтэй вектор график зурах үр дүн нь хамгийн тохиромжтой хэмжээнээс бага байж болно. Би өөр өөр хэмжээтэй, өөр өөр сонголттой байхыг хүсч байна. Линуксийн ширээний орчинд янз бүрийн хэмжээтэй дүрсүүдийг файлын системд тараах замаар үүнийг хийдэг.

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

Firefox-ийн өөр өөр хувилбаруудын тухай ойлголт байхгүй гэдгийг анхаарна уу. Тиймээс, системд програмын хэд хэдэн хувилбар байгаа тохиолдолд нөхцөл байдлыг эелдэг байдлаар зохицуулах боломжгүй юм.

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Янз бүрийн хувилбарт Firefox-ийн өөр өөр дүрсүүд. Одоогоор Линукс дээр янз бүрийн таяггүйгээр үүнийг зохицуулах боломжгүй юм.

Mac OS X нь арай илүү боловсронгуй болгосон:

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

Нэг файл байгаа нь харагдаж байна firefox.icns багцад Firefox.app, бүх хэмжээг агуулж байгаа тул нэг програмын өөр хувилбарууд өөр өөр дүрстэй байна.
Хамаагүй дээр! Дүрсүүд нь програмтай хамт явдаг, бүх нөөц нь нэг файлд байна.

Хайку руу буцаж орцгооё. Гайхалтай шийдвэр, үл хамаарах зүйл байхгүй. дагуу баримт бичиг:

Жижиг хэмжээтэй, хурдан дүрслэхэд зориулагдсан тусгай HVIF форматыг боловсруулсан. Тиймээс бидний дүрс нь битмап эсвэл өргөн хэрэглэгддэг SVG форматаас хамаагүй бага байдаг.

Мөн тэдгээр нь оновчтой хэвээр байна:

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Бусад форматтай харьцуулахад HVIF дахь дүрсний хэмжээ.

Хэмжээний зөрүүний дараалал!

Гэхдээ ид шид үүгээр дуусахгүй. Ижил HVIF нь вектор формат боловч харуулсан хэмжээнээс хамааран өөр өөр түвшний нарийвчлалыг харуулж болно.

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Үзүүлэнгийн хэмжээнээс хамааран өөр өөр түвшний нарийвчилсан (LOD).

Одоо сул талуудын тухай: та SVG-г авч, ImageMagick руу шидэж, дуусгах боломжгүй тул HVIF форматаар дүрс үүсгэхийн тулд хэд хэдэн мөчлөгийг туулах хэрэгтэй болно. энд тайлбарууд. Гэсэн хэдий ч IconOMatic нь SVG-г импортлоход нэлээд төгс бус байж болно; SVG-ийн дэлгэрэнгүй мэдээлэлийн 90 орчим хувийг зарим магадлалаар импортлодог бол үлдсэн 10 хувийг гараар тохируулах, өөрчлөх шаардлагатай болно. HVIF хэрхэн ид шидийг бүтээдэг талаар дэлгэрэнгүй уншина уу болно блог дээр Леа Гансон

Програмд ​​дүрс нэмэх

Одоо би үүсгэсэн багцад дүрс нэмж болно сүүлийн удаа, хүлээн авсан бүх мэдээллийг харгалзан үзэх.
Би яг одоо өөрийн "Hello World" QtQuickApp-ийн дүрсийг зурах тийм ч их хүсэлгүй байгаа тул би үүнийг 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

Дүрсийг хуулсан эсэхийг шалгацгаая:

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

Гайхалтай харагдаж байна, гэхдээ яагаад шинэ дүрсийг хуулж авахад энэ нь харагдахгүй байна вэ?

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Хуулбарласан VICN:101:BEOS:ICON-уудыг одоогоор файлын менежерт програмын дүрс болгон ашиглаагүй байна.

Би юу алдсан бэ?

Хөгжүүлэгчийн сэтгэгдэл:

Файл үүсгэх хэрэгтэй rdef бүх нөөцийг ашиглан командыг ажиллуулна уу rc имя.rdef, энэ нь файл үүсгэх болно .rsrc. Дараа нь та тушаалыг ажиллуулах хэрэгтэй resattr -o имя_бинарника имя.rsrc. Наад зах нь би скрипт дээрээ дүрс нэмэхийн тулд ижил төстэй командуудыг ашигладаг.

За, би шинж чанар биш, нөөц бий болгохыг хүссэн. Би үнэхээр андуурч байна.

Файлын системийг ашиглан ухаалаг кэш хийх

ELF шинж чанаруудыг нээх, унших нь удаан байна. Миний дээр бичсэнчлэн дүрс нь файлд эх сурвалж хэлбэрээр бичигдсэн байдаг. Энэ арга нь илүү найдвартай бөгөөд энэ нь өөр файлын систем рүү хуулж авснаар амьд үлдэх боломжийг олгодог. Гэсэн хэдий ч, дараа нь файлын системийн атрибут руу хуулж болно, жишээлбэл BEOS:ICON. Энэ нь зөвхөн BFS гэх мэт тодорхой файлын системүүд дээр ажилладаг. Энэхүү шийдэл нь хурдан байдаг тул системээс харуулсан дүрсүүдийг (Tracker болон Deskbar дээр) энэ өргөтгөсөн шинж чанараас уншдаг. Зарим газарт (хурд чухал биш, жишээлбэл, ердийн "Тухай" цонх) систем нь файл дахь нөөцөөс дүрсийг шууд хүлээн авдаг. Гэхдээ энэ бол төгсгөл биш. Mac дээр хэрэглэгчид програм, хавтас, баримт бичгийн дүрсийг өөрийн дүрсээр сольж болохыг санаарай, учир нь Mac дээр эдгээр "чухал" зүйлсийг хийх боломжтой. шинэ Slack дүрсийг өмнөх дүрсээр солих. Хайку дээр эх сурвалжийг (файл доторх) програмд ​​дагалдаж ирдэг анхны дүрс тэмдэг, атрибутыг (BFS файлын систем дэх) хэрэглэгч өөрийн хүссэнээр өөрчлөх боломжийг олгодог зүйл гэж төсөөлөөд үз дээ. дүрсний дээд талд тусгай дүрс оруулах нь сонголттой). анхдагчаар хараахан хэрэгжээгүй байна).

Файлын системийн шинж чанаруудыг шалгаж байна

Тусламжийн тусламжтайгаар resaddr файлын системийн шинж чанаруудыг шалгах, тохируулах боломжтой.

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

Энэ нь үндсэндээ (найдвартай) нөөц ба (хурдан) файлын системийн шинж чанаруудын хооронд нааш цааш хөрвүүлдэг "цавуу" юм. Систем нь нөөц олж авах, хуулбарлах ажлыг автоматаар хийдэг тул би энэ талаар цаашид санаа зовохгүй байна.

hpkg багцуудын ид шид

Одоогоор (ихэнхдээ) багцуудыг Haiku дээр программ авахын тулд ашигладаг .hpkg. Энгийн нэрэнд бүү хуурт: .hpkg формат нь таны тааралдсан ижил төстэй нэртэй форматуудаас тэс өөр ажилладаг, энэ нь жинхэнэ супер хүч чадалтай.

Уламжлалт багцын форматын хувьд би энэ баримтаас болж удаан хугацаанд бухимдаж байсан: та нэг зүйлийг (багц) татаж аваад, өөр нэг зүйлийг системд суулгасан (багц доторх файлууд). Багцыг уламжлалт аргаар суулгах үед файлуудыг удирдах (жишээ нь устгах) нь нэлээд хэцүү байдаг. Тэгээд бүгд багцын агуулга учраас файлын систем даяар тархсан, үүнд энгийн хэрэглэгч бичих эрхгүй байж болох газрууд орно. Энэ нь бүхэл бүтэн ангиллын хөтөлбөрүүдийг бий болгодог - багц менежерүүд. Гэхдээ аль хэдийн суулгасан програм хангамжийг, жишээлбэл, өөр машин, зөөврийн диск эсвэл файлын сервер рүү шилжүүлэх нь бүр ч хэцүү, боломжгүй юм. Ердийн Линукс дээр суурилсан систем дээр хэдэн зуун мянгаас сая сая тусдаа файлууд амархан оршин тогтнох боломжтой. Энэ нь эмзэг бөгөөд удаан байдаг, тухайлбал системийг анх суулгах, энгийн багцуудыг суулгах, шинэчлэх, устгах, ачаалах хэмжээг (root partition) өөр зөөвөрлөгч рүү хуулах үед.

Би эцсийн хэрэглэгчийн програмуудад зориулсан хэсэгчилсэн таяг болох AppImage төсөл дээр ажиллаж байна. Энэ нь програм болон түүний бүх хамаарлыг програмыг эхлүүлэх үед суулгасан нэг файлын системийн дүрс болгон цуглуулдаг програм хангамжийн түгээлтийн формат юм. Ижил ImageMagick нь файлын менежерт мөнх бус хүмүүсийн удирддаг нэг файл болж хувирдаг тул энэ нь бүх зүйлийг ихээхэн хялбаршуулдаг. Санал болгож буй арга нь төслийн нэрэнд тусгагдсаны дагуу зөвхөн программ хангамжид ажилладаг бөгөөд Линукс програм хангамжийн үйлдвэрлэгчид үргэлж над руу чиглүүлдэг тул өөрийн гэсэн алдаатай байдаг.

Хайку руу буцаж орцгооё. Та уламжлалт сав баглаа боодлын систем болон зурагт суурилсан програм хангамжийн нийлүүлэлтийн зөв тэнцвэрийг олж чадсан уу? Түүний багцууд .hpkg үнэндээ шахсан файлын системийн зургууд. Систем ачаалагдах үед цөм нь бүх суулгасан болон идэвхтэй багцуудыг дараах цөмийн мессежүүдтэй холбоно.

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"

Гайхалтай, тийм үү? Түр хүлээгээрэй, бүр ч дордох болно!

Маш онцгой багц байдаг:

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

Энэ нь цөмийг оруулаад маш минималист үйлдлийн системийг агуулдаг. Үүнд итгэх үү, үгүй ​​юу, тэр ч байтугай цөм нь ачаалах хэмжээнээс (үндэс хуваалт) гаргаагүй, харин багцаас байрандаа сайтар ачаалагдсан байдаг. .hpkg. Хөөх! Миний хувьд Хайкугийн ерөнхий боловсронгуй, тууштай байдлын нэг хэсэг нь цөм болон үндсэн хэрэглэгчийн орон зай, багцын удирдлага, ширээний дэд бүтэц хүртэлх бүхэл бүтэн системийг нэг баг хамтран хөгжүүлж байгаатай холбоотой гэж би дээр дурдсан. Линукс дээр ийм зүйлийг ажиллуулахын тулд хичнээн олон бүлэг, баг шаардлагатай болохыг төсөөлөөд үз дээ. [Би PuppyLinux төслийг төсөөлж байна, - ойролцоогоор. орчуулагч]. Дараа нь энэ аргыг хуваарилалтад хэрэгжүүлэхэд хэр хугацаа шаардагдахыг төсөөлөөд үз дээ. Тэд хэлэхдээ: энгийн даалгавар аваад, өөр өөр жүжигчдийн дунд хуваа, тэгвэл энэ нь маш төвөгтэй болж, цаашид шийдэгдэхгүй болно. Энэ тохиолдолд Хайку миний нүдийг нээсэн. Энэ бол яг одоо Линукс дээр болж байгаа зүйл гэж би бодож байна (энэ тохиолдолд Линукс нь Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu стекийн хамтын нэр томъёо юм).

hpkg ашиглан системийг буцаах

Дараах нөхцөл байдал хэр олон тохиолддог вэ: шинэчлэлт амжилттай болсон бөгөөд дараа нь ямар нэг зүйл ажиллахгүй байгаа нь харагдаж байна уу? Хэрэв та ердийн багц менежерүүдийг ашигладаг бол шинэ багц суулгахаас өмнө (жишээ нь ямар нэг зүйл буруу болсон үед) системийн төлөвийг буцаахад хэцүү байдаг. Зарим системүүд файлын системийн агшин зуурын хувилбаруудыг санал болгодог боловч эдгээр нь төвөгтэй бөгөөд бүх системд тохирохгүй. Хайкуд үүнийг багцаар шийддэг .hpkg. Систем дэх багцууд өөрчлөгдөх бүрд хуучин багцуудыг устгадаггүй, харин системд дараах дэд лавлахуудад хадгалагддаг. /Haiku/system/packages/administrative/state-<...>/ байнга. Хүлээгдэж буй үйлдлүүд нь өгөгдлөө дэд директорт хадгалдаг /Haiku/system/packages/administrative/transaction-<...>/.

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Агуулга /Haiku/system/packages/administrative. "Төрийн ..." сангууд нь идэвхтэй багцуудын нэр бүхий текст файлууд, "гүйлгээ ..." - багцууд нь өөрсдөө.

"Хуучин идэвхтэй төлөв", i.e. жагсаалт .hpkg Өөрчлөлтөөс өмнө идэвхтэй байгаа багцууд нь текст файл дахь файлын менежер дэх үйлдэл бүрийн дараа бичигддэг /Haiku/system/packages/administrative/state-<...>/activated-packages. Үүний нэгэн адил шинэ "идэвхтэй төлөв" нь текст файлд бичигдсэн байдаг /Haiku/system/packages/administrative/activated-packages.

Лавлах /Haiku/system/packages/administrative/state-<...>/ Зөвхөн энэ төлөвийн идэвхтэй багцуудын жагсаалт бүхий текст файлыг агуулдаг (багцуудыг устгахгүйгээр суулгасан тохиолдолд), хэрэв багцуудыг устгасан эсвэл шинэчилсэн бол төрийн лавлах нь багцын хуучин хувилбаруудыг агуулна.

Систем ачаалах үед багцуудын жагсаалтад үндэслэн багцуудыг идэвхжүүлэх (холбох) шийдвэр гарна. Энэ маш энгийн! Хэрэв татан авалтын явцад ямар нэг зүйл буруу болвол та татаж авах менежерт өөр, хуучин жагсаалтыг ашиглахыг хэлж болно. Асуудал шийдэгдэж!

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Хайку ачаалагч. Оролтын цэг бүр "идэвхтэй төлөв"-ийг харуулдаг.

Би энгийн текст файлуудыг ойлгоход хялбар нэр бүхий "идэвхтэй төлөв" жагсаалт болгон ашиглах хандлагад дуртай .hpkg. Энэ нь хүнд зориулагдаагүй машинд зориулагдсан загвараас эрс ялгаатай юм баглаа файлын систем дэх OSTree эсвэл Flatpak-аас (Microsoft GUID-тэй ижил түвшинд).

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Цаг хугацаа бүрийн идэвхтэй багцуудын жагсаалт

Тохиргооны өгөгдөл

Каталог нь бололтой /Haiku/system/packages/administrative/writable-files багцын тохиргооны файлуудыг агуулсан боловч бичих боломжтой. Эцсийн эцэст, таны санаж байгаагаар .hpkg зөвхөн уншихад зориулагдсан. Тиймээс эдгээр файлуудыг бичихээс өмнө багцаас хуулбарлах ёстой. Утгатай.

.hpkg системийн GUI интеграцчилал

Одоо эдгээр гялалзсан багцуудыг хэрхэн харцгаая .hpkg хэрэглэгчийн ажлын орчинд (UX) нэгтгэх ажлыг даван туулах. Эцсийн эцэст, Хайку бол хувийн хэрэгцээнд зориулагдсан юм. Би хувьдаа хэрэглэгчийн туршлагыг багцтай харьцуулж дээд хязгаарыг тогтоосон. .app Macintosh дээр ижил туршлагатай .hpkg. Би нөхцөл байдлыг Линуксийн ширээний орчинтой харьцуулах ч үгүй, учир нь энэ нь бусадтай харьцуулахад үнэхээр аймшигтай юм.

Дараахь хувилбарууд санаанд орж байна.

  • Би багцын агуулгыг үзэхийг хүсч байна .hpkg
  • Би багц суулгахыг хүсч байна
  • Би багцыг устгахыг хүсч байна
  • Би багцын нэг хэсэг болгон системд орж ирсэн зүйлийг устгахыг хүсч байна
  • Би багцын нэг хэсэг болгон системд орж ирсэн зүйлийг хуулбарлахыг хүсч байна
  • Би Haiku суулгац бүрийн нэг хэсэг байж чадахгүй байгаа бүх багцын хамаарлыг татаж авахыг хүсч байна (жишээ нь, би интернетэд холбогдоогүй физик тусгаарлагдсан машинтай.)
  • Би багцуудаа (тэдгээрийн нэг хэсгийг) тусад нь ачаалах эзэлхүүнээс (root partition) тусад нь өөр газар шилжүүлэхийг хүсч байна (жишээлбэл, надад хангалттай зай байхгүй тул).

Энэ нь миний өдөр тутмын ажлын ихэнх гол тохиолдлуудыг хамрах ёстой. За ингээд эхэлцгээе.

Багцын агуулгыг шалгаж байна

Mac дээр Би багц дээр хулганы баруун товчийг дарж нээж, Finder-д агуулгыг нь харна. Энэ бол үнэхээр далдлагдсан лавлах юм! (Багцууд байгаа гэдгийг би мэднэ .pkg Системийн нэг хэсэг нь програм биш боловч энгийн хэрэглэгчид ихэвчлэн тэдэнтэй харьцдаггүй).

Хайку дээр Би багц дээр хулганы баруун товчийг дараад "Агуулга" дээр дарж дотор нь юу байгааг харна уу. Гэхдээ энэ бол хоёр товшилтоор нээх боломжгүй файлуудын жагсаалт юм.
Багцыг (түр) холбох арга байгаа бол хамаагүй дээр байх болно .hpkg файлын менежерээр дамжуулан үзэх боломжтой бөгөөд хэрэглэгч хэрэгжилтийн талаар санаа зовох шаардлагагүй болно. (Дашрамд хэлэхэд та нээж болно .hpkg багц дотор Expander, энэ нь бусад архивын нэгэн адил задлах боломжтой).

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
HaikuDepot-ийн интерфейс дээр та багц файлуудын жагсаалтыг харах боломжтой боловч README.md дээр давхар товшиж агуулгыг харах боломжгүй.

Энэ ангилалд Mac ялах боловч HaikuDepot-д тохирох функцийг нэмэх нь тийм ч том асуудал биш байх ёстой.

GUI-ээр багц суулгаж байна

Mac дээр, ихэнх дискний зураг .dmg багцуудыг агуулсан .app. Дискний дүрсийг давхар товшиж нээгээд багцыг жишээлбэл, чирж хуулж ав /Applications Finder дээр. Миний хувьд үүнийг хэлэх шаардлагагүй, гэхдээ зарим эхлэгчдэд үүнийг эзэмшдэггүй байж магадгүй гэж би сонссон. Анхдагч байдлаар, Apple системийн хэмжээний лавлахыг "санал болгодог" /Applications (NeXT дээр энэ нь сүлжээнд болон хувь хүн байсан) боловч та програмуудаа файлын сервер эсвэл дэд директорт хялбархан байрлуулж болно. $HOME/ApplicationsХэрэв танд маш их таалагдаж байвал.

Хайку дээр, багц дээр давхар товшоод "Суулгах" дээр товшино уу, энэ нь тийм ч хялбар биш байсан. Хэрэв багцад HaikuPorts-д хамаарал байгаа боловч суулгаагүй байгаа бол юу болохыг би гайхаж байна. Линукс дээр тэд энэ нөхцөлд юу хийхээ мэдэхгүй байгаа ч шийдэл нь тодорхой байна - хамаарлыг татаж аваад суулгах шаардлагатай эсэхийг хэрэглэгчээс асуу. Хайку яг юу хийдэг.

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Би "сахилгаан" багцыг гараар татаж аваад түүн дээр дарахад багцын менежер нь хамаарлыг хаанаас авахаа мэддэг (хадгалах сангууд аль хэдийн системд байгаа гэж үзвэл). Линуксийн түгээлт бүр үүнийг хийж чадахгүй.

Өөр нэг арга бол файлын менежерийг ашиглах явдал юм, зүгээр л чирэх, буулгах .hpkg багц эсвэл дотор /Haiku/system/packages (системийн хэмжээнд суулгахын тулд анхдагчаар) эсвэл дотор /Haiku/home/config/packages (хувийн тохиргооны хувьд; давхар товшилтоор ашиглах боломжгүй - энэ газар "тохиргоо" гэсэн үг намайг залхаасан хэвээр байгаа бөгөөд энэ тохиолдолд миний хувьд "тохиргоо" гэсэн утгатай ижил утгатай). Мөн олон хэрэглэгчийн тухай ойлголт Хайкуд хараахан гараагүй байна (магадгүй ийм учраас энэ нь маш энгийн - би мэдэхгүй, магадгүй олон хэрэглэгчийн боломжууд нь ширээний ширээний орчинд шаардлагагүй зүйлсийг төвөгтэй болгож магадгүй юм).

Энэ төрөлд Хайку түрүүлэв, учир нь энэ нь зөвхөн программууд төдийгүй системийн программуудтай ажиллах боломжтой.

GUI-ээс багцыг устгаж байна

Mac дээр, та програмын дүрсийг хогийн сав руу чирэх хэрэгтэй, тэгээд л болоо. Амархан!

Хайку дээр, нэгдүгээрт, та багцыг системд хаана байрлаж байгааг олох хэрэгтэй, учир нь та үүнийг зөв газарт суулгах нь ховор байдаг (систем бүх зүйлийг хийдэг). Ихэвчлэн та хайх хэрэгтэй /Haiku/system/packages (системийн хэмжээнд анхдагч суулгацад), эсвэл дотор /Haiku/home/config/packages ("config" нь буруу нэр гэж би хэлсэн үү?). Дараа нь програмыг зүгээр л хогийн сав руу чирнэ, тэгээд л болоо.
Амархан! Гэсэн хэдий ч би тэгж хэлэхгүй. Энд үнэхээр юу болж байна:

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Та програмыг хогийн сав руу чирэхэд ийм зүйл тохиолддог /Haiku/system/packages

QtQuickApp дээрх миний өчигдрийн "Сайн уу ертөнц" програмыг хогийн сав руу зөөхийг оролдлоо. Би системийн лавлахыг зөөхийг оролдоогүй, мөн бүх багцууд системийн лавлахад суулгасан тул багцыг устгах боломжгүй .hpkg өөрчлөлтгүйгээр "түүний агуулга". Жирийн хэрэглэгч айж, анхдагчаар томилогдсон "Цуцлах" товчийг дарна.

тайлбарлаж байна ноён waddlesplash:

Энэ нийтлэл нь 10 гаруй жилийн настай. Бид үүнийг багцыг зөөхөд л анхааруулга гарахаар тохируулах хэрэгтэй. Энгийн хэрэглэгчид үүнийг хийх шаардлагагүй.

За, та үүнийг HaikuDepot ашиглан хийх хэрэгтэй болов уу? Багц дээр давхар товшино уу /Haiku/system/packages, "Устгах" товч гарч ирэхийг хүлээж байна. Үгүй ээ, (зөвхөн) "Суулгах" байна. Устгах, чи хаана байна?

Хөгжилтэй байхын тулд би аль хэдийн суулгасан багц дээр "Суулгах" дээр дарвал юу болохыг харахыг оролдсон. Энэ нь дараах байдлаар харагдаж байна.

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Хэрэв та аль хэдийн суулгасан багцыг суулгахыг оролдвол энэ нь тохиолддог.

Дараа нь гарч ирнэ:

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Хэрэв та өмнөх цонхны "Өөрчлөлтийг хэрэгжүүлэх" дээр дарвал энэ нь иймэрхүү харагдах болно

Энэ нь програм хангамжийн алдаа гэж би бодож байна, програмын холбоос аль хэдийн тэнд байна. [зохиогч нь холбоос өгөөгүй, - ойролцоогоор. орчуулагч]

Түргэн засвар: Хэрэв багц аль хэдийн орсон бол "Устгах" товчийг нэмнэ үү /Haiku/system/packages, эсвэл дотор /Haiku/home/config/packages.

HaikuDepot-д суулгасан багцуудын жагсаалтыг үзэхэд би өөрийн багцыг жагсаалтаас харж, устгах боломжтой.

Mac энэ төрөлд түрүүлсэн. Гэхдээ зөв тохируулснаар Хайку дээрх хэрэглэгчийн туршлага Mac-аас илүү байх болно гэж би төсөөлж байна. (Хөгжүүлэгчдийн нэг нь үүнийг ингэж үнэлсэн: "Хэрэв та бага зэрэг C ++ мэддэг бол HaikuDepot-д заасан функцийг нэмэхэд нэг цаг хүрэхгүй хугацаа үлдлээ" сайн дурынхан байна уу?)

Багцаас ямар нэг зүйлийг хасах

Багцыг нь биш харин програмыг өөрөө устгахыг оролдъё .hpkg, үүнээс гарч ирсэн ("зөвхөн мөнх бус хүмүүсийн" хувьд ямар нэгэн ялгаа байгаа гэдэгт би эргэлзэж байна).

Mac дээр, хэрэглэгч үнэндээ файлтай хэвийн ажилладаг .dmgпрограмын багц хаанаас ирдэг .app. Ихэвчлэн зураг .dmg татан авалтын санд хуримтлагдаж, багцуудыг хэрэглэгч хуулж авдаг /Applications. Олон хэрэглэгчид өөрсдөө юу хийж байгаагаа мэддэггүй гэж үздэг бөгөөд энэ таамаглалыг Apple-ийн хуучин ажилтан баталж байна. (Мак дээр миний дургүй зүйлсийн нэг. Жишээлбэл, AppImage-ийн хувьд програм болон түүний дотор байсан багцын хооронд ямар ч ялгаа байхгүй. Дүрсийг хогийн сав руу чирнэ үү = ингээд л болоо. Хялбар!)

Хайку дээр, хооронд хуваагдал бас бий apps/ и packages/, тиймээс энэ нь хэрэглэгчдэд илүү ойлгомжтой болсон гэдэгт би эргэлзэж байна. Гэхдээ та програмыг чирвэл юу болох вэ apps/ Картанд нэмэх:

Миний Хайкутай зургаа дахь өдөр: нөөц, дүрс, багцын бүрээс дор
Файлаас авсан програмыг устгах гэж оролдоход ийм зүйл тохиолддог .hpkg

Энэ нь техникийн хувьд зөв (эцсийн эцэст програм нь зөвхөн уншигдах файлын систем дээр байрладаг), гэхдээ энэ нь хэрэглэгчдэд тийм ч чухал биш юм.

Шуурхай засвар: Оронд нь устгахыг GUI-ээр санал болго .hpkg

Хөгжилтэй байхын тулд би Alt + D дарж програмыг хуулбарлахыг оролдсон. "Зөвхөн унших боломжтой боть дээр объектыг зөөх эсвэл хуулах боломжгүй" гэсэн мессеж ирсэн. Тэгээд бүгд учир нь /system (Түүнээс гадна /system/packages и /system/settings) нь packagefs холбох цэг (гаралтад хэрхэн харагдахыг санаарай df?). Харамсалтай нь тушаалын гаралт mount нөхцөл байдлыг тодруулахгүй (өмнөх нийтлэлүүдийн аль нэгэнд дурдсанчлан), mountvolume Таны хайж буй зүйл харагдахгүй байна (гогцоогоор холбогдсон багцууд бололтой .hpkg нь "боть" гэж тооцогддоггүй), мөн би өөр командуудыг мартсан байна.

Энэ төрөлд AppImage-ээс өөр хэн ч ялалт байгуулаагүй (гэхдээ энэ нь үнэнийг хэлэхэд өрөөсгөл бодол юм). Гэсэн хэдий ч засвар хийсний дараа Haiku дээрх хэрэглэгчийн туршлага Mac-аас илүү дээр байх болно гэж төсөөлж болно.

Анхаар: "хуваалт" -тай холбоотой "эзлэхүүн" гэж юу болохыг олж мэдэх хэрэгтэй. Энэ нь магадгүй "хавтас" болон "заах" харилцаатай төстэй байж магадгүй: ихэнх сангууд нь файлын менежерт хавтас хэлбэрээр харагдана, гэхдээ бүгдийг нь биш (жишээ нь, файл гэж үзэх багцууд). Ийм зүйл намайг албан ёсоор тэнэг болгодог уу?

Багцын агуулгыг өөр систем рүү хуулж байна

Mac дээр, тэнэгээр багцыг нь татаж байна .app, мөн хамаарал нь багц дотор байгаа тул хамтдаа хөдөлдөг.

Хайку дээр, Би програмыг чирэх боловч хамаарал нь огт боловсруулагдаагүй.

Шуурхай засах: Оронд нь "`.hpkg" багцыг бүхэлд нь, хэрэв байгаа бол хамаарлын хамт чирэхийг санал болго.

Энэ төрөлд Mac илт ялна. Наад зах нь миний хувьд тэдний парадигмд дурлагч. Хайкуг хуулбарлах хэрэгтэй .hpkg програмын оронд, гэхдээ систем надад үүнийг санал болгодоггүй ...

Бүх хамаарал бүхий багцыг татаж авч байна

Машин бүр байнга онлайн байдаггүй. Эсрэгээрээ зарим машинууд (тиймээ, би чамайг харж байна, орчин үеийн Windows, Mac, Linux) үүнийг мартдаг. Би интернет кафе руу явж, жишээ нь зөөврийн зөөвөрлөгч рүү програм татаж аваад, энэ медиаг гэрийн компьютертээ оруулаад бүх зүйл ажиллах болно гэдэгт итгэлтэй байх нь миний хувьд чухал юм [эрсдэлтэй залуу, үүнийг Windows дээр хий ... - ойролцоогоор . орчуулагч].

Үүний үр дүнд би ердийнхөөс арай илүү ихэвчлэн Windows болон Линуксээс хараат байдалд ордог.

Mac дээр Энэ нь ихэвчлэн нэг файл бөгөөд та татаж авахад л хангалттай .dmg. Ихэнх тохиолдолд энэ нь анхдагч байдлаар MacOS-ээс өөр хамааралгүй байдаг. Үл хамаарах зүйл бол java гэх мэт тохиромжтой ажиллах орчин шаарддаг нарийн төвөгтэй програмууд юм.

Хайку дээр багц татаж авах .hpkg Зорилтот машин дээр java байхгүй байж магадгүй тул ижил java програм хангалтгүй байж магадгүй юм. Өгөгдсөн багцын бүх хамаарлыг татаж авах арга бий юу? .hpkgХайку-д анхдагчаар суулгагдсан байдаг тул Хайку систем бүрт байх ёстой системүүдээс бусад нь юу?

Энэ ангилалд Mac нь бага зэрэг ялдаг.

Сэтгэгдэл бичсэн ноён. waddlesplash:

Програмын бүх хамаарлыг багц хэлбэрээр цуглуулах програм бичих .hpkg Хайкугийн дотоод байдлыг мэддэг хүнд 15 минут хангалттай. Хэрэв үнэхээр хэрэгцээ байгаа бол үүнийг дэмжих нь тийм ч хэцүү биш юм. Гэхдээ миний хувьд энэ нь ховор тохиолддог.

Энэ цувралын дараагийн нийтлэл хүртэл амьсгаагаа дарцгаая.

Багцуудыг тусдаа байршилд шилжүүлэх

Би түрүүн бичсэнчлэн багцуудаа тавьмаар байна .hpkg (сайн, эсвэл тэдгээрийн хэсэг) ачаалах эзэлхүүн (үндэс хуваалт) дээр ердийн байрлалаас тусдаа тусгай газар. Ердийн (тийм ч онолын хувьд биш) тохиолдолд, үүний шалтгаан нь миний (сууригдсан) хөтчүүд хичнээн том байсан ч сул зай байнга дуусч байдаг. Мөн би ихэвчлэн гадаад хөтчүүд эсвэл миний хэрэглээний программууд байрладаг сүлжээний хувьцааны зураглалыг зурдаг.

Mac дээр Би зүгээр л багцуудыг зөөдөг .app Finder дээрх зөөврийн диск эсвэл сүлжээний лавлах руу, тэгээд л болоо. Ачаалах дууны хэмжээнээс ердийнх шигээ програмыг нээхийн тулд би давхар товшиж чадна. Зүгээр л!

Хайку дээр, надад хэлсэнчлэн, энэ нь миний хөдөлж хүрч болно .hpkg багцуудыг зөөврийн драйв эсвэл сүлжээний лавлах руу оруулах боловч дараа нь тэдгээрийг системд холбохын тулд консол дээрх зарим баримтжуулаагүй командуудыг ашиглах шаардлагатай. Би үүнийг зөвхөн GUI ашиглан хэрхэн хийхээ мэдэхгүй байна.

Mac энэ төрөлд түрүүлсэн.

Ноён хэлснээр. waddlesplash:

Энэ нь ердийн хэрэглээнд суурилсан оновчлол юм. Нэгээс олон хэрэглэгчийн эрэлт байгаа бол хэрэгжүүлнэ. Ямар ч байсан гуравдагч этгээдээр хэрэгжүүлэх боломж бий.

Энэ талаар бид дараагийн өгүүллээр ярих болно.

Сүлжээний лавлахуудын тухай ярихад: локал компьютерт хуулж эсвэл дотоод сүлжээнээс шууд ажиллуулж болох энгийн, илрүүлэх боломжтой, сүлжээний өргөн хэрэглээний программууд (жишээ нь Zeroconf программ) байвал үнэхээр сайхан байх болно (Би LAN талуудыг таамаглаж байна). Мэдээж хэрэг, хөгжүүлэгчид нь дамжуулан татгалзах сонголттой app_flags.

hpkg системийг GUI-тэй нэгтгэх тухай эцсийн тайлан

Энэ нь юуны түрүүнд интеграцийн харьцангуй шинэлэг зүйлтэй холбоотой гэж би бодож байна .hpkg GUI-ийн тусламжтайгаар маш их зүйлийг хүсч байна. Ямар ч байсан, UX-ийн хувьд сайжруулж болох хэд хэдэн зүйл байна ...

Өөр нэг зүйл: Kernel Debug Land

Жишээлбэл, цөмийн үймээн самууны үед тушаалуудыг оруулах боломжтой байх нь гайхалтай байх болно syslog | grep usb. Хайку дээр энэ нь Kernel Debug Land-ийн ачаар боломжтой юм. Цөмийн сандралд авталгүйгээр бүх зүйл таны хүссэнээр болж байвал та энэ ид шидийг хэрхэн яаж харж чадах вэ? Alt+PrintScn+D (Debug mnemonic) товчийг дарахад хялбар байдаг. Би шууд санаж байна Програмистын түлхүүр, энэ нь анхны Macintosh хөгжүүлэгчдэд дибаглагч руу орох боломжийг олгосон (мэдээж суулгасан бол).

дүгнэлт

Хайку системийн боловсронгуй байдал нь ажлын орчинд тодорхой анхаарал хандуулж, системийн бүх давхаргад нэвтрэх боломжтой, нэг жижиг баг хийж гүйцэтгэдэгтэй холбоотой гэдгийг би ойлгож эхэлж байна.
Линукс/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu ертөнцөөс эрс ялгаатай бөгөөд бүх зүйл жижиг хэсгүүдэд хуваагдаж, хийсвэрлэл нь хийсвэрлэл дээр сууж, суга таяг жолооддог.
Мөн систем хэрхэн ажилладаг талаар ойлголттой байсан .hpkg Уламжлалт багц менежерүүд болох Snappy, Flatpak, AppImage, тэр ч байтугай btrfs-ийн шилдэг туршлагуудыг нэгтгэж, Mac-ийн "зүгээр л ажилладаг" аргатай хольсон.

Миний толгойд ямар нэг зүйл "шилжсэн" юм шиг, би энэ систем хэрхэн ажилладагийг ойлгосон .hpkg түүн рүү хараад л яаж өнхрөхөө мэддэг. Гэхдээ энэ бол би биш, харин системийн гоо үзэсгэлэн, энгийн байдал юм. Энд ихэнх нь анхны Mac-ийн сүнсээр шингэсэн байдаг.

Тийм ээ, хөтчөөр үзэх нь эргэлзэж, эмгэн хумс шиг ажиллах боломжтой, програмууд дутмаг байж болно (Gtk, Electron байхгүй - хөгжүүлэгчид нарийн төвөгтэй байдлаар сайн ажилладаггүй гэж дүгнэсэн), видео болон 3D хурдатгал бүрэн байхгүй байж магадгүй, гэхдээ би Энэ систем таалагдаж байна. Эцсийн эцэст эдгээр зүйлсийг засч залруулах боломжтой бөгөөд эрт орой хэзээ нэгэн цагт тэд гарч ирэх болно. Энэ нь зөвхөн цаг хугацааны асуудал, магадгүй бага зэрэг улаан нүд юм.

Би тусламж санал болгож чадахгүй ч одооноос эхлэнэ гэж бодож байна. ширээний компьютер дээр хайку жил.

Санамсаргүй асуудлууд

Магадгүй аль хэдийн програмууд байгаа эсвэл би нээх хэрэгтэй юу?

  • BeScreenCapture нь Peek шиг GIF руу экспортлох боломжтой байх ёстой. Үүнийг аль хэдийн Haiku-д ашиглах боломжтой ffmpeg ашиглан хийж болно. Өргөдөл.
  • Дэлгэцийн зургийн хэрэгсэл нь дэлгэцийг бүхэлд нь авахын оронд модаль цонхны дэлгэцийн агшинг авч чадахгүй
  • Та WonderBrush-ийн тайрах хэрэгслээр дэлгэцийн агшинг тайрч, үр дүнг файлд хадгалах боломжгүй.
  • Би Хайку дахь гар курсорт тийм ч их дургүй, гэхдээ энэ нь дулаахан дурсах мэдрэмжтэй гэж би боддог. Энэ нь ялангуяа Крита дахь тайрах хэрэгслийг ашиглахад ядаргаатай байдаг, учир нь энэ нь буруу тайрахад хүргэдэг (энэ нийтлэл дэх модаль харилцах цонхны дэлгэцийн агшинг үзнэ үү). Загалмайн курсор бол маш сайн байх болно. Өргөдөл.

Та өөрөө туршаад үзээрэй! Эцсийн эцэст, Хайку төсөл нь үүсгэсэн DVD эсвэл USB-ээс ачаалах зургийг өгдөг Ежедневно. Суулгахын тулд зургийг татаж аваад USB флаш диск рүүгээ бичээрэй Etcher

Асуулт байна уу? Бид таныг Орос хэлтэй сургалтанд урьж байна цахилгаан суваг.

Алдааны тойм: C болон C++ хэл дээр хэрхэн хөл рүүгээ буудах вэ. Хайку үйлдлийн системийн жорын цуглуулга

Эхлээд зохиогч нь Орчуулга: Энэ бол Хайку цувралын зургаа дахь нийтлэл юм.

Нийтлэлийн жагсаалт: Эхнийх нь Хоёр дахь нь Гурав дахь нь Дөрөвдүгээр Тавдугаарт

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх