Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
TL;DR: Mwen kontan ak Haiku, men gen plas pou amelyorasyon

Yè mwen etidye Haiku - yon sistèm operasyon ki agréablement etone m. Dezyèm jou. Pa fè m mal: mwen toujou sezi wè ki jan li fasil pou fè bagay ki difisil sou Desktop Linux. Mwen anvi aprann kijan li fonksyone epi mwen kontan tou pou m itilize li chak jou. Se vre, jou pou yon tranzisyon konplè poko rive: mwen pa vle soufri.

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
WonderBrush raster grafik editè - si ou konnen ki kote pou jwenn li

Nan prensip, jan yo espere pou vèsyon ki anba a 1.0. Sepandan, sonje Mac OS X nan jou pre-lage li yo ak konsidere gwosè a nan ekip Haiku a, pa minimize reyalizasyon yo etonan.

Anjeneral mwen bay panse mwen sou #LinuxUsability (pati 1, pati 2, pati 3, pati 4, pati 5, pati 6), Se konsa, pa dwe etone pa kibbles yo sou Haiku an tèm de itilizasyon. Pifò nan yo, erezman, gen rapò ak amelyorasyon divès kalite.

Sa a te prefas la, e kounye a, kite a peye atansyon sou kèk pwoblèm.

Pwoblèm #1: Pwoblèm navigatè

Gen 3 navigatè ki baze sou WebKit: de baz (WebPozitif) ak de lòt sou Qt (QupZilla, non demode Falcon, Ak OtterBrowser), ki ka enstale nan repozitwa a. Okenn nan yo pa travay kòrèkteman. Navigatè prensipal la gen pwoblèm ak fonksyonalite ak rann (pa egzanp, li enposib pou rezoud captcha lè w konekte nan Haiku bugtracker), ak lòt yo gen gwo pwoblèm pèfòmans sou Haiku.

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
Men sa Twitter sanble nan WebPositive, navigatè prensipal Haiku a.

QupZilla ak OtterBrowser lag anpil sou koneksyon Entènèt ki pa fyab (pa egzanp, sou yon tren). Chanje ant onglè yo vin enposib si done yo pa koule san pwoblèm. Li enposib pou louvri yon nouvo tab pandan y ap chaje done yo sou rezo a. Tout bagay se ralanti, malgre chaj la ki ba. Pwobableman navigatè yo pa konplètman optimize pou Haiku multithreading, oswa gen lòt pwoblèm ak Haiku [sou Linux sa rive m 'pafwa tou - approx. tradiktè].

Mwen pa t 'kapab ekri anyen sou Medium ak QupZilla...

Apple te fè anpil pou asire yon navigatè ki estab ak pèfòmans ekselan. Mwen panse ke envestisman sa a pral peye sou Haiku tou. Espesyalman bay plis enpòtans aplikasyon entènèt yo, e menm plis paske aplikasyon natif natal yo poko disponib pou tout ka itilize yo.

Istwa Kenneth Kocienda ak Richard Williamson: ki jan Safari ak Webkit te vin ye

Pwoblèm #2: lanseur ak waf

Nan kwen siperyè a dwat nan ekran an sitiye Deskbar, yon mash-up orijinal nan meni Windows 'Start antremele ak karakteristik Dock ak kèk lòt karakteristik.

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
Deskbar

Piske sa a te petèt yon eleman kle nan eksperyans itilizatè a pou BeOS, li manke kapasite nan yon anviwònman Desktop modèn: mwen bezwen yon lans pwogram tankou Dokiman Pwen Enpòtan, te lanse atravè Alt + espas. Klike pou lanse aplikasyon yo dousman. Gen yon zouti Jwenn ki sanble Stirlitz kache, men li pa fèt pou lanse aplikasyon pratik, menm si li akselere.

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
Pwen Enpòtan sou Mac OS X Leopard, te lanse ak Kòmand + Bar

Gen LnLauncher, enstale nan HaikuDepot. Lè ou premye lanse li, li konplètman vid, epi li pa totalman klè ki jan yo ajoute anyen nan li. Anplis de sa, li parèt nan yon kote ki pa konvenyan sou ekran an ki pa gen okenn fason evidan chanje pozisyon an. Oke, ki jan mwen ka mete l 'sou bò gòch la oswa anba nan ekran an, tankou Dock a nan Mac OS X? Mwen kwè ke UX nan ka sa a se enkonesabl.

DockBert, tou enstale soti nan HaikuDepot. Deja pi bon. Montre nan pati anba a nan ekran an. Mwen pa t 'atann ke lòd la nan ikon yo ta ranvèse: panyen an se nan kòmansman an, men an jeneral li sanble pwomèt.

Kouman mwen ka mete li kòm default olye pou yo Deskbar? Si w klike sou ikòn Deskbar la nan DockBert epi chwazi "fèmen" - li pral, nan kou, fèmen... ak reparèt yon demi segonn pita. (Devlopè yo te di ke sa a se, nan prensip, yon ensèk nan DockBert). Li ta bon si DockBert te entelijan ase pou konprann sa itilizatè a bezwen epi fè li. Pa default, DockBert pa gen okenn ikon app, men li montre "rale isit la" pou ou konnen ki jan yo ajoute tout bagay. Sepandan, mwen pa t 'kapab retire apps yo - ni pa klike sou dwa, ni pa trenen yon icon soti nan DockBert.

m ap eseye HiQDock. Mwen te jwenn li pa aksidan nan yon depo twazyèm pati. Sanble jan mwen vle. Ak yon anfaz sou "gade". Paske li poko travay: li toujou yon vèsyon Beta. Li ekri nan Qt4, kidonk mwen doute ke li pral enkli nan imaj enstalasyon an.

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
HiQDock.

Nan prensip, mwen pa youn nan sèlman ki panse ke sitiyasyon an ak Dock ak lanseur se konplike. Mwen menm jwenn sou sijè sa a atik antye.

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
QuickLaunch

Lè sa a, mwen te jwenn enfòmasyon sou QuickLaunch, ki rekòmande yo dwe lanse lè w ajoute yon konbinezon de bouton nan anviwònman yo Rakouri.

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
Anviwònman rakoursi nan Haiku

Li ta bon si bagay sa yo te configuré pou "jis travay" pa default. Èske mwen te di Alt + Espas? Oke, fondamantalman, QuickLaunch ka mande w si ou bezwen Customize yon chemen kout klavye lè ou premye lanse li. Lè w fè sa nan anviwònman Raccoursi yo se ankonbran.

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
Yon fenèt ki pouse w antre nan "aplikasyon" nan paramèt Raccoursi yo. Pa gen plèzantri

Mwen vle parye ke pifò itilizatè yo pa konnen ki sa yo antre kòm yon "aplikasyon", sètadi: /boot/system/apps/QuickLaunch (Jis QuickLaunch pa fonksyone).

Solisyon rapid: Mete QuickLaunch kòm default epi bay li alt + espas chemen kout.

Erezman, mwen gen enfòmasyon ki soti nan devlopè yo ke nan kèk pwen yo ka enkli li kòm yon amelyorasyon oswa ranplasman pou bon Deskbar la fin vye granmoun. Petèt... yon jou... Dwèt kwaze! (Kite yon demann, oswa li p'ap janm rive. Isit la). Yon lòt pwomotè te di, quote: "Nan opinyon mwen, swiv chemen Windows ki gen ladan yon bwat rechèch nan meni an kòmanse se senp ase pou Beta, mwen ta ka di li pral fè yon gwo diferans pou anpil moun." Dakò! (ankò: aplikasyon oswa ou pa).

Poukisa QuickLaunch jwenn pwogram ekran an de fwa, nan /boot/system/apps ak /boot/system/bin? Devlopè yo konnen, paske nan dosye /boot/system/apps/QuickLaunch/ReadMe.html.

/system/bin pa te trete anvan, pwogram pò souvan fini nan /bin anyè a, ki se yon move lide. Ou ka retire aplikasyon CLI vle, pou egzanp, lè l sèvi avèk bouton "Ajoute nan lis inyore" nan meni kontèks la.

solisyon rapid: filtre aplikasyon ki soti nan /system/bin ki egziste tou nan /system/apps

Pwoblèm #3: pa gen okenn akselerasyon pyès ki nan konpitè

BeOS te chaje ak pwogram Demo. Pa gen videyo BeOS ta dwe konplè san plizyè fenèt ak videyo diferan ap jwe. Yon reyalizasyon etonan nan moman an. Haiku vini ak demonstrasyon 3D ki montre polis 3D k ap deplase nan espas. (Hey, Haiku pa prepare pou yon IPO, pa vre?)

BeOS an 1995, sou ki Haiku baze. Nan tan sa a li te kouri sou de PowerPC 603 processeurs ak yon frekans revèy nan 66 MHz

Nou vle vin Linux nan mond odyo ak videyo.

-Jean-Louis Hesse, direktè jeneral

Surprenante, videyo ak 3D yo pa aktyèlman pyès ki nan konpitè akselere nan Haiku. Mwen devine jwèt tou.

Soti nan devlopè yo mesye. waddlesplash и Alex von Gluck Gen dokiman pou akselerasyon pyès ki nan konpitè ("li pran apeprè de mwa moun"). Akselerasyon 3D yo pral atravè Mesa (Haiku, kòm deja mansyone, sèvi ak Mesa ak LLVMPipe kòm yon baz pou OpenGL), pou videyo ou ka konte sou Fanpèg oswa fè pwòp solisyon ou (mwen konnen ke Haiku deja itilize FFMpeg entèn, li jis pa posib yo sèvi ak VDPAU oswa lòt API ki sanble san chofè akselere).

Dwèt kwaze!

Pwoblèm #4: yo pa chèche pwogram yo

Mwen konnen deja gen anpil pwogram CLI ki pote sou Haiku, men mwen pa wè yo nan HaikuDepot. Pa gen menm sijesyon. Pa gen okenn "haiku..." oswa "port..." kòmandman sou liy lòd la

~/testing> haikuports
bash: haikuports: command not found

Apre google, mwen jwenn, kote mwen telechaje avrdude soti. Lè w ap kouri, doub-klike sou yon fenèt ki gen depandans ki pa satisfè te parèt. Li ta bon si sa pa rive. (Youn nan rezon ki fè mwen renmen li anpil pakè .app pou Mac ak AppImage pou Linux).

Soti nan devlopè yo mwen te aprann ke "teyorikman" gen sistèm, anpeche sa a. Aparamman li bezwen plis lanmou.

Ki sa ki bezwen fè? Isit la Gen enstriksyon pou moun ki vle pò pwogram Haiku, men pa gen enstriksyon pou moun ki tou senpleman vle sèvi ak pwogram yo pò. Sa a se kote mwen te enplike.

Pwomotè a te di m ': "Nou pa mansyone HaikuPorts paske 99.9% nan itilizatè yo pa oblije konnen oswa pran swen sou egzakteman ki jan pakè sa yo yo kreye epi parèt nan HaikuDepot." Dakò. Pale sou HaikuDepot, ak ki jan yo ka resevwa yon bagay soti nan la, paske koòdone nan HaikuDepot pa montre li (pa egzanp, avrdude cli). Aparamman ta dwe gen yon kaz ki montre aplikasyon CLI nan koòdone HaikuDepot la, men mwen pa t 'jwenn li, oswa petèt li pa egziste. ("Rekòmande" oswa "Tout pakè"... ou bezwen li? Non, mwen pa vle gade nan "tout" pakè, mwen sipoze ke anpil bibliyotèk yo pral montre. Yon bagay tankou bon ansyen an. Synaptik).

Olye de sa mwen jwenn. Mwen menm mwen pa konnen ki jan yo enstale li (Yo di ke HaikuArchives se yon "repozitwa lojisyèl sipòte", epi tou ke "tout pwogram entérésan yo deja nan HaikuPorts" - entegratè yo bezwen).

Apre kèk lòt google, mwen jwenn:

/> pkgman search avrdude​Status Name Description
-------------------------------
avrdude A tool to up/download to AVR microcontrollers

Wow! Li ta bon pou fè ekip sa a pi vizib. Youn nan devlopè yo konfime ke "pkgman se yon analogue cli pou HaikuDepot." Poukisa yo pa te rele l lè sa a? haikudepot?

Premye a tout, mwen enstale command_not_found-0.0.1 ~ git-3-any.hpkg. Koulye a, mwen ka fè sa:

/> file /bin/bash
DEBUG:main:Entered CNF: file
This application is aviaiblible via pkgman install file

solisyon rapid: ajoute command_not_found-*-any.hpkg nan enstalasyon an default.

Devlopè Haiku a kwè ke "nan Haiku, kontrèman ak Linux, pa gen okenn nesesite reyèl pou lòd-pa jwenn" paske "ou ka jis kouri pkgman install cmd:commandname." Oke, ki jan mwen, yon "sèlman mòtèl," ka konnen sou sa?!

Pakè, manadjè pake, depandans. Youn nan Haiku se sètènman pi entelijan pase pifò, men li toujou yon manadjè pake:

/> pkgman install avrdude100% repochecksum-1 [65 bytes]
Validating checksum for Haiku…done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts... done.
100% repocache-2 [951.69 KiB]
Validating checksum for HaikuPorts... done.
Encountered problems:
problem 1: nothing provides lib:libconfuse>=2.7 needed by libftdi-1.4–7
solution 1:
- do not install “providing avrdude”
Please select a solution, skip the problem for now or quit.
select [1/s/q]:

Manadjè pake fè sa manadjè pake toujou fè, kèlkeswa sistèm operasyon an. Gen yon rezon ki fè mwen atire li—èske mwen te di sa, non? - Pou pakè .app ak AppImages.

Anplis de sa, gen kèk aplikasyon sous louvri trè popilè ki manke isit la:

/> pkgman install inkscape
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku…done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts…done.
*** Failed to find a match for “inkscape”: Name not found

Devlopè yo reponn: "Piske pa gen okenn Gtk, pa pral gen okenn Inkscape." Konprann. Yon lòt pwomotè te ajoute: "Men, nou gen WonderBrush etonan." Mwen pa t 'konnen sou sa a, men li pa vizib nan HaikuDepot, e ki kote li ta ye? (Koreksyon: Mwen ta dwe chanje nan "Tout Pakè" tab la! Konplètman rate pwen sa a!)

/> pkgman install gimp
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku... done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts... done.
*** Failed to find a match for “gimp”: Name not found​/> pkgman install arduino
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku... done.
100% repochecksum-1 [64 bytes]​
Validating checksum for HaikuPorts... done.
*** Failed to find a match for “arduino”: Name not found

Mwen konnen ke "arduino te la anvan"... kote tout bagay te ale?

Pami lòt bagay, mwen te sezi pa reyalite a nan "loquacity teknik": anpil liy yo parèt jis pou ke nan fen yo di: "lojisyèl sa a pa disponib."

Pwoblèm # 5: divès kwen ki graj ki bezwen korije

Chanje ant aplikasyon yo

Li raz san alt+tab pou chanje aplikasyon yo. Ctrl+tab travay, men yon jan kanmenm mal.

Konsèy devlopè: Si mwen aktive layout Windows, Cmd ak Ctrl pral chanje kote, epi alt + Tab ap vin abitye. Men, mwen vle santi tankou yon Mac pandan w ap itilize yon klavye PC!

Remak devlopè yo: "Chanje ctrl + tab nan alt + tab pral sipriz kèk itilizatè." Senp solisyon: pèmèt tou de! (Kòm yon itilizatè Mac, Windows ak Linux ak Gnome, KDE, Xfce mwen toujou pa konnen kisa pou m atann).

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
Chanje aplikasyon yo atravè ctrl + tab lè l sèvi avèk Twitcher. Nan kèk kote li parèt, pafwa pa premye fwa

Ki sa ki pi mal: ctrl + tab pafwa montre yon fenèt ak ikon aplikasyon, epi pafwa li pa fè sa. Pami lòt bagay, lòd pou chanje aplikasyon yo sanble o aza: StyledEdit-WebPositive-back StyledEdit-WebPositive-StyledEdit-fenèt ak ikon aplikasyon... Erè lojisyèl? (Èske yon moun konnen si gen yon zouti anrejistreman Gif pou Haiku?) Amannman: Sa a se yon karakteristik, pa yon ensèk.

Yon kout peze ctrl + tab chanje dirèkteman nan aplikasyon anvan an san yo pa montre fenèt Twitcher la. Si ou kenbe konbinezon yo pi lontan, ou jwenn sa mwen deja abitye.

Rakoursi

Si nou pale sou rakoursi klavye, Lè sa a, yon fwa ou reyalize ke tout bagay se menm jan ak Mac a, ou pral otomatikman eseye sèvi ak rakoursi abityèl yo ... Pou egzanp, nan "Open..." ak "Save As..." bwat dyalòg, mwen vle peze alt + d pou tab anyè "k ap travay", ak sou sa.

Devlopè yo "gen opsyon pou ajoute sa a" "nan demann amelyorasyon dosye dyalòg la." Mwen ta kreye yon demann konsa si te gen yon tracker pwoblèm lokal sou GitHub oswa GitLab, kote mwen gen kont.

Men, jan mwen te eksplike pi bonè, mwen pa ka anrejistre nan sistèm yo. (Kòm ou ka devine, mwen vle mete aksan sou fasilite nan travay ak bagay sa yo lè w ap itilize sèvis piblik tankou GitHub oswa GitLab). Amannman: https://dev.haiku-os.org/ticket/15148

Enkonsistans

Aplikasyon Qt ak aplikasyon natif natal diferan nan konpòtman. Pou egzanp, ou ka efase dènye mo a lè l sèvi avèk alt + backspace nan aplikasyon Qt, men se pa nan aplikasyon natif natal. Ka gen lòt diferans lè modifye tèks. Mwen ta renmen wè enkonsistans sa yo retire.

Koreksyon: Mwen poko fin ekri atik sa a (mwen te montre l an premye sou chanèl Haiku dev la pou m rasanble kòmantè) lè li te parèt ke diferans sa a te ranje! Enkwayab! Ki jan mwen renmen pwojè sous louvri! Mèsi, Kasper Kasper!

Nòt

Mwen toujou ap aprann Haiku e li kontinye enpresyone mwen. Menmsi mwen te konsantre sou dekri anmèdman yo jodi a, mwen pa ka ede men raple ou poukisa sistèm operasyon sa a se konsa entrigan. Anba a se kèk egzanp. Jis yon rapèl yo wè ki jan Haiku fè bagay ki konseptyèlman kòrèk.

Si ou double-klike sou yon ègzèkutabl ki pa gen bibliyotèk obligatwa yo, ou pa pral wè anyen nan Linux. Haiku pral montre yon bèl dyalòg grafik ak enfòmasyon sou pwoblèm nan. Mwen te reve sou bagay sa yo nan Linux depi lontan, epi mwen toujou kontan ke li te fè byen nan Haiku. Egzanp sa a montre ke sistèm operasyon an konsistan nan tout nivo. Rezilta a se distenksyon, bote ak senplisite, menm nan ka tankou manyen erè.

Yon gade kaptivan anba kapo a.

Dokiman QuickLaunch la di:

Ka gen 2 rezon ki fè QuickLaunch p ap jwenn aplikasyon an:

  • Aplikasyon an pa sou yon patisyon BeFS, oswa patisyon BeFS la pa fòma pou sipòte demann.
  • Aplikasyon an pa gen bon atribi BEOS:APP_SIG. Nan ka sa a, mande devlopè aplikasyon an pou ajoute li, oswa eseye swiv li
    Konsèy sa a: si w ap itilize yon aplikasyon oswa yon script ki pa parèt nan QuickLaunch (epi li nan yon kote ki ka ekri) - eseye ajoute atribi sa yo nan tèminal la.

    addattr BEOS:TYPE application/x-vnd.Be-elfexecutable /path/to/your/app-or-script

    addattr BEOS:APP_SIG aplikasyon/x-vnd.anything-unique /path/to/your/app-or-script

Sa a bay kèk insight sou ki jan maji tankou Sèvis Lanse, ke mwen kontinye admire, aktyèlman ap travay (epi ki konplètman absan nan anviwònman k ap travay sou Linux).

Pa mwens enteresan se "Louvri ak..."

Chwazi yon fichye, peze alt+I, ak Lè sa a, ekran enfòmasyon an pèmèt ou chwazi ki aplikasyon ki ka louvri yon fichye an patikilye.

Dezyèm jou mwen ak Haiku: kontan, men pa pare pou chanje ankò
Nan Haiku mwen ka pase sou plas aplikasyon an pou louvri yon dosye espesifik. Cool?

Tout bagay sa a ap travay menm si ekstansyon non fichye a manke, epi finalman mwen ka di diferan fichye menm kalite yo louvri nan diferan aplikasyon, ki trè difisil, si se pa prèske enposib, nan anviwònman Desktop Linux.

Konklizyon

Kòm mwen te ekri yè a, Haiku te louvri je m 'epi montre m' ki jan yon anviwònman travay ka "jis travay." Nan dezyèm jou a mwen te jwenn tou kèk bagay ki klèman bezwen amelyorasyon.

Okenn nan yo p ap sispann travay. Mwen vrèman eksite sou avni sistèm operasyon pèsonèl Desktop sa a. Sa a se yon devlopman akeyi pi lwen pase "anviwònman yo Desktop Linux" ki kontinye montre pwoblèm grav ki pa ka rezoud nan fiti prè. pwoblèm achitekti.

Mwen espere pou Haiku.

Eseye li tèt ou! Apre yo tout, pwojè a Haiku bay imaj pou demaraj soti nan DVD oswa USB, pwodwi chak jou. Pou enstale, jis telechaje imaj la epi ekri li nan yon kondwi flash lè l sèvi avèk Etcher

W gen nenpòt kesyon? Nou envite ou nan ki pale Ris la chanèl telegram.

Apèsi sou erè: Ki jan yo tire tèt ou nan pye a nan C ak C++. Haiku OS koleksyon resèt

Soti nan otè a nan tradiksyon an: sa a se dezyèm atik la nan seri a sou Haiku.

Lis atik: Premye a

Sous: www.habr.com

Add nouvo kòmantè