我与Hai句的第一天:她出奇地好


TL:DR; 新手第一次尝试Haiku并认为她很棒。 特别是与Linux上可用的工作环境相比


我已经分享了有关#LinuxUsability( 第1 部分第2 部分第3 部分第4 部分第5 部分第6部分 )的想法(以及令人失望的地方 )。 在这篇评论中,我将描述Haiku (个人计算机的开源操作系统)的第一印象。 有时第一印象很有用,但是由于您一次只能得到第一印象-我在这里保存了我的信息。



我正在撰写此评论的系统


它们可能对Haiku开发人员和/或其他相关方有用。
在某个地方,我可能是错的,因为我只是描述了个人的(初读:蓝眼睛)第一次体验。 另外,irc.freenode.net网络上#haiku频道上的友好人员也向我提供了提示-我还将发布它们。 谢谢Haiku开发人员!


我想说的是:Haiku尚不是100%完美,但它已经具有紧密的工作环境。


安装方式


Haiku项目每天提供可启动的 CD或DVD映像。 我使用了USB-3闪存驱动器。 有人告诉我从USB-3引导可能不起作用,但是在我的两个基于Intel的测试系统上,一切都可以正常工作。


我本人通过下载64位映像开始我自己的安装过程,然后使用Etcher将其记录到USB闪存驱动器上。 有无EFI均可进行下载-我的掌声提供了这样的图像。


Haiku将自己的BeFS文件系统用于引导分区,尽管原则上声称支持FAT32和NTFS。 通常,系统需要600 MB,但对于其他应用程序,则需要更多空间。


默认情况下,将创建一个具有BeFS的600 MB分区和一个3 GB大小的FAT32分区。 在FAT32上有一个文件/EFI/BOOT/BOOTx64.EFI ,这意味着可以在具有EFI支持的系统上启动。 不幸的是,我没有找到增加BeFS大小的程序,并且我希望将来它们会采用其他磁盘分区方案,因为分区映像的大小固定为很小,并且可能没有足够的可用空间来放置其他软件。 如果在第二个FAT32分区上存储了其他软件包,那就太好了。


对于希望直接从其他系统访问文件的用户来说,相同的解决方案将是一个优势。 在Linux下,已经支持读取BeFS,在FUSE下已经存在用于读取和写入BeFS的实现。



Haiku安装程序


他们给了我建议:如果要使用更大的分区,请在另一个USB闪存驱动器上安装Haiku。
对我来说,此步骤在原则上是多余的,因为Haiku安装程序不知道如何分割磁盘,而只是启动DriveSetup程序,您需要在其中手动分割磁盘,添加一个分区,然后将该分区格式化为BeFS格式,然后控制权返回到安装程序。 您还需要使用单独的程序手动安装引导程序。 不幸的是,由于没有FAT32分区以及用于EFI的启动文件,因此无法通过EFI进行此类故障的启动。 它不会伤害安装程序,安装程序知道如何自动进行故障排除,包括EFI的功能。



BootManager将引导加载程序安装到磁盘


安装过程本身只需不到三分钟的时间,这非常快。 这将复制整个系统,仅包含4751个文件。 这样做的原因是,大多数软件都以hpkg文件的形式打包(类似于Linux系统上的Snap软件包),这些文件从未安装过,而是简单地安装了。 有趣的是,有很多“免费”文件,例如png。 他们为什么不被压迫?


如我所说,甚至操作系统的内核也以hpkg文件的形式出现。 (我谈论过4751文件,是因为我在安装它之前启动了HaikuDepot,它抽了很多东西。干净的安装似乎并不包含所有这些文件,并且可以用大约200个软件包安装得更快。很酷!我被告知,下载了什么这些文件在安装过程中不会被忽略-这是一个软件错误 。哇,但似乎第一个错误报告是从我提交的文件中写的。


第一次启动


系统启动,显示一个不错的屏幕保护程序,然后停止:加载后,我的视频卡(Radeon)显示黑屏。


建议我在FullHD显示器上以安全屏幕模式启动,分辨率为1024x768。 原则上,您可能会与引导加载程序混淆而无法使用FullHD,但是在另一台装有Intel显卡的计算机上,一切都可以正常工作。


该系统本身可从闪存驱动器进行响应,这显然是由于在运行期间没有任何内容写入闪存驱动器,因此,我希望将闪存驱动器用作主要工作系统。 从USB启动时,您将得到一个真实的系统,这与制动“实时” Linux映像不同。


在启动过程中,屏幕不闪烁,看不到内核消息,也没有感觉到Xorg用蓝色胶带固定在内核上。 与典型的Linux发行版不同,此处创建并相互适配了内核和GUI!


没有邀请登录,因为该系统是为一个用户创建的。 一切都很简单,正是个人计算机所需的一切。


需要多个用户的支持-给他们一个闪存驱动器,每个驱动器的成本不超过5美元。


对工作环境的第一印象


如果您比较第一印象-它看起来更像是Mac,而不是例如具有Gnome的Linux。 命令键的工作原理与Mac上完全相同。 好啊



没有什么比空间文件管理器更胜一筹了,感觉就像一台不错的旧Mac!


默认的文件管理器是空间文件管理器 (如Macintosh System 1.0),不幸的是每个窗口都不记得其设置(例如,以列表或图标的形式查看)。 据我所知,这是一个错误,我认为这将不难解决。 (不幸的是, 将报告写到Haiku的bugtracker中的“ mimocrocodile”很困难-它使用的不是基于GitLab或GitHub的原始系统,在他们的帮助下也无法输入)。 文件带有图标,桌面和图标上的单个文件没有问题。
好啊 感觉比Linux的工作环境好得多。


性能表现


该操作系统即使在低功耗硬件(例如Atom上网本)上也能正常运行。 没有layers肿的软件层。 好啊


Lunduke说,LibreOffice感觉比其他操作系统要快,但我尚未对其进行测试。



布莱恩·伦杜克(Bryan Lunduke)。 Haiku OS Beta-评论和经验


指令行


该结构具有一个端子。 总的来说,尽管与Linux的差异很小,但事实上,我立即习惯了-惯常的bash,这非常令人高兴。


 Welcome to the Haiku shell. In it, you can easily launch applications that are on the $PATH: ~> Touchpad ~> echo $PATH .:/boot/home/config/non-packaged/bin:/boot/home/config/bin:/boot/system/non-packaged/bin:/bin:/boot/system/apps:/boot/system/preferences 

哇! “”在$PATH ! 这意味着您可以直接从当前目录运行命令(Linux OS曾经告诉我,如果我尝试这样做,世界将会爆炸)。 太好了!



bash在Haiku终端中运行


在终端中更酷的是-您可以按ctrl + c进行复制,就像在其他应用程序中一样,与Linux工作环境不同,您需要在终端中按ctrl + shift + c。
小事表明了整个系统的完整性。


文件系统结构


下载所在的分区安装在/boot 。 多么简单!
没有堆/etc/usr/bin ...只是/home/system 。 干净,简单,清晰。 好啊 (不是真的:它们是,但是是隐藏的。为什么?因为/bin/system/bin ,所以不需要在Tracker中显示它,但是脚本仍在使用它。我认为开发人员应该摆脱为兼容而作的过时的东西,因为这只会使理解复杂化。)



之前我提到过hpkg文件,该文件与Linux软件包有些相似,但是它们没有安装,只是被挂载(如snap软件包)。 实现此功能的文件系统称为packagefs。 它将hpkg文件挂载在其他文件之上;结果,整个目录/系统以这种方式创建。


不幸的是,mount命令不会显示已安装的内容。


 ~> mount usage: mount [-ro] [-t fstype] [-p parameter] [device] directory -ro mounts the volume read-only -t specifies the file system to use (defaults to automatic recognition) -p specifies parameters to pass to the file system (-o also accepted) if device is not specified, NULL is passed (for in-memory filesystems) 

建议我尝试使用mountvolume ,它会显示已安装的分区,但是不幸的是,它也不会显示packagefs的安装点(它只会显示与分区或磁盘映像相关的安装点)。 [幸运的是,如果您使用docker在主机上的某处运行mount或df,则可以关闭几个屏幕! - 大约 但是,您可以使用df来解决问题:


 ~> df -h Mount Type Total Free Flags Device ---------------------------------- /boot bfs 600.0 MiB 6.0 KiB QAM-PW /dev/disk/usb/0/0/0 /boot/system packagefs 4.0 KiB 4.0 KiB QAM-P - /boot/home/config packagefs 4.0 KiB 4.0 KiB QAM-P - /no name fat 2.8 MiB 2.3 MiB - M-PRW /dev/disk/usb/0/0/1 

如您所见, /boot中的/system/home/config只是packagefs。
认识我的人都知道我喜欢文件管理器中的拖放支持:例如,我使用NeXT风格的应用程序套件或AppImages
无论如何,这种软件分发格式都有缺点。 packagefs可以结合最好的吗?


如您所见,在我的情况下(系统分区已满,但我想安装应用程序),使用浏览器将应用程序下载到某个地方会更加优雅,就像我使用Mac或AppImage的.dmg文件一样。 packagefs位于内核中,因此它不是FUSE的文件系统(尽管我知道FUSE也位于Haiku中)。 他们还告诉我,也许将来会创建其他“ packagefs区域”,这很可能意味着我可以告诉packagefs将软件包保存在例如单独的磁盘分区上。 这符合我的口味-如果磁盘分区位于可移动媒体上,则我可以坐在另一台计算机上并在其中获得可运行的应用程序。


他们还说,软件包的安装也可以通过拖放方法进行:将文件拖到/system/packages/home/config/packages进行安装,如果从那里拉文件,它将被删除。 如果拖动依赖关系不满意的软件包,系统将要求他们进行初步安装。


最初,我不清楚packagefs如何处理同一软件包的多个版本,如果我想安装例如不同版本的gcc或其他GUI程序,会发生什么情况? (其中一位开发人员说:“ packagefs本身不包含阻止安装多个具有相同名称的软件包的任何内容,但是由于OpenSuse的libsolv用于解析依赖关系,不允许这样做,因此被禁止这样做,并且HaikuDepot亲自参与了设置。“我可以使用包.app,AppDir和AppImages来解释为什么我喜欢这个主意。)


动态库


有动态图书馆技术吗? 是的,例如,如果您通过双击启动缺少库的应用程序,可以看到以下信息:



您能在gnome,kde或xfce中想象吗?


在Linux上,这样的启动不会显示任何内容。 让我们看看在不同的环境中将完成多长时间:



那支票呢?


 ~> ldd bash: ldd: command not found 

有必要使用替代品:


 ~> objdump -x /bin/bash | grep NEEDED NEEDED libreadline.so.7 NEEDED libhistory.so.7 NEEDED libncurses.so.6 NEEDED libintl.so.8 NEEDED libroot.so 

原则上, ldd会更好,因为它另外显示了将从中加载库的路径。
它们真正从哪里加载?


 ~> echo $LIBRARY_PATH %A/lib:/boot/home/config/non-packaged/lib:/boot/home/config/lib:/boot/system/non-packaged/lib:/boot/system/lib 

因此,您可以将库放在可执行文件旁边,它将“正常工作”。 太棒了! 您可以简单地将各个库连接到应用程序,而不必像在Linux上那样烦恼rpath或设置LD_LIBRARY_PATH变量。 好啊


有一个库(在Linux上很差)/boot/system/lib/libstdc++.so.6.0.24。
如果一个应用程序需要一个比/ boot / system / lib中的版本更高的版本怎么办?
普通用户可能会升级到最新版本,因为此系统上没有使用root密码的“管理员”用户[作者提示简单- 大约。 翻译者 ]。
好吧,至少那是它的样子。 (实际上,“用户”类似于root。您可以使用passwd命令设置密码,然后将PermitRootLogin=yes设置为sshd_config ,然后可以通过ssh进行外部连接。开发人员告诉我,默认情况下,所有应用程序均以root身份运行最终,他们可能会完成此工作。。。但是我不确定是否会喜欢。)


由于没有Haiku发行版,因此应用程序开发人员也无法访问比可在您的系统上下载的版本更高的版本。 结果:减少挫败感,使事情“正常”。 简化了! 我喜欢


资源和注册商


如上所述,应用程序具有类型和图标,因此您不必打扰台式机等上的文件。 他们告诉我,有一个特殊的服务注册商,他了解应用程序,文件类型和图标。 在安装软件包或标记文件以执行(使用chmodmimeset )时,始终会收到通知。
类似于Mac上的启动服务 。 但这是Linux上的工作环境缺少的 。 太好了!


二进制文件以资源的形式接收嵌入式图标,因此除了桌面上的文件之外,您不需要单独的图标。 几乎与Macintosh系统上的相同1.酷!



应用程序类型,受支持的文档类型,嵌入式资源和版本信息


Tracker(文件管理器)自动将二进制文件标记为可执行文件。 这是我对Linux环境超过10年的期望。
所有这一切都可以实现。 太酷了! 生活变得如此简单。 它比Linux XDG更微妙,更像Mac。 或者这个...



未设置可执行位的Linux应用程序


Gnome从文件管理器中删除了运行可执行文件的功能,但是社区大惊小怪,每个人都回来了。
他们还告诉我,应用程序使用find_paths()函数而不是硬编码的/usr/bin/usr/share (Linux桌面环境的常见功能),这意味着它们可以在文件系统中移动。 我站着鼓掌! 在Linux上,这通常是“复杂的”


什么让我惊讶


  • 令人尴尬的是/boot是系统引导所在分区的安装点。 为什么不加上“ / ”? 还是/Haiku ? (说明:的确, /boot始终是可引导分区,由于其名称而在桌面上显示为“ Haiku”。在Mac System 1中,将“ / ”视为桌面类似物,该层次结构的根实际上并不存在)驱动器)。
  • 用户安装的软件包的安装点是/home/config 。 为什么不只是/home ? (其中一位开发人员向我解释说,他们不想阻塞主目录,但在我看来config是一个不好的名字,因为其中包含bin/子目录,因此这不仅仅是存储设置)。
  • 一切的许可证是什么? 例如,在WebPositive浏览器中,当查看“关于程序”时,没有明确的指示。 “关于此系统”字段表示Haiku代码已获得MIT许可。 太好了! (也有人告诉我,WebPositive操作系统以相同的许可证提供,但其WebKit引擎在大多数情况下是在两点BSD下提供的)。

我没有想到的是什么失败了


首先,我对设备支持水平感到震惊。 一切都可以在基于Atom的上网本上使用,包括WLAN。 但是工作中有一些功能。


  • 不管EFI模式或BIOS仿真(“ Windows”)如何,在Macintosh硬件上完全无法操作。 当您在Mac bootloader中选择图标时,系统只会冻结。 有人告诉我这一个已知功能 ,可以使用rEFIt进行引导 ,但是这些设置对我来说太复杂了。
  • 加速图形。 似乎仍然无法使用Radeon(我有黑屏),但是Intel也不顺利。 WebPositive视频加速仅是软件,包括H.264。 令人惊讶的是,原始方向在视频中。 一位开发人员说,WebPositive中的视频使用刹车来工作。
  • 没有声音 开发人员说:“声卡驱动程序仍在运输中。” 可能需要有人来支持USB-3之类的HDA驱动程序。 现在,要获得声音,从另一个操作系统进行热重启就足够了,我相信它将以某种方式解决。
  • 亮度和音量控制按钮不起作用。 (其基础已经以“快捷方式”应用程序的形式进行:您可以将任何键盘组合与所需的任何功能绑定,但是Haiku尚不能使用媒体键。也许有志愿者吗?)
  • 两指触摸板控制。 开箱即用。 有一个设置面板,上面写着“找不到触摸板,设置将无效”。 (ELAN输入设备ACPI ETD050A的已知问题 )。
  • 使用现有的应用程序可以从Android上的数码相机和智能手机读取文件,因此MTP和PTP模式下的同步对我不起作用。 如果它们像系统中的其他分区一样挂载,那就太好了。
  • 关闭笔记本电脑的盖子显然没有被处理。 (我知道Haiku仍然不能与ACPI一起使用:已实现支持,但默认情况下未连接;没有驱动程序重新初始化)
  • 我无法在bugtracker中创建帐户,因为验证在WebPositive中不起作用。

应用领域


操作系统的主要目的是启动应用程序。 我担心在Haiku下不会有任何实际工作的申请。 幸运的是,我误会了,因为存在改进的希望-何时会更频繁地使用Haiku。
Scribus (视觉布局应用程序)就是这样,这是一个基于Qt的非常复杂的应用程序。 还有一个QtCreator (IDE)。


我想知道今天他们是使用本地工具(如果存在)为Haiku编写本地Be应用程序,还是仅仅使用QtCreator(这将有助于移植跨平台应用程序)。 Haiku开发人员的位置是本机Haiku应用程序的“显式”偏好。 对不对 我怀疑现实生活中的应用程序不是跨平台的(在我的工作中使用的所有应用程序都是跨平台的)。


宣布支持WxWindows应用程序。


缺乏对Gtk +的支持令人沮丧。 这意味着Haiku在不久的将来将不会有Gimp(嗯,我想是的),但是有Krita形式的替代品!


另外,我认为我们需要一种简单易懂的方式来为Haiku创建应用程序, 例如使用Travis CI和GitLab CI。


我们要去哪里


Haiku是否会陷入BeOS UX概念中? 在我看来,为了吸引人,她需要在采用新的UX方案时仔细地验证它们,同时保持其基本原理不变。
例如:


  • 保持简单,没有使Linux变得“复杂”的100,500个选项。
  • 使用鼠标光标而不是奇怪的手。
  • 会有码头吗? (我知道有个类似Launchock的Dock,甚至更靠近Dock LnLauncher ,但是1998年的原始BeOS已经有了Dock!)
  • 全局菜单? (显然没有,因为联合联络小组没有看到太多好处)。
  • 快速窗口切换? (他们说您可以在拖动窗口的同时按住Windows键来尝试激活“ Stack&Tile ”,但这并不直观,而且对我来说不起作用)。
  • 打开和最小化窗口的动画?
  • 窗外的阴影?
  • 是否支持Aqua等主题? (是的,您可以有一些基础设施和工具,例如HaikuThemeManager ,但是应该有人创建主题。我会自己尝试一下,因为有人告诉我https://xref.plausible.coop/source/xref/haiku/ headers / os / interface / ControlLook.h,但不是现在)。

鉴于这些细微差别,系统不应失去其独特的个性。


结论


Haiku真的睁开了眼睛,向人们展示了工作环境是“正当工作”的。
10 Mac Linux , Haiku .


, , , , WLAN , " ".


, , , Linux.


( ) .


() .


.


: , , , " ", UNIX.


, ( ), .


#LinuxUsability . , Haiku , , Linux .


, : , .


! Haiku DVD USB, . Etcher .


: Haiku.


:

Source: https://habr.com/ru/post/zh-CN461141/


All Articles