
TL;博士:我很欣赏Haiku,但还有一些需要改进的地方
昨天我学习了Haiku ,这是一个令我惊喜的操作系统。 第二天 正确理解:我仍然很高兴在Linux桌面环境中完成工作很容易。 我渴望学习它的工作原理,并且我也热衷于每天使用它。 的确,全面过渡的日子尚未到来:我不想受苦。

WonderBrush光栅图形编辑器-如果您知道在哪里可以找到它
基本上,期望版本低于1.0。 但是,不要低估这些惊人的成就,要记住Mac OS X的预发行日期,并考虑到Haiku团队的规模。
我通常会表达对#LinuxUsability的想法( 第1部分 , 第2部分 , 第3部分 , 第4部分 , 第5 部分 , 第6部分 ),因此对于Haiku在可用性方面的独到之处,请不要感到惊讶。 幸运的是,其中大多数与各种改进有关。
这是序言,现在让我们将注意力转移到一些麻烦上。
故障1:浏览器问题
有3 种基于WebKit的浏览器 :主要的一种( WebPositive )和Qt上的两种其他浏览器 (QupZilla,过时的名称Falkon和OtterBrowser ),可以从存储库中安装。 它们均无法正常工作。 主浏览器在功能和渲染方面存在问题(例如,进入Haiku bugtracker时无法解决验证码),其他浏览器在Haiku上存在较大的性能问题。

这就是Haiku的主要浏览器WebPositive中的Twitter外观
QupZilla和OtterBrowser严重落后于与Internet的不可靠连接(例如,在火车上)。 如果数据不能顺利滚动,则无法在选项卡之间切换。 只要当前的新标签页正在通过网络加载数据,打开一个新标签页是不现实的。 尽管负载很低,但一切都是愚蠢的。 可能浏览器未针对Haiku多线程进行完全优化,或者Haiku存在其他问题[在Linux上,有时我也遇到这种情况- 大约。 翻译者 ]。
使用QupZilla,我无法在Medium上写任何东西...
苹果已经做了很多工作,以确保稳定的浏览器性能和出色的性能 。 在我看来,这些投资将在Haiku上获得回报。 尤其是考虑到Web应用程序的重要性日益提高,并且鉴于本机应用程序尚未在所有用例中都可用,这一点尤其重要。
Kenneth Kocienda和Richard Williamson的故事:Safari和Webkit是如何诞生的
故障2:启动器和扩展坞
屏幕右上角是Deskbar ,它是从Windows“开始”菜单制作的,带有Dock功能和其他一些功能。

桌面栏
由于它可能是BeOS用户体验的关键要素,因此它缺乏现代工作环境的功能:我需要一个通过Alt + space启动的程序启动器,例如Spotlight 。 单击运行应用程序很慢。 有一个看起来像Stirlitz卧底的“查找”工具,但是即使您加快了速度,它也不能方便地启动应用程序。

Command + Space在Mac OS X Leopard上引起关注
HaikuDepot中安装了LnLauncher 。 刚开始时,它是完全空的,并且不清楚如何添加任何内容。 此外,如果没有明显的更改位置的方法,它就不会出现在屏幕上非常方便的位置。 那么,如何像Mac OS X中的Dock一样将其放在屏幕的左侧或底部? 我认为这种情况下的UX无法识别。
DockBert也从HaikuDepot安装。 已经更好了。 它显示在屏幕的底部。 我没想到图标的顺序会颠倒:篮子只是开始,但总的来说看起来很有希望。
如何默认设置它而不是Deskbar? 如果您单击DockBert中的Deskbar图标并选择“关闭”,则它当然会关闭...并在半秒钟后出现。 (开发人员说,从原则上讲,这是DockBert中的错误)。 如果DockBert足够聪明,了解用户的需求并做到这一点,那就太好了。 默认情况下,DockBert中没有应用程序图标,但显示为“在此处拖动”,因此您知道如何添加所有内容。 但是,我无法删除应用程序-既不能通过右键单击,也不能从DockBert中拖动图标。
我正在尝试HiQDock 。 我不小心在第三方存储库中找到了它。 它看起来像我想要的方式。 专注于“外观”。 由于尚无法使用:Beta版本仍然可用。 它是用Qt4编写的,所以我怀疑它将被带到安装映像中。

HiQDock。
原则上,不仅我相信Dock和Launcher的情况很复杂。 我什至找到了有关该主题的整篇文章 。

快速启动
然后,我了解了QuickLaunch ,建议通过在“快捷方式”设置中添加按钮组合来启动它。

Haiku中的快捷方式设置
如果默认情况下将此类事情配置为“正常工作”,那就太好了。 我说过Alt + Space吗? 好吧,原则上,QuickLaunch可能会询问您是否需要在首次启动时配置键盘快捷键。 在“快捷方式”设置中执行此操作比较麻烦。

建议在“快捷方式”设置中输入“应用程序”的窗口。 不要开玩笑
我敢打赌,大多数用户不知道作为“应用程序”输入的内容,即: /boot/system/apps/QuickLaunch
(只是QuickLaunch
不起作用)。
快速解决方案:默认情况下设置QuickLaunch,默认情况下为其分配快捷键alt +空格。
幸运的是,我从开发人员那里得到的信息是,在某些时候,他们可能会将其包括在内,作为对旧的Deskbar的改进或替代。 也许……有一天……交叉我们的手指! (留下一个请求,否则将永远不会。 这里 )。 另一位开发人员说了这样的话:“我认为,遵循Windows的路径,即在开始菜单中包含搜索字段,对于Beta版本来说很容易,我想这对许多人来说都非常重要。” 我同意! (再次:是否申请)。
为什么QuickLaunch在/boot/system/apps
和/boot/system/bin
找到一个要两次截图的程序? 开发人员知道,如/boot/system/apps/QuickLaunch/ReadMe.html文件中所示。
/ system / bin之前没有经过处理,移植的程序通常最终位于/ bin目录中,这是一个坏主意。 您可以删除不需要的CLI应用程序,例如,使用上下文菜单中的“添加到忽略列表”按钮
快速解决方案:使用/ system / bin过滤应用程序,它们也存在于/ system / apps中
故障三:没有硬件加速
BeOS充满了演示程序。 没有多个播放不同视频的窗口,没有一个BeOS视频是完整的。 当时是一个了不起的成就。 Haiku带有3D演示,其中显示了3D字体在空间中移动。 (嘿,Haiku还没准备好进行IPO,是吧?)
Haiku基于1995年的BeOS。 当时,它可以在两个PowerPC 603处理器上工作,时钟频率为66 MHz
我们希望在音频和视频领域成为Linux。
-Jean-Louis Hesse ,首席执行官
令人惊讶的是,在Haiku中,视频和3D实际上并不是硬件加速的。 我猜也是游戏。
先生的开发商。 waddlesplash和Alex von Gluck拥有有关硬件加速的文档(“大约需要两个工时”)。 3D加速将通过Mesa(如前所述,Haiku使用Mesa和LLVMPipe作为OpenGL的基础),对于视频,您可以依赖FFmpeg或制定自己的解决方案(我知道Haiku已经在内部使用了FFMpeg,没有加速驱动程序就无法使用VDPAU或其他类似的API)。
交叉手指!
问题4:未搜索到程序
我知道已经有许多CLI程序已移植到Haiku,但在HaikuDepot中看不到它们。 甚至没有提示。 命令行上没有“ haiku ...”或“ port ...”命令
~/testing> haikuports bash: haikuports: command not found
谷歌搜索,我发现我在哪里下载了avrdude。 通过双击启动时,出现一个窗口,该窗口具有不满意的依赖性。 如果这没有发生,那就太好了。 (我之所以非常喜欢Mac的.app和Linux 软件包的 AppImage的原因之一)。
我从开发人员那里了解到,“理论上”有一种防止这种情况的系统 。 显然她需要更多的爱。
应该怎么办? 对于那些希望将程序移植到Haiku的人有说明,但是对于那些只想使用已移植程序的人没有说明。 那就是我进去的地方。
开发人员告诉我:“我们没有提及HaikuPorts,因为不需要99.9%的用户知道或关心这些软件包的创建方式和出现在HaikuDepot中的方式。” 我同意 讨论HaikuDepot以及如何从其中获取某些东西,因为HaikuDepot界面未显示它(例如avrdude cli)。 显然,应该有一个标志在HaikuDepot界面中显示CLI应用程序,但是我没有找到它,或者也许它不存在。 (“推荐”或“所有软件包” ...您需要吗?不,我不想看“所有”软件包,我想会显示很多库。类似旧的Synaptic的东西)。
相反,我发现了 。 另外,我也不知道如何安装(他们说HaikuArchives是“受支持的软件的存储库”,并且“所有有价值的程序已经在HaikuPorts中”,我们需要集成商)。
只是一个谷歌,我发现:
/> pkgman search avrdudeStatus Name Description ------------------------------- avrdude A tool to up/download to AVR microcontrollers
哇! 使这个团队更加可见将是很好的。 一位开发人员证实“ pkgman是HaikuDepot的cli类似物”。 那她为什么不叫haikudepot
?
我做的第一件事是设置command_not_found-0.0.1〜git-3-any.hpkg。 现在,我可以这样做:
/> file /bin/bash DEBUG:main:Entered CNF: file This application is aviaiblible via pkgman install file
快速修复:将command_not_found-*-any.hpkg
添加到默认安装。
Haiku开发人员认为,“在Haiku中,与Linux不同,没有真正的命令未找到需求”,因为“您可以运行pkgman install cmd:commandname”。 好吧,“凡人”我怎么知道这件事呢?
包,包管理器,依赖项。 Haiku中的一个肯定比大多数人聪明得多,但仍然是一个程序包管理器:
/> 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]:
软件包管理器以某种方式执行软件包管理器始终执行的操作,而与操作系统无关。 我被吸引是有原因的-我已经说过了,不是吗? - 打包 .app和AppImages 。
除此之外,还缺少一些非常流行的开源应用程序:
/> 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
开发人员的答案是:“因为没有Gtk,所以不会有Inkscape。” 知道了 另一位开发人员补充说:“但是我们有一个了不起的WonderBrush。” 我对此一无所知,但您在HaikuDepot中看不到它,从哪里来? (更正:有必要切换到“所有软件包”标签!完全错过了这一点!)
/> 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
我知道“ arduino以前在那里” ...所有东西都去了哪里?
除其他外,我对“技术健谈”的事实感到惊讶:显示了如此多的行,结果最终却显示:“此软件不可用。”
故障5:值得修复的各种粗糙度
在应用之间切换
不用alt + Tab即可切换应用程序。 Ctrl + Tab可以工作,但是有点歪斜。
开发人员的提示:如果我从Windows打开布局,则Cmd和Ctrl将切换位置,而alt + Tab将变得熟悉。 但是我想在使用PC键盘时感觉到Mac!
开发人员的注意事项:“将ctrl + Tab切换为alt + Tab将使某些用户感到惊讶。” 简单的解决方案:两者都启用! (我作为使用Gnome,KDE,Xfce的Mac,Windows和Linux用户仍然不知道会发生什么)。

使用Twitcher通过Ctrl + Tab切换应用程序。 在某些地方出现,有时不是第一次
更糟糕的是:Ctrl + Tab有时会显示一个带有应用程序图标的窗口,有时则不会。 除其他外,切换应用程序的顺序看起来是随机的:带应用程序图标的StyledEdit-WebPositive-back StyledEdit-WebPositive-StyledEdit-窗口...软件错误? (也许有人知道Haiku是否有Gif图像记录工具?) 纠正 :这是一个功能,不是错误。
短按ctrl +选项卡组合将直接切换到上一个应用程序,而不显示Twitcher窗口。 如果您持有这些组合的时间更长,那么事实证明我已经习惯了。
捷径
如果我们谈论键盘快捷键,一旦您意识到一切都与Mac相似,您将自动尝试使用常用的键盘快捷键...例如,在“打开...”和“另存为...”对话框中,我想按alt + d用于桌面目录,依此类推。
开发人员“有机会添加此内容”,“在应用程序中进行有关文件对话框的改进”。 我将创建这样一个应用程序,成为我有帐户的GitHub或GitLab上的本地问题跟踪器。
但是,正如我之前解释的,我无法在他们的系统中注册。 (正如您可能已经猜到的,我想强调在使用诸如GitHub或GitLab之类的公共服务时,使用此类工具的简易性)。 修正案: https : //dev.haiku-os.org/ticket/15148
差异
Qt应用程序和本机应用程序的行为不同。 例如,您可以在Qt应用程序中使用alt +退格键删除最后一个单词,但不能在本机应用程序中删除。 编辑文字时可能会有其他差异。 我希望看到这些不一致之处。
更正:我还没有写完这篇文章(我首先在Haiku开发人员频道上展示了该文章以收集评论),因为事实证明这种差异已得到解决! 太不可思议了! 我多么喜欢开源项目! 感谢Kacper Kasper
注意事项
我仍在学习Haiku,她继续给我留下深刻的印象。 尽管事实上我今天专注于描述问题,但我不得不回想为什么这个操作系统如此吸引人。 以下是一些示例。 提醒您看一下Haiku在概念上做得如何正确。
如果双击没有所需库的可执行文件,则在Linux上看不到任何内容。 Haiku将有一个漂亮的图形对话框,其中包含有关该问题的信息。 我一直梦想在Linux中实现这些功能,但仍然很高兴在Haiku中正确完成了这些事情。 此示例表明操作系统在所有级别上都是一致的。 结果是优雅,美观和简单,即使在诸如错误处理之类的情况下也是如此。
引擎盖下令人着迷的窥视。
QuickLaunch文档说:
QuickLaunch无法找到该应用程序可能有两个原因:
- 该应用程序不在BeFS分区上,或者BeFS分区未格式化为支持请求。
- 该应用程序没有适当的BEOS属性:APP_SIG。 在这种情况下,请应用程序开发人员添加它,或尝试遵循
这样的建议:如果您使用的应用程序或脚本未出现在QuickLaunch中(并且位于可写位置),请尝试在终端中添加这些属性。
addattr BEOS:TYPE application / x-vnd.Be-elfexecutable / path /到/ your / app-or-script
addattr BEOS:APP_SIG应用程序/ x-vnd.anything-unique /路径/到/您的/应用或脚本
这使我们可以深入了解启动服务之类的魔术的实际工作原理,而我仍会对此敬佩( Linux桌面环境中完全没有这种魔术)。
同样令人兴奋的是“用...打开”
选择一个文件,按alt + I,然后在信息屏幕上可以选择哪个应用程序可以打开特定文件。

在Haiku中,我可以覆盖该应用程序以打开一个特定文件。 很酷
所有这些工作,即使缺少扩展名,我最终也可以为同一类型的不同文件指出它们应在不同的应用程序中打开,这在Linux工作环境中非常困难,即使几乎不可能。
结论
正如我昨天写的那样,Hai句睁开了眼睛,向人们展示了工作环境如何“可以正常工作”。 在第二天,我还发现了几个明显需要改进的地方。
他们都不会停止工作。 我对这个个人桌面操作系统的未来感到非常兴奋。 这是“ Linux桌面环境”之外期待已久的开发,在不久的将来它将继续显示出严重的,无法解决的体系结构问题 。
希望Hai句。
自己尝试! 毕竟,Haiku项目每天都会从DVD或USB提供下载图像。 要安装,只需下载图像并使用Etcher将其写入USB闪存驱动器
有问题吗? 我们邀请您访问俄语电报频道 。
错误概述: 如何在C和C ++中扎根。 Haiku OS食谱集
翻译作者的话:这是Haiku系列的第二篇文章。
文章列表: 第一,第二, 第三, 第四, 第五, 第六, 第七, 第八, 第九