สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง

สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง
การแก้ไขภาพหน้าจอสำหรับบทความนี้ - ในไฮกุ

TL; DR: ประสิทธิภาพดีขึ้นกว่าเดิมมาก ACPI เป็นผู้ถูกตำหนิ การทำงานในเครื่องเสมือนทำงานได้ดีสำหรับการแชร์หน้าจอ Git และตัวจัดการแพ็คเกจถูกสร้างขึ้นในตัวจัดการไฟล์ เครือข่ายไร้สายสาธารณะไม่ทำงาน แห้วกับหลาม

อาทิตย์ที่แล้ว ฉันค้นพบไฮกุ ระบบที่ดีอย่างคาดไม่ถึง และแม้กระทั่งตอนนี้ในสัปดาห์ที่สอง ฉันยังคงพบเพชรที่ซ่อนอยู่มากมายและความประหลาดใจที่น่ายินดี และแน่นอนว่ายังมีส่วนแตกต่างต่างๆ รายสัปดาห์อีกด้วย

การปฏิบัติ

ปรากฎว่าประสิทธิภาพที่น่าหดหู่ในสัปดาห์แรกโดยเฉพาะในเบราว์เซอร์ (เช่น ความล่าช้าในการพิมพ์) อาจเกี่ยวข้องกับการใช้งาน ACPI ที่คดเคี้ยวใน BIOS ของคอมพิวเตอร์ของฉัน

หากต้องการปิดการใช้งาน ACPI ฉันทำ:

sed -i -e 's|#acpi false|acpi false|g' /boot/home/config/settings/kernel/drivers/kernel

และรีบูต ตอนนี้ระบบของฉันก็ตอบสนองอย่างรวดเร็วในที่สุด อย่างที่ผู้ตรวจสอบคนอื่นๆ ระบุไว้ในอดีต แต่ด้วยเหตุนี้ ฉันไม่สามารถรีบูตได้อีกต่อไปหากไม่มีเคอร์เนลตื่นตระหนก (สามารถปิดระบบได้ด้วยข้อความ "คุณสามารถปิดเครื่องคอมพิวเตอร์ได้แล้ว")

ACPI, DSDT, IASL

โอ้ เป็นไปได้มากว่าคุณจะต้องทำการดีบัก ACPI ฉันจำบางอย่างเกี่ยวกับเรื่องนี้ได้ตั้งแต่สมัยที่ฉันทำงานกับ PureDarwin เพราะเคอร์เนล xnu มักจะต้องการไฟล์คงที่ DSDT.aml

ไปกันเถอะ...

การดาวน์โหลดและการเก็บรวบรวม iasl, ดีบักเกอร์ ACPI ของ Intel. จริงๆ แล้วไม่ มันได้ถูกย้ายแล้ว:

~>  pkgman install iasl

ฉันบันทึกตาราง ACPI:

~> acpidump  -o DSDT.dat
Cannot open directory - /sys/firmware/acpi/tables
Could not get ACPI tables, AE_NOT_FOUND

ปรากฎว่ามันใช้งานไม่ได้ใน Haiku ฉันตัดสินใจรีบูตเป็น Linux และลบเนื้อหา ACPI ที่นั่น จากนั้นฉันแก้ไขข้อผิดพลาดโดยใช้ iasl โปรแกรมแก้ไขข้อความ ความรู้บางอย่าง (คุณสามารถใช้ Google "แก้ไข patch dsdt") และความอดทนอย่างมาก อย่างไรก็ตาม ด้วยเหตุนี้ ฉันจึงยังไม่สามารถดาวน์โหลด DSDT ที่แพตช์แล้วโดยใช้โปรแกรมดาวน์โหลด Haiku ได้ วิธีแก้ไขที่ถูกต้องอาจเป็นการโอน ACPI แพทช์ทันทีลงใน Haiku bootloader (ประมาณเดียวกันกับสิ่งนี้ ทำให้ Clover bootloaderการแก้ไข DSDT ได้ทันทีตามฉลากและรูปแบบ) ฉันเปิด ขอร้อง.

เครื่องเสมือน

โดยทั่วไปแล้ว ฉันไม่ใช่แฟนของเครื่องเสมือน เนื่องจากส่วนใหญ่มักจะใช้ RAM และทรัพยากรอื่น ๆ ที่ฉันมีอยู่มากกว่า นอกจากนี้ฉันไม่ชอบค่าใช้จ่ายด้านบน แต่ฉันต้องเสี่ยงและใช้ VM เนื่องจากไฮกุยังไม่รู้วิธีบันทึกวิดีโอพร้อมเสียง (เนื่องจากอุปกรณ์ของฉันไม่มีไดรเวอร์เสียงและมีการ์ดเชื่อมต่อผ่าน usb1 (เวอร์ชันแรก) และไดรเวอร์ ต้องประกอบด้วยตนเอง) สิ่งที่ฉันต้องการจะพูด: สำหรับ การตัดสินใจดังกล่าว ฉันได้รับผลลัพธ์ที่ดีมากเมื่อสร้างการออกอากาศวิดีโอของฉัน ปรากฎว่า Virtual Machine Manager เป็นสิ่งมหัศจรรย์อย่างแท้จริง บางที RedHat อาจลงทุนเงินด้านวิศวกรรมทั้งหมดไปกับซอฟต์แวร์นี้ (ซึ่งฉันเพิกเฉยมาเป็นเวลา 15 ปี) ไม่ว่าในกรณีใด ทำให้ฉันประหลาดใจอย่างยิ่งที่ Haiku เสมือนจริงทำงานได้เร็วกว่าฮาร์ดแวร์ตัวเดียวกันเล็กน้อย (แทบไม่น่าเชื่อ แต่สำหรับฉันแล้วดูเหมือนว่าเป็นเช่นนั้น) [ฉันไม่คิดว่าจะมีประสบการณ์คล้ายกันในปี 2007 กับ Centos5 ที่เพิ่งเปิดตัว ซึ่งสามารถติดตั้งเวอร์ชวลไลซ์ใน Xen ได้ — ประมาณ นักแปล]

การออกอากาศวิดีโอ

มันมากเกินไปสำหรับความชอบของฉันนิดหน่อย ดังนั้นฉันจึงบันทึกคำแนะนำทีละขั้นตอน (ส่วนใหญ่สำหรับตัวเองไว้เล่นทีหลัง) แต่คุณยังสามารถใช้ข้อมูลนี้เพื่อบันทึกวิดีโอสตรีมไฮกุของคุณได้ (ซึ่งคุ้มค่าแก่การลองอย่างแน่นอน) ).

สั้น ๆ :

  • ใช้หูฟังที่ดีและการ์ดเสียง USB C-Media
  • บูตคอมพิวเตอร์ของคุณโดยใช้อิมเมจสด Pop!OS NVIDIA (สำหรับการเข้ารหัส nvenc ที่เร่งด้วยฮาร์ดแวร์)
  • ดาวน์โหลดรูปภาพกลางคืน Haiku Anyboot 64 บิต
  • ตั้งค่า KVM ตามที่อธิบายไว้ในบทความด้านบน
  • ดาวน์โหลด OBS Studio AppImage (อย่าลืมบอกนักพัฒนาว่าต้องการอย่างเป็นทางการ)
  • เพิ่มตัวกรองการลดเสียงรบกวนให้กับเสียงเดสก์ท็อป (คลิกขวาที่เสียงเดสก์ท็อป จากนั้น "ตัวกรอง" จากนั้น "+" จากนั้น "ลดเสียงรบกวน" ปล่อยให้ระดับเป็นค่าเริ่มต้น)
  • ไปที่การตั้งค่าเสียงใน XFCE
  • คลิกขวาที่ Desktop Audio จากนั้นเลือก "Properties" เลือกอุปกรณ์ "Audio Adapter Analog Stereo"
  • ไปที่เมนู XFCE "พื้นที่ทำงาน"
  • กำหนดจำนวนเดสก์ท็อปที่นั่น: 2
  • Ctr-Alt-RightArrow จะสลับไปที่เดสก์ท็อปตัวที่สอง
  • แก้ไขทางลัดเพื่อเปิดตัว Virtual Machine Manager เพื่อให้ทำงานเป็นรูท (โดยการเพิ่ม sudo) ไม่เช่นนั้นมันไม่ได้ผลสำหรับฉัน
  • เปิด Haiku บนเดสก์ท็อปตัวที่สอง
  • บูตไปที่เดสก์ท็อปของเธอ ตั้งค่าความละเอียดเป็น FullHD (ฉันไม่สามารถให้ Haiku ทำสิ่งนี้โดยอัตโนมัติ อาจมีวิธีบังคับให้ QEMUKVM ส่ง EDID จากจอภาพ แต่ฉันไม่พบการตั้งค่าดังกล่าวใน Virtual Machine ผู้จัดการ) [ฉันต้องติดตั้งการ์ดจออีกอันแล้วส่งต่อให้ไฮกุ... - ประมาณ XNUMX นาที นักแปล]
  • กด Ctrl+Alt เพื่อเปลี่ยนคีย์บอร์ดและเมาส์กลับเป็น Linux
  • Ctr-Alt-LeftArrow จะสลับไปที่เดสก์ท็อปแรก
  • ใน OBS เพิ่ม "Window Capture (XComposite)" และเลือกหน้าต่าง "Haiku บน QEMUKVM" เปิดช่องทำเครื่องหมาย "Swap red and blue"
  • บันทึกวิดีโอ แก้ไขด้วย Shotcut (เรียกใช้เป็นรูทเพื่อให้การเร่งด้วยฮาร์ดแวร์ nvenc ทำงาน)
  • เพลงประกอบจากคลังเพลง YouTube "Timelapsed Tides" ฟิลเตอร์: “เสียงเฟดเข้า”, “เสียงเฟดออก”, ระดับเสียง -35db (เอาล่ะ เพียงพอแล้ว นี่ไม่ใช่คำสั่งสำหรับ Shotcut)
  • ส่งออก YouTube ดาวน์โหลด วิดีโอจะกลายเป็น FullHD บน YouTube โดยไม่มีการประมวลผลพิเศษใดๆ

Voila!

https://youtu.be/CGs-lZEk1h8
สตรีมวิดีโอไฮกุด้วย QEMUKVM, การ์ดเสียง USB, OBS Studio และ Shotcut

ฉันมีความสุข แม้ว่าฉันจะมีความสุขกว่านี้มากหากการ์ดเสียง, OBS Studio และ Shotcut ทำงานใน Haiku ได้ และฉันไม่ต้องผ่านการตั้งค่าที่ยาวขนาดนี้ [ฉันจะใช้ VirtualBox ทุกอย่างอยู่ที่นั่นทันทีเพื่อบันทึกวิดีโอที่ออกอากาศในการตั้งค่าของเครื่องเสมือน — ประมาณ นักแปล]

Tracker และส่วนเสริม

Tracker for Haiku เหมือนกับ Finder บน Mac หรือ Explorer บน Windows ฉันจะลองค้นหา tracker add-on ที่ไฮกุดีโป

การรวม Git ในตัวจัดการไฟล์

เพียงอ้างอิงภาพจากหน้าแรกของเขา

สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง
TrackGit รวมอยู่ในตัวจัดการไฟล์ไฮกุ

สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง
คุณสามารถโคลนพื้นที่เก็บข้อมูลได้

นี่มันอะไรกัน ล้อเล่นใช่ไหม! รหัสผ่านข้อความธรรมดา? น่าแปลกที่พวกเขาไม่ใช้ "พวงกุญแจ" เพราะไฮกุมี BKeyStore สำหรับสิ่งนั้น ทิ้งคำขอไว้.

สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง
รหัสผ่านข้อความธรรมดา?

การรวมตัวจัดการแพ็คเกจเข้ากับตัวจัดการไฟล์

ตามหน้าแรกของโครงการ:

ค้นหาแพ็คเกจของไฟล์ที่เลือก โดยเปิดในแอปพลิเคชันที่คุณต้องการ ตามค่าเริ่มต้น นี่คือ HaikuDepot ซึ่งคุณสามารถดูคำอธิบายของแพ็คเกจได้ และในแท็บ "เนื้อหา" คุณจะเห็นไฟล์อื่น ๆ ที่เป็นส่วนหนึ่งของแพ็คเกจนี้ รวมถึงตำแหน่งของไฟล์ด้วย

อาจเหลือเพียงขั้นตอนเดียวในการนำแพ็คเกจออก...

เริ่มอัตโนมัติ/rc.local.d

คุณจะเริ่มบางสิ่งโดยอัตโนมัติเมื่อบูทได้อย่างไร?

  • rc.local.d = /boot/home/config/settings/boot/userbootscript
  • สตาร์ทอัตโนมัติ = /boot/home/config/settings/boot/user/launch

ฉันจำเป็นต้องค้นหาคำสั่งเพื่อซิงโครไนซ์เวลาท้องถิ่นผ่าน NTP... ฉันได้ยินมาว่าโดยทั่วไปแล้วคำสั่งนี้ควรจะทำงานโดยอัตโนมัติ แต่ด้วยเหตุผลบางอย่างมันใช้ไม่ได้สำหรับฉัน ซึ่งแย่เกินไปเพราะฉันมีแบตเตอรี่หมดสำหรับ RTC ซึ่งหมายความว่าเวลาจะถูกรีเซ็ตเมื่อถอดปลั๊กออก

เคล็ดลับเพิ่มเติม

ใบสมัคร tipster แสดงคำแนะนำและเคล็ดลับที่เป็นประโยชน์ (ลองดู!)

เครือข่ายไร้สายสาธารณะ

ฉันไม่สามารถเชื่อมต่อกับเครือข่ายไร้สายในขณะที่เดินได้ แม้ว่าเครือข่ายไร้สายที่บ้านของฉันกำลังใช้งานได้ก็ตาม สถานที่สาธารณะ (สนามบิน โรงแรม สถานีรถไฟ) มักจะถูกปกคลุมไปด้วยเครือข่ายไร้สายหลายเครือข่าย ซึ่งแต่ละแห่งมักจะประกอบด้วยจุดเชื่อมต่อหลายจุด

สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง
สถานีกลางแฟรงก์เฟิร์ต

เราจะเจออะไรบ้าง. สถานีรถไฟแฟรงค์เฟิร์ต? เครือข่ายที่แตกต่างกันมากมาย:

สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง
สถานการณ์ทั่วไปสำหรับสถานที่สาธารณะ ที่นี่: สถานีกลางแฟรงก์เฟิร์ต

มีความเป็นไปได้มากเกินพอสำหรับการเชื่อมต่อ Haiky ทำอะไรกับเครือข่ายเหล่านี้? ในความเป็นจริงไม่มาก: เขาสับสนมากในตัวพวกเขา ท้ายที่สุดฉันก็ถูกตัดการเชื่อมต่อจากเครือข่ายตลอดเวลา

การถ่ายโอนจุดเข้าใช้งานไม่ทำงาน?

ทุกอย่างเริ่มต้นจากการที่จุดเชื่อมต่อแต่ละจุดแสดงแยกกัน แม้ว่าจะอยู่ในเครือข่ายเดียวกันที่มี SSID เดียวกันก็ตาม ซึ่งไม่เหมือนกับระบบปฏิบัติการอื่นใดที่ฉันคุ้นเคย

สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง
มีการแสดงหลายจุดที่มี SSID เดียวกัน การส่งมอบจะทำงานอย่างไรในสภาวะเช่นนี้?

และควรแสดง SSID เดียวเท่านั้น โดยจะเลือกจุดเข้าใช้งานที่มีสัญญาณแรงที่สุด ไคลเอนต์จะต้องเลือกจุดอื่นที่มีสัญญาณแรงกว่า แต่ใช้ SSID เดียวกัน (ถ้ามี) หากการเชื่อมต่อกับจุดเชื่อมต่อปัจจุบันอ่อนเกินไป - ทุกอย่างทำงานได้แม้ในขณะเคลื่อนที่ (การส่งมอบไคลเอนต์ระหว่างจุดเชื่อมต่อ) สร้างคำขอแล้ว.

ไม่มีเครือข่ายแบบเปิดใช่ไหม?

สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง
ไฮกุยันต้องมีรหัสผ่านแม้ว่าเครือข่ายจะเปิดอยู่ก็ตาม

ไฮกุยังคงต้องการรหัสผ่านเครือข่าย แม้ว่าตัวเครือข่ายเองก็ไม่ต้องการรหัสผ่านใดๆ ก็ตาม อีกด้วย สร้างคำขอ.

สับสนเรื่องพอร์ทัลเชลยเหรอ?

เครือข่ายไร้สายจำนวนมากใช้พอร์ทัลแบบ Captive ซึ่งผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบซึ่งสามารถยอมรับข้อกำหนดและข้อตกลงก่อนที่จะใช้เครือข่าย นี่อาจทำให้ระบบปฏิบัติการของฉันสับสนมากยิ่งขึ้น ท้ายที่สุดแล้ว ระบบย่อยไร้สายของฉันก็ถูกบล็อกโดยสิ้นเชิง

สัปดาห์ที่สองของฉันกับไฮกุ: เพชรที่ซ่อนอยู่มากมาย ความประหลาดใจที่น่ายินดี รวมถึงความท้าทายบางอย่าง
หลังจากนั้นครู่หนึ่ง ระบบย่อยไร้สายทั้งหมดก็ถูกบล็อกโดยสมบูรณ์

ไม่สามารถเข้าถึงเครือข่ายขณะเดินทาง เศร้า และเศร้าโศก

หงุดหงิดกับ Python

จะรันโปรแกรม "สุ่ม" ใน Python ได้อย่างง่ายดายและง่ายดายได้อย่างไร ปรากฎว่าไม่ใช่ทุกอย่างจะง่ายนัก อย่างน้อยฉันก็ไม่ได้เข้าใจทุกอย่างอย่างถ่องแท้...

git clone https://github.com/micahflee/onionshare.git
cd onionsharepython3 -m venv venv
pkgman i setuptools_python36 # pkgman i setuptools_python installs for 3.7
pip3 install -r install/requirements.txt

Could not find a version that satisfies the requirement PyQt5==5.12.1 (from -r install/requirements.txt (line 15)) (from versions: )
No matching distribution found for PyQt5==5.12.1 (from -r install/requirements.txt (line 15))

# stalled here - does not continue or exit

pkgman i pyqt

# No change, same error; how do I get it into the venv?
# Trying outside of venv

Could not find a version that satisfies the requirement PyQt5==5.12.1 (from -r install/requirements.txt (line 15)) (from versions: )
No matching distribution found for PyQt5==5.12.1 (from -r install/requirements.txt (line 15))

ถูกระงับ pip เป็นปัญหาที่ทราบแล้ว (ต้องการการสนับสนุนสำหรับฮาร์ดลิงก์ ซึ่งไม่รองรับในไฮกุ) พวกเขาบอกฉันว่าจะใช้อะไร python3.6 (ผมว่ามันเป็นเรื่องวุ่นวายนะ) เปิดแล้ว แอปพลิเคชันด้วย pip

เราจะไปที่ไหนต่อไป?

ไฮกุเป็นตัวอย่างของระบบปฏิบัติการพีซีที่มุ่งเน้น และมีหลักการที่ดีเยี่ยมซึ่งทำให้ขั้นตอนการทำงานโดยรวมง่ายขึ้นอย่างมาก การพัฒนามีความเสถียรแต่ช้าในช่วง 10 ปีที่ผ่านมา ส่งผลให้การสนับสนุนฮาร์ดแวร์ยังคงมีค่อนข้างจำกัด และระบบเองก็ยังไม่เป็นที่รู้จักมากนัก แต่สถานการณ์กำลังเปลี่ยนแปลง: การสนับสนุนฮาร์ดแวร์ทำให้สามารถเรียกใช้ Haiku บนเครื่องได้ค่อนข้างหลากหลาย (แม้ว่าจะมีข้อผิดพลาด) และเนื่องจากเวอร์ชันของระบบไม่ใช่ 1.0 ระบบจึงต้องดึงดูดความสนใจจากสาธารณชนให้มากขึ้น ฉันจะช่วยได้ดีที่สุดได้อย่างไร? ฉันเชื่อว่าบทความชุดนี้จะมีประโยชน์ หลังจากผ่านไป 2 สัปดาห์ I เริ่ม รายงานข้อบกพร่องและเริ่มออกอากาศวิดีโอชุดหนึ่ง

ฉันขอแสดงความขอบคุณอย่างสุดซึ้งต่อทีมพัฒนาไฮกุอีกครั้ง คุณเก่งที่สุด! โปรดแจ้งให้เราทราบหากคุณคิดว่าฉันสามารถมีส่วนร่วมในการพัฒนาโครงการได้อย่างไร แม้ว่าฉันจะไม่มีแผนที่จะเขียนด้วยภาษา C++ ในอนาคตอันใกล้นี้ก็ตาม

ลองด้วยตัวเอง! ท้ายที่สุดแล้ว โปรเจ็กต์ Haiku ได้จัดเตรียมอิมเมจสำหรับการบูทจาก DVD หรือ USB ที่สร้างขึ้น ประจำวัน.
คุณมีคำถามใดๆ? เราขอเชิญคุณเข้าร่วมการพูดภาษารัสเซีย ช่องโทรเลข.

probono เป็นผู้ก่อตั้งและหัวหน้าผู้พัฒนาโครงการ AppImage ผู้ก่อตั้งโครงการ PureDarwin และผู้มีส่วนร่วมในโครงการโอเพ่นซอร์สต่างๆ ภาพหน้าจอถูกถ่ายในไฮกุ ขอขอบคุณนักพัฒนาในช่อง #haiku บน irc.freenode.net

ภาพรวมข้อผิดพลาด: วิธียิงตัวเองด้วย C และ C++ รวมสูตร Haiku OS

จาก นักบิน การแปล: นี่เป็นบทความที่เก้าและเป็นบทความสุดท้ายของซีรีส์เกี่ยวกับไฮกุ

รายการบทความ: เป็นครั้งแรก สอง สาม ที่สี่ ที่ห้า ที่หก ที่เจ็ด แปด

ที่มา: will.com

เพิ่มความคิดเห็น