Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо

ХИБ; DR: Haiku системаи оператсионии махсус барои компютерҳои фардӣ тарҳрезӣ шудааст, аз ин рӯ, он дорои якчанд ҳиллаест, ки муҳити мизи кории онро нисбат ба дигарон хеле беҳтар мекунад. Аммо он чӣ гуна кор мекунад?

Бештар Ман Хайкуро кашф кардам, системаи ғайричашмдошт хуб. Ман то ҳол дар ҳайратам, ки он то чӣ андоза осонтар кор мекунад, махсусан дар муқоиса бо муҳити мизи кории Linux. Имрӯз ман зери сарпӯшро тамошо мекунам. Агар барои фаҳмиши амиқ зарур бошад, ман бо муҳити аслии Macintosh, Mac OS X ва Linux (стандарти XDG аз freedesktop.org) муқоиса мекунам.

Манбаъҳо дар файлҳои ELF

Дирӯз ман фаҳмидам, ки IconOMatic метавонад нишонаҳоро дар захираҳои rdef дар файлҳои иҷрошавандаи ELF захира кунад. Имрӯз ман мехоҳам бубинам, ки он дар ҳақиқат чӣ гуна кор мекунад.

Захираҳо? Саволҳо аз он Брюс Хорн, муаллифи аслии Macintosh Finder ва "падар" -и Менеҷери захираҳои Macintosh:

Ман аз табиати сахти рамзгузории анъанавӣ нигаронам. Барои ман, худи идеяи барномае, ки дар код яхбаста аст, бе қобилияти тағир додани чизе динамикӣ, ваҳшӣтарин ваҳшӣ аст. Он бояд ба қадри имкон дар вақти корӣ тағир дода шавад. Албатта, худи коди барномаро тағир додан мумкин нест, аммо бешубҳа чизеро бидуни тартиб додани код тағир додан мумкин аст?

Дар Macintosh-и аслӣ онҳо ин файлҳоро дорои “қисмҳои маълумот” ва “қисмати захираҳо” сохтанд, ки захира кардани чизҳо ба монанди нишонаҳо, тарҷумаҳо ва ғайраро бениҳоят осон кард. дар файлҳои иҷрошаванда.

Дар Mac ин истифода мешавад Аз нав таҳрир кунед, барномаи графикӣ барои - ногаҳон - таҳрир захираҳои.

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
ResEdit дар Macintosh аслии

Дар натиҷа, таҳрир кардани нишонаҳо, ҷузъҳои меню, тарҷумаҳо ва ғайра имконпазир гардид. кофӣ осон, аммо онҳо ба ҳар ҳол бо барномаҳо "сафар" мекунанд.
Дар ҳар сурат, ин равиш як камбудии калон дошт: он танҳо дар системаҳои файлии Apple кор мекард, ки яке аз сабабҳои он буд, ки Apple ҳангоми гузаштан ба Mac OS X аз “қисмҳои захиравӣ” даст кашид.
Дар Mac OS X, Apple хостори ҳалли мустақили системаи файлӣ буд, аз ин рӯ онҳо консепсияи бастаҳоро (аз NeXT) қабул карданд, директорияҳоеро, ки мудири файл ҳамчун "объектҳои ношаффоф" баррасӣ мекунанд, ба монанди файлҳо, на директорияҳо. Ҳама гуна баста бо замима дар формат .app аз чумла, файл дорад Info.plist (дар як навъ муодили Apple JSON ё YAML) дорои метамаълумоти барнома.

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
Калидҳо барои файли Info.plist аз бастаи барномаҳои Mac OS X.

Сарчашмаҳо, ба монанди нишонаҳо, файлҳои UI ва ғайра, дар баста ҳамчун файлҳо нигоҳ дошта мешаванд. Консепсия воқеан ба решаҳои худ дар NeXT баргашт.

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
Mathematica.app дар NeXTSTEP 1.0 дар соли 1989: ҳамчун директорияи файлҳо дар терминал пайдо мешавад, аммо ҳамчун объекти ягона дар мудири файли графикӣ.

Биёед ба BeOS баргардем, консепсияҳое, ки Ҳайку бар онҳо асос ёфтааст. Таҳиягарони он ҳангоми гузаштан аз PEF (PowerPC) ба ELF (x86) (ҳамон тавре ки дар Linux истифода мешавад) тасмим гирифтанд, ки ба охири файлҳои ELF як бахши захиравӣ илова кунанд. Он қисмати дурусти ELF-и худро истифода набурд, он танҳо ба охири файли ELF замима карда шуд. Дар натичаи ичрои программа strip ва дигарон аз бинутил, ки аз ин бехабаранд, фаќат онро буриданд. Аз ин рӯ, ҳангоми илова кардани захираҳо ба файли ELF дар BeOS, беҳтар аст, ки онро бо асбобҳои Linux идора накунед.

Ҳоло бо Ҳайку чӣ мешавад? Асосан, бештар ё камтар ҳамон.

Дар назария, метавон захираҳоро дар қисмати дилхоҳи ELF ҷойгир кард. Ба гуфтаи таҳиягарон дар канали #haiku дар irc.freenode.net:

Бо 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: Навъи барномаи MIME, барои харитасозии кушодаи файл, оғоз, IPC ва ғайра.
  • app_name_catalog_entry: Азбаски номи барнома одатан бо забони англисӣ аст, шумо метавонед ҷойҳоеро, ки номҳои тарҷумашуда ҷойгиранд, муайян кунед, то корбарони забонҳои гуногун, агар хоҳед, номи барномаи тарҷумашударо бубинанд.
  • app_version: маҳз он чизе ки шумо фикр мекардед
  • app_flags: нишон медихад registrar чӣ тавр коркарди ариза. Ман фикр мекунам, ки ин бештар аз он вуҷуд дорад. Масалан, вуҷуд дорад B_SINGLE_LAUNCH, ки системаро маҷбур мекунад, ки ҳар дафъае, ки корбар дархост кунад, раванди нави барномаро оғоз кунад (ҳамин принсип барои аксари замимаҳо дар Linux истифода мешавад). Бихӯред B_MULTIPLE_LAUNCH, боиси он мегардад, ки раванд барои иҷро ҳар як файл. Ниҳоят вуҷуд дорад B_EXCLUSIVE_LAUNCH, ки системаро маҷбур мекунад, ки дар як вақт танҳо як равандро оғоз кунад, новобаста аз он ки корбарон онро чӣ қадар зуд оғоз мекунанд (масалан, Firefox дар Linux ҳамин тавр кор мекунад; ҳамин натиҷаро дар барномаҳои Qt бо истифода аз функсия ба даст овардан мумкин аст. QtSingleApplication). Барномаҳо бо B_EXCLUSIVE_LAUNCH вақте ки корбар кӯшиши дубора иҷро кардани онҳоро мекунад, огоҳ карда мешаванд: масалан, онҳо роҳи файлеро мегиранд, ки корбар мехоҳад бо ёрии онҳо кушояд.
  • vector_icon: Нишонаи барномаи векторӣ (BeOS нишонаҳои векторӣ надошт, аксари барномаҳо ба ҷои он дар файлҳои иҷрошавандаи худ ду нишонаи растрӣ доштанд).

Албатта, шумо метавонед захираҳоро бо дилхоҳ ID ва намудҳои дилхоҳ илова кунед ва сипас онҳоро дар худи барнома ё дигар замимаҳо бо истифода аз синф хонед. BResources. Аммо аввал, биёед ба мавзӯи ҷолиби нишонаҳо назар кунем.

Нишонаҳои векторӣ бо услуби Ҳайку

Албатта, на танҳо Ҳайку формати беҳтарини нишонаро интихоб кард; дар ин бахш вазъият бо муҳити мизи кории Linux аз идеалӣ дур аст:

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

Ба ин нигоҳ карда, шумо аллакай ҳис мекунед, ки он чӣ гуна аст.

Албатта, миқёспазир мавҷуд аст, ки он тавре ки шумо фаҳмед, нишонаҳои векториро дар бар мегирад. Пас чаро чизи дигаре ҳаст? Зеро натиҷаи кашидани графикаи векторӣ дар андозаҳои хурд метавонад аз идеал камтар бошад. Ман мехоҳам, ки имконоти гуногун барои андозаҳои гуногун оптимизатсия карда шаванд. Дар муҳити мизи кории Linux, ин тавассути пароканда кардани нишонаҳои андозаҳои гуногун дар тамоми системаи файлӣ ба даст оварда мешавад.

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 дар версияҳои гуногун. Дар айни замон ин корро дар Linux бе асобағолҳои гуногун иҷро кардан ғайриимкон аст.

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-ро ба таври номукаммал ворид кунад; тақрибан 90% тафсилоти SVG бо эҳтимоли зиёд ворид карда мешаванд, 10% боқимонда бояд ба таври дастӣ танзим ва тағир дода шаванд. Муфассалтар дар бораи чӣ гуна HVIF ҷодугарии худро иҷро мекунад метавонад дар блог Лиа Гансон

Илова кардани нишона ба барнома

Акнун ман метавонам нишонаеро ба бастаи сохташуда илова кунам охирин бор, бо назардошти хамаи маълумоти гирифташуда.
Хуб, азбаски ман алҳол барои кашидани нишонаи шахсии худ барои 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:ICONs нусхабардорӣ ҳанӯз ҳамчун нишонаи барнома дар мудири файл истифода намешавад

Ман чӣ пазмон шудам?

Шарҳи таҳиякунанда:

Мо бояд файл эҷод кунем rdef бо тамоми захирахо, пас фармонро ичро кунед rc имя.rdef, ин файлро эҷод мекунад .rsrc. Пас шумо бояд фармонро иҷро кунед resattr -o имя_бинарника имя.rsrc. Ҳадди ақал, ман фармонҳои монанди инҳоро барои илова кардани нишонаҳо ба скриптҳои худ истифода мебарам.

Хуб, ман мехостам манбаи эҷод кунам, на атрибут. Ман дар ҳақиқат ошуфтаам.

Кэшкунии оқилона бо истифода аз системаи файлӣ

Кушодан ва хондани атрибутҳои ELF суст аст. Тавре ки ман дар боло навишта будам, нишона ҳамчун манбаъ дар худи файл навишта шудааст. Ин усул боэътимодтар аст ва ба шумо имкон медиҳад, ки аз нусхабардорӣ ба системаи файлии дигар наҷот ёбед. Аммо, он гоҳ инчунин ба атрибути системаи файлӣ нусхабардорӣ карда мешавад, масалан BEOS:ICON. Ин танҳо дар баъзе системаҳои файлӣ, ба монанди BFS кор мекунад. Нишонаҳои аз ҷониби система нишон додашуда (дар Tracker ва панели мизи корӣ) аз ин атрибути васеъ хонда мешаванд, зеро ин ҳалли зуд кор мекунад. Дар баъзе ҷойҳо (дар он ҷо суръат муҳим нест, масалан, равзанаи маъмулии "Дар бораи"), система нишонаро мустақиман аз захираи файл қабул мекунад. Аммо ин охир нест. Дар хотир доред, ки дар Mac корбарон метавонанд нишонаҳои замимаҳо, директорияҳо ва ҳуҷҷатҳоро бо аломатҳои худ иваз кунанд, зеро дар Mac имкон дорад, ки ин корҳои "муҳим" -ро иҷро кунанд, масалан иваз кардани тасвири нави Slack бо тасвири қаблӣ. Дар Ҳайку, шумо бояд захираро (дар файл) ҳамчун тасвири аслии бо барнома воридшуда ва атрибут (дар системаи файлии BFS) ҳамчун чизе, ки ба корбар имкон медиҳад, ки бо хоҳиши худ тағирот ворид кунад (гарчанде, ишора, GUI барои ворид кардани нишонаи фармоишӣ дар болои нишона ихтиёрӣ аст).

Санҷиши атрибутҳои системаи файлӣ

Бо кӯмаки 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 аз форматҳои дигар бо номҳои шабеҳе, ки шумо дучор шудаед, комилан фарқ мекунад, он дорои қудратҳои воқеии аст.

Бо форматҳои бастаҳои анъанавӣ, ман муддати тӯлонӣ аз ин далел хафа шудам: шумо як чизро (баста) зеркашӣ мекунед ва чизи дигаре дар система насб шудааст (файлҳо дар дохили баста). Ҳангоми насб кардани баста бо усули анъанавӣ идоракунии файлҳо (масалан, нест кардани онҳо) хеле душвор аст. Ва ҳама аз сабаби мундариҷаи баста дар тамоми системаи файлӣ пароканда, аз ҷумла ҷойҳое, ки корбари миёна метавонад дастрасии навиштан надошта бошад. Ин боиси як синфи тамоми барномаҳо мегардад - менеҷерони бастаҳо. Аммо интиқоли нармафзори аллакай насбшуда, масалан, ба мошини дигар, диски ҷудошаванда ё сервери файл боз ҳам мушкилтар мешавад, агар комилан ғайриимкон бошад. Дар системаи маъмулии Linux асосёфта метавонад ба осонӣ аз чандсад ҳазор то миллионҳо файлҳои инфиродӣ мавҷуд бошад. Бояд гуфт, ки ин ҳам нозук ва ҳам суст аст, масалан, ҳангоми насби ибтидоии система, ҳангоми насб, навсозӣ ва нест кардани бастаҳои муқаррарӣ ва ҳангоми нусхабардории ҳаҷми пурборкунӣ (ҳисмати реша) ба воситаи дигар.

Ман дар лоиҳаи AppImage кор мекунам, асои қисман барои барномаҳои корбари ниҳоӣ. Ин формати тақсимоти нармафзор аст, ки замима ва тамоми вобастагии онро ба як тасвири системаи файлӣ, ки ҳангоми оғози барнома насб карда мешавад, ҷамъ мекунад. Корҳоро ба таври назаррас содда мекунад, зеро ҳамон ImageMagick ногаҳон ба як файл табдил меёбад, ки дар мудири файл аз ҷониби одамони оддӣ идора карда мешавад. Усули пешниҳодшуда танҳо барои нармафзор кор мекунад, ки дар номи лоиҳа инъикос ёфтааст ва инчунин маҷмӯи мушкилоти худро дорад, зеро одамоне, ки дар расонидани нармафзор барои Linux иштирок мекунанд, ҳамеша тирро ба ман нишон медиҳанд.

Биёед ба Ҳайку баргардем. Оё мувозинати оптималии байни системаҳои бастабандии анъанавӣ ва интиқоли нармафзор дар асоси тасвир имконпазир буд? Бастаҳои вай .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. Вой! Ман аллакай зикр кардам, ки ман фикр мекунам, ки як қисми мураккабӣ ва пайвастагии умумии Ҳайку аз он аст, ки тамоми система, аз ядро ​​ва фазои корбарони аслӣ то идоракунии бастаҳо ва инфрасохтори вақти корӣ, аз ҷониби як даста якҷоя таҳия карда мешавад. Тасаввур кунед, ки чанд гурӯҳ ва дастаҳои гуногун барои иҷро кардани чунин чизе дар Linux лозим аст [Ман лоиҳаи PuppyLinux-ро тасаввур мекунам - тақрибан. тарҷумон]. Пас тасаввур кунед, ки ин равиш дар тақсимот чӣ қадар вақт лозим аст. Мегуянд: як масъалаи оддиро гир, онро дар байни ичрокунандагони гуногун таксим кун ва он чунон печида мешавад, ки дигар хал кардан имкон надорад. Хайку дар ин маврид чашмонамро кушод. Ман фикр мекунам, ки ин маҳз ҳамон чизест, ки ҳоло дар Linux рӯй медиҳад (Linux дар ин ҳолат истилоҳи дастаҷамъӣ барои 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. Дар феҳристҳои "state..." файлҳои матнӣ бо номи бастаҳои фаъол ва директорияҳои "транзакция..." худи бастаҳо мавҷуданд.

"Ҳолати кӯҳнаи фаъол", яъне. рӯйхат .hpkg бастаҳое, ки пеш аз тағирот фаъоланд, пас аз ҳар як амалиёт дар мудири файл дар файли матнӣ сабт карда мешаванд /Haiku/system/packages/administrative/state-<...>/activated-packages. Ба ҳамин монанд, дар файли матнӣ "ҳолати фаъол" нав навишта мешавад /Haiku/system/packages/administrative/activated-packages.

директорӣ /Haiku/system/packages/administrative/state-<...>/ дорои танҳо як файли матнӣ бо рӯйхати бастаҳои фаъоли ин ҳолат (дар ҳолати насби бастаҳо бе ҳазф), ва агар бастаҳо хориҷ ё нав карда шуда бошанд - директорияи давлатӣ версияҳои кӯҳнаи бастаҳоро дар бар мегирад.

Вақте ки система бор мекунад, дар асоси рӯйхати бастаҳо, қарор дар бораи фаъол кардани бастаҳо қабул карда мешавад. Ин хеле оддӣ аст! Агар дар вақти зеркашӣ ягон хатогӣ рӯй диҳад, шумо метавонед ба мудири зеркашӣ бигӯед, ки рӯйхати дигар ва кӯҳнаро истифода барад. Мушкилот ҳал шуд!

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
Зеркашии Haiku. Ҳар як нуқтаи вуруд "ҳолати фаъол" -и мувофиқро нишон медиҳад

Ба ман равиши доштани файлҳои матнии оддӣ ҳамчун рӯйхати "ҳолати фаъол" бо номҳое маъқул аст, ки барои фаҳмидан осон аст .hpkg. Ин ба таври куллӣ аз сохта шудани мошинҳо на барои одамон фарқ мекунад. дар як даста аз OSTree ё Flatpak дар системаи файлӣ (дар як сатҳ бо Microsoft GUID).

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
Рӯйхати бастаҳои фаъол барои ҳар як нуқтаи вақт

Маълумоти конфигуратсия

Аз афташ, дар каталог /Haiku/system/packages/administrative/writable-files дорои файлҳои конфигуратсияи бастаҳо мебошад, аммо онҳо қобили навиштан мебошанд. Охир, чунон ки шумо дар хотир доред, .hpkg танҳо барои хондан насб карда шудааст. Ҳамин тавр, ин файлҳо бояд пеш аз навиштан аз бастаҳо нусхабардорӣ карда шаванд. Маъно дорад.

Интегратсияи GUI барои системаи .hpkg

Биёед ҳоло бубинем, ки ин халтаҳои дурахшон чӣ гунаанд .hpkg бо ҳамгироӣ ба муҳити кории корбар (UX) мубориза баред. Баъд аз ҳама, Хайку барои истифодаи шахсӣ пешбинӣ шудааст. Шахсан, ман ҳангоми муқоисаи таҷрибаи корбар бо бастаҳо сатри баланд гузоштам .app дар Macintosh бо таҷрибаи ҳамин оид ба .hpkg. Ман ҳатто вазъиятро бо муҳити корӣ дар Linux муқоиса намекунам, зеро он дар муқоиса бо ҳама чизи дигар комилан даҳшатнок аст.

Сенарияҳои зерин ба хотир меоянд:

  • Ман мехоҳам мундариҷаи бастаро бубинам .hpkg
  • Ман мехоҳам бастаеро насб кунам
  • Ман мехоҳам бастаро хориҷ кунам
  • Ман мехоҳам чизеро, ки ба система ҳамчун қисми баста ворид шудааст, хориҷ кунам
  • Ман мехоҳам чизеро нусхабардорӣ кунам, ки ба система ҳамчун қисми баста ворид шудааст
  • Ман мехоҳам ҳамаи вобастагии бастаҳоро зеркашӣ кунам, ки он метавонад ҷузъи ҳар як насби Haiku набошад (масалан, ман як мошини аз ҷиҳати ҷисмонӣ ҷудошуда дорам, ки дастрасӣ ба интернет надорад.)
  • Ман мехоҳам бастаҳои худро (ё як қисми онҳоро) алоҳида ба ҷои дигар, ҷудо аз ҳаҷми пурборшаванда (ҳисмати реша) гузаронам (зеро, масалан, ман дар он фазои кофӣ надорам).

Ин бояд аксари парвандаҳои асосиро аз кори ҳаррӯзаи ман фаро гирад. Хуб, биёед оғоз кунем.

Санҷиши мундариҷаи баста

Дар Mac Ман танҳо бо тугмаи рости муш пахш карда бастаро кушоам ва мундариҷаро дар Finder бубинам. Баъд аз ҳама, дар асл он танҳо як директорияи пинҳоншуда аст! (Ман медонам, ки бастаҳо мавҷуданд .pkg барои як қисми система, ки барномаҳо нестанд, аммо корбарони оддӣ аксар вақт бо онҳо муошират намекунанд).

Дар бораи Хайку Ман бастаро бо тугмаи рости муш пахш карда, пас "Мундариҷа" -ро клик кунед, то бубинед, ки дар дохили он чӣ мавҷуд аст. Аммо дар ин ҷо танҳо як рӯйхати файлҳо бе қобилияти кушодани онҳо бо клики дукарата мавҷуд аст.
Ин хеле беҳтар мебуд, агар роҳи (муваккатан) васл кардани баста вуҷуд дошта бошад .hpkg ки тавассути мудири файл дидан мумкин аст ва корбар набояд дар бораи тафсилоти татбиқ хавотир шавад. (Дар омади гап, шумо метавонед кушоед .hpkg баста дар Expander, ки метавонад онро мисли дигар архивҳо кушояд).

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
Интерфейси HaikuDepot ба шумо имкон медиҳад, ки рӯйхати файлҳои бастаҳоро бубинед, аммо роҳи дидани мундариҷа бо роҳи, масалан, ду маротиба клик кардани README.md вуҷуд надорад.

Mac дар ин категория ғолиб меояд, аммо илова кардани функсияи HaikuDepot, ки шумо мехоҳед, набояд он қадар душвор бошад.

Насб кардани баста тавассути GUI

Дар Mac, аксари тасвирҳои диск .dmg бастаҳоро дар бар мегирад .app. Тасвири дискро ду маротиба клик кунед ва пас бастаро нусхабардорӣ кунед, масалан, бо кашола кардан ба он /Applications дар Finder. Ин барои ман гуфтан ҳам нест, аммо ман шунидам, ки баъзе навгониҳо метавонанд ин корро карда натавонанд. Бо нобаёнӣ, Apple феҳристи тамоми системаро "пешниҳод мекунад" /Applications (дар NeXT он ҳам шабакавӣ буд ва ҳам инфиродӣ), аммо шумо метавонед ба осонӣ барномаҳои худро дар сервери файл ё зеркаталог ҷойгир кунед $HOME/Applications, агар ба шумо ин тавр маъқул бошад.

Дар бораи Хайку, бастаро ду маротиба клик кунед, пас "Насб" -ро клик кунед, ин осонтар набуд. Ман ҳайронам, ки агар бастаҳо вобастагӣ дошта бошанд, ки дар HaikuPorts дастрасанд, вале ҳанӯз насб нашудаанд, чӣ мешавад. Дар Linux онҳо воқеан намедонанд, ки дар ин вазъият чӣ кор кунанд, аммо роҳи ҳалли он аён аст - аз корбар пурсед, ки оё ба онҳо вобастагӣ зеркашӣ ва насб кардан лозим аст. Маҳз ҳамон чизест, ки Ҳайку мекунад.

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
Ман бастаи 'sanity'-ро дастӣ зеркашӣ кардам ва онро клик кардам, менеҷери бастаҳо медонад, ки вобастагии онро аз куҷо дастрас кардан мумкин аст (фарз кунед, ки анборҳо аллакай дар система сабти ном шудаанд). На ҳама тақсимоти Linux ин корро карда метавонад.

Роҳи дигар ин истифодаи мудири файл аст, танҳо кашола карда партофтан .hpkg баста ё дар /Haiku/system/packages (барои насби тамоми система, бо нобаёнӣ) ё дар /Haiku/home/config/packages (барои насби инфиродӣ; ҳангоми пахши дукарата дастрас нест - ман то ҳол аз калимаи "конфигуратсия" дар ин ҷой, ки барои ман дар ин маврид синоними "танзимот" аст) асабонӣ мекунам). Ва мафҳуми корбарони сершумор ҳатто барои Haiku дастрас нест (эҳтимол барои ҳамин ин хеле содда аст - ман намедонам, шояд қобилиятҳои корбарони чандкарата корҳоро барои муҳити мизи кории мизи корӣ беасос мушкилтар кунанд).

Ҳайку дар ин категория ғолиб меояд, зеро он на танҳо бо барномаҳо, балки бо барномаҳои системавӣ низ кор карда метавонад.

Хориҷ кардани баста аз GUI

Дар Mac, шумо бояд тасвири барномаро ба қуттии партов кашед ва ин ҳама аст. Ба осонӣ!

Дар бораи Хайку, аввал, шумо бояд дар куҷо ҷойгиршавии бастаро дар система пайдо кунед, зеро шумо онро хеле кам дар ҷои дуруст насб мекунед (система ҳама чизро иҷро мекунад). Одатан ба шумо лозим аст, ки ба он назар кунед /Haiku/system/packages (бо насби пешфарз дар саросари система) ё дар /Haiku/home/config/packages (Оё ман гуфта будам, ки "конфигуратсия" номи нодуруст аст?). Он гоҳ барнома танҳо ба қуттии партов кашида мешавад ва ҳамин тавр.
Ба осонӣ! Бо вуҷуди ин, ман инро намегӯям. Ин аст он чизе ки воқеан рӯй медиҳад:

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
Агар шумо барномаро ба қуттии партов кашед, ин чӣ мешавад /Haiku/system/packages

Танҳо кӯшиш кардам, ки барномаи дирӯзи ман "Салом Ҷаҳон"-ро дар QtQuickApp ба партов интиқол диҳам. Ман кӯшиш накардаам, ки директорияи системаро кӯч диҳам, ва азбаски ҳамаи бастаҳо дар директорияи система насб карда шудаанд, хориҷ кардани баста ғайриимкон аст .hpkg бе тагйир "мазмуни он". Корбари оддӣ метарсад ва тугмаи "Бекор кардан" -ро пахш мекунад, ки бо нобаёнӣ таъин шудааст.

Шарҳ медиҳад Ҷаноб. ваддлсплаш:

Ин пост зиёда аз 10 сол дорад. Эҳтимол, мо бояд онро тавре танзим кунем, ки огоҳӣ танҳо ҳангоми интиқол додани худи баста пайдо шавад. Ба корбарони муқаррарӣ лозим нест, ки ин корро кунанд.

Хуб, шояд ман инро бо истифода аз HaikuDepot кунам? Ман бастаро ду маротиба клик мекунам /Haiku/system/packages, мунтазири пайдо шудани тугмаи "Нест кардан". Не, (танҳо) "Насб" мавҷуд аст. "Нест", шумо дар куҷоед?

Танҳо барои фароғат, ман кӯшиш кардам, ки бубинам, ки агар ман дар бастаи аллакай насбшуда "Насб" -ро клик кунам, чӣ мешавад. Чунин мебарояд:

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
Ин ҳодиса рӯй медиҳад, агар шумо кӯшиш кунед, ки бастаи аллакай насбшударо насб кунед.

Оянда пайдо мешавад:

Рӯзи шашуми ман бо Ҳайку: зери сарпӯши захираҳо, нишонаҳо ва бастаҳо
Агар шумо дар равзанаи қаблӣ "Тағйиротро татбиқ кунед" -ро пахш кунед, он чунин хоҳад буд

Ман гумон мекунам, ки ин хатои нармафзор аст; истиноди барнома аллакай вуҷуд дорад. [муаллиф истинодро пешниҳод накардааст - тақрибан. тарҷумон]

Ҳалли зуд: Тугмаи "Нест кардан" -ро илова кунед, агар баста аллакай дар дохили он бошад /Haiku/system/packages, ё дар /Haiku/home/config/packages.

Ҳангоми дидани рӯйхати бастаҳои дар HaikuDepot насбшуда, ман бастаи худро дар рӯйхат мебинам ва метавонам онро хориҷ кунам.

Дар ин категория Mac пирӯз мешавад. Аммо ман тасаввур карда метавонам, ки бо танзими дуруст таҷрибаи корбар дар Haiku нисбат ба Mac беҳтар хоҳад буд. (Яке аз таҳиягарон онро чунин арзёбӣ кардааст: "Камтар аз як соат барои илова кардани функсияи мушаххас ба HaikuDepot, агар шумо каме C++ донед", ягон ихтиёриён?)

Хориҷ кардани чизе аз баста

Биёед кӯшиш кунем, ки худи барномаро нест кунем, на бастаро .hpkg, ки аз он пайдо шудааст (ман шубҳа дорам, ки барои "фандагони оддӣ" ягон фарқият вуҷуд дорад).

Дар Mac, корбар воқеан одатан бо файл кор мекунад .dmgбастаи ариза аз куҷо меояд .app. Одатан тасвирҳо .dmg дар феҳристи зеркашиҳо ҷамъ карда мешаванд ва бастаҳоро корбар ба он нусхабардорӣ мекунад /Applications. Гумон меравад, ки бисёре аз корбарон худашон намедонанд, ки чӣ кор мекунанд, ин фарзияро як корманди собиқи Apple тасдиқ кардааст. (Яке аз чизҳое, ки дар Mac ба ман маъқул нест. Ва, масалан, бо 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 ва Linux каме бештар аз маъмулӣ хотима ёбам.

Дар Mac Ин одатан як файл аст, ба шумо танҳо зеркашӣ кардан лозим аст .dmg. Аксар вақт, он вобастагӣ надорад, ба ғайр аз онҳое, ки худи MacOS бо нобаёнӣ пешниҳод кардааст. Истисно барномаҳои мураккабест, ки муҳити мувофиқи иҷроро талаб мекунанд, масалан java.

Дар бораи Хайку бастаи зеркашӣ .hpkg зеро, масалан, ҳамон як барнома дар java, метавонад кофӣ набошад, зеро Java метавонад дар мошини мавриди ҳадаф мавҷуд бошад ё набошад. Оё роҳи зеркашии ҳама вобастагӣ барои бастаи додашуда вуҷуд дорад .hpkg, ғайр аз онҳое, ки ба таври нобаёнӣ дар Ҳайку насб шудаанд ва аз ин рӯ, бояд дар ҳар як системаи Ҳайку бошанд?

Mac дар ин категория бо фарқияти хурд ғолиб меояд.

Шарҳҳо ҷаноби. waddlesplash:

Барои навиштани барнома барои ҷамъоварии ҳама вобастагии барнома ҳамчун маҷмӯи бастаҳо .hpkg барои касе, ки бо корҳои ботинии Ҳайку ошно бошад, тақрибан 15 дақиқа кофӣ аст. Илова кардани дастгирӣ барои ин он қадар душвор нест, агар зарурати воқеӣ ба он вуҷуд дошта бошад. Аммо барои ман ин як ҳолати нодир аст.

Биёед то мақолаи навбатии ин силсила нафасамонро нигоҳ дорем.

Интиқоли бастаҳо ба ҷои алоҳида

Тавре ки ман қаблан навишта будам, ман мехоҳам бастаҳои худро ҷойгир кунам .hpkg (хуб, ё як қисми онҳо) ба ҷои махсус, ҷудо аз ҷойгиркунии муқаррарии оид ба ҳаҷми пурборшаванда (ҳиҷобест реша). Дар ҳолати муқаррарӣ (на он қадар назариявӣ), сабаби ин дар он аст, ки ман дар дискҳои (дарунсохти) худ, новобаста аз он ки онҳо чӣ қадар калонанд, ҳамеша фазои холӣ тамом мешавад. Ва ман одатан дискҳои беруна ё саҳмияҳои шабакаро, ки барномаҳои ман ҷойгиранд, пайваст мекунам.

Дар Mac Ман танҳо бастаҳоро интиқол медиҳам .app ба диски ҷудошаванда ё директорияи шабакавӣ дар Finder, ва ҳамин тавр. Ман то ҳол метавонам ду маротиба клик кунам, то барномаро кушоям, чуноне ки маъмулан аз ҳаҷми пурборкунанда метавонистам. Танҳо!

Дар бораи Хайку, чунон ки ба ман гуфтанд, ин метавонад тавассути ҳаракат ман ба даст .hpkg бастаҳоро ба диски ҷудошаванда ё директорияи шабакавӣ мегузоред, аммо пас шумо бояд баъзе фармонҳои ҳуҷҷатнашударо дар консол истифода баред, то онҳоро дар система васл кунед. Ман намедонам, ки ин корро танҳо бо истифодаи GUI чӣ гуна иҷро кунам.

Дар ин категория Mac пирӯз мешавад.

Ба гуфтаи ҷаноби. waddlesplash:

Ин оптимизатсияест, ки ба истифодаи муқаррарӣ асос ёфтааст. Агар зиёда аз як корбар талабот пайдо шавад, мо онро амалӣ хоҳем кард. Дар ҳар сурат, имкони татбиқи тарафи сеюм вуҷуд дорад.

Мо дар ин бора дар мақолаи навбатӣ сӯҳбат хоҳем кард.

Дар бораи директорияҳои шабака сухан ронем, хеле хуб мебуд (ман гумон мекунам, ки тарафҳои LAN) дошта бошанд, ки барномаҳои оддӣ, кашфшаванда ва дар саросари шабака (ба монанди Zeroconf), ки метавонанд ба компютери маҳаллӣ нусхабардорӣ шаванд ё мустақиман аз шабакаи маҳаллӣ кор кунанд. Албатта, таҳиягарон имкони даст кашидан аз тариқро доранд app_flags.

Ҳисоботи ниҳоӣ дар бораи ҳамгироии системаи hpkg бо GUI

Ба фикрам, пеш аз хама аз сабаби нисбатан нав будани интеграция .hpkg GUI то ҳол чизи дилхоҳро тарк мекунад. Дар ҳар сурат, чанд чиз вуҷуд дорад, ки онҳоро дар робита ба UX беҳтар кардан мумкин аст ...

Боз як чизи дигар: Kernel Debug Land

Масалан, ҳангоми воҳимаи ядро ​​​​метавонист фармонҳоро ворид кунед, хеле хуб мебуд syslog | grep usb. Хуб, дар Ҳайку ин ба шарофати Kernel Debug Land имконпазир аст. Чӣ тавр шумо метавонед ин ҷодуро дар амал бинед, агар ҳама чиз тавре кор кунад, ки ба воҳимаи ядро ​​​​афтад? Ба осонӣ ба воситаи пахшкунии Alt+PrintScn+D (Debug mnemonic). Дарҳол ба ёдам меояд Калиди барномасоз, ки ба таҳиягарони аслии Macintosh имкон дод, ки ба ислоҳкунанда ворид шаванд (агар он насб карда шуда бошад, албатта).

хулоса

Ман фаҳмидам, ки мураккабии системаи Хайку аз он аст, ки кор аз ҷониби як гурӯҳи хурд бо таваҷҷӯҳи возеҳ ба муҳити корӣ ва дастрасии ҳама қабатҳои система анҷом дода мешавад.
Тафовути шадид бо ҷаҳони Linux/GNU/dpkg/apt/systemd/Xorg/dbus/Gtk/GNOME/XDG/Ubuntu, ки дар он ҳама чиз ба пораҳои хурд ба дараҷае тақсим шудааст, ки абстраксия дар абстраксия нишастааст ва бо асобағол ҳаракат мекунад.
Инчунин фаҳмиши он буд, ки система чӣ гуна аст .hpkg таҷрибаҳои беҳтарини менеҷерҳои бастаҳои анъанавӣ, Snappy, Flatpak, AppImage, ҳатто btrfs-ро муттаҳид мекунад ва онҳоро бо равиши "танҳо кор"-и Mac омехта мекунад.

Гӯё дар сарам чизе "гузарад" ва ман фаҳмидам, ки система чӣ гуна аст .hpkg медонад, ки чӣ тавр меғелонад дур, танҳо ба вай нигоҳ. Аммо ин ман нест, балки зебоӣ ва соддагии система аст. Аксари ин аз рӯҳияи аслии Mac илҳом гирифта шудааст.

Бале, дидан дар браузер метавонад ғамгин бошад ва ба мисли ҳаяҷон кор кунад, барномаҳо шояд кам бошанд (нест Gtk, Electron - таҳиягарон ба хулосае омаданд, ки онҳо бо мураккабӣ хуб кор намекунанд), видео ва суръатбахшии 3D шояд тамоман вуҷуд надошта бошанд, аммо ман ба ҳар ҳол ба ин система маъқул аст. Охир, ин чизхоро ислох кардан мумкин аст ва дер ё зуд пайдо мешаванд. Ин танҳо як масъалаи вақт ва шояд каме сурх чашм аст.

Ман кӯмак карда наметавонам, аммо фикр мекунам, ки аз ҳоло оғоз мешавад соли Хайку дар мизи корӣ.

Мушкилоти тасодуфӣ

Шояд аллакай дархостҳо вуҷуд доранд ё ман бояд онҳоро кушоям?

  • BeScreenCapture бояд қодир бошад, ки ба GIF ба монанди Peek содир кунад. Инро метавон бо истифода аз ffmpeg, ки аллакай барои Haiku дастрас аст, анҷом дод. Ариза.
  • Нармафзори скриншот тирезаи модалиро гирифта наметавонад, ба ҷои гирифтани тамоми экран
  • Шумо наметавонед скриншотҳоро бо истифода аз асбоби буридани WonderBrush бурида, натиҷаро дар файл захира кунед
  • Ба ман курсори дастӣ дар Ҳайку махсусан маъқул нест, аммо ман фикр мекунам, ки он бо эҳсоси гарми ностальгӣ алоқаманд аст. Ин махсусан ҳангоми истифодаи асбоби зироаткорӣ дар Крита дилгиркунанда аст, зеро он боиси буридани нодуруст мегардад (ба скриншотҳои муколамаҳои модалӣ дар ин мақола нигаред). Курсори кроссчар олиҷаноб мебуд. Ариза.

Худатон кӯшиш кунед! Дар ниҳоят, лоиҳаи Ҳайку тасвирҳоро барои боркунӣ аз DVD ё USB, тавлидшуда таъмин мекунад ежедневно. Барои насб кардан, танҳо тасвирро зеркашӣ кунед ва бо истифода аз он ба диски флешдор нависед Эшер

Оё шумо ягон савол доред? Шуморо ба забони русӣ даъват мекунем канали телеграмма.

Шарҳи хато: Чӣ тавр дар C ва C ++ худро ба пои худ тир парронед. Маҷмӯаи дорухатҳои Haiku OS

аз муаллиф тарҷума: ин мақолаи шашум дар силсилаи Ҳайку аст.

Рӯйхати мақолаҳо: Аввал Дуюм Сеюм Чорум Панҷум

Манбаъ: will.com

Илова Эзоҳ