
TL: DR; El novato probó Haiku por primera vez y decidió que era increíble. Especialmente comparado con los entornos de trabajo disponibles en Linux
Ya compartí mis ideas (así como las decepciones) sobre #LinuxUsability ( parte 1 , parte 2 , parte 3 , parte 4 , parte 5 , parte 6 ). En esta revisión, describiré las primeras impresiones de Haiku , un sistema operativo de código abierto para computadoras personales. A veces, las primeras impresiones son útiles, pero como obtienes tus primeras impresiones solo una vez, guardé las mías aquí.

El sistema en el que escribo esta reseña
Pueden ser útiles para los desarrolladores de Haiku y / u otras partes interesadas.
En algún lugar podría estar equivocado, porque acabo de describir la primera experiencia personal (léase: en el ojo azul). Además, personas amables en el canal #haiku en la red irc.freenode.net me ayudaron con consejos, también los publicaré. Gracias a los desarrolladores de Haiku!
Lo que quería decir: Haiku aún no es 100% perfecto, pero ya tiene un entorno de trabajo muy unido.
Instalación
El Proyecto Haiku proporciona imágenes de CD o DVD de arranque diarias . Usé una unidad flash USB-3. Me dijeron que el arranque desde USB-3 puede no funcionar, pero en mis dos sistemas de prueba basados en Intel, todo funciona a la perfección.
Comencé el proceso de instalación descargando una imagen para 64 bits, que luego grabé en una unidad flash USB usando Etcher . La descarga funciona con y sin EFI : mi aplauso por proporcionar esa imagen.
Haiku utiliza su propio sistema de archivos BeFS para la partición de arranque, aunque, en principio, se admite la compatibilidad con FAT32 y NTFS. En general, 600 MB son suficientes para el sistema, pero para aplicaciones adicionales se necesita más espacio.
De forma predeterminada, se crean una partición de 600 MB con BeFS y una partición FAT32 con un tamaño de 3 GB. En FAT32 hay un archivo /EFI/BOOT/BOOTx64.EFI
, que implica la capacidad de arrancar en sistemas con soporte EFI. Desafortunadamente, no encontré programas para aumentar el tamaño de BeFS, y espero que en el futuro hagan otro esquema de partición de disco, porque el tamaño de la imagen de partición es pequeño y puede que no haya suficiente espacio libre para software adicional. Sería bueno si se almacenaran paquetes de software adicionales en la segunda partición FAT32.
La misma solución sería una ventaja para aquellos que desean acceder a los archivos directamente desde otros sistemas. Bajo Linux, ya hay soporte para leer BeFS, hay implementaciones para leer y escribir BeFS bajo FUSE .

Instalador Haiku
Me dieron consejos: si desea utilizar una partición más amplia, instale Haiku en otra unidad flash USB.
Para mí, este paso es, en principio, superfluo, ya que el instalador de Haiku no sabe cómo dividir discos, sino que simplemente inicia el programa DriveSetup, en el que necesita dividir manualmente el disco, agregar una partición, que luego se formatea en BeFS, después de lo cual el control vuelve al instalador. También necesitará instalar manualmente el gestor de arranque utilizando un programa separado. Desafortunadamente, no logré arrancar desde EFI con tal desglose, ya que no hay una partición FAT32 con archivos de arranque para EFI. No dañaría al instalador, que sabe cómo desglosar automáticamente, incluidas las características de EFI.

BootManager instala el gestor de arranque en el disco
El proceso de instalación en sí mismo toma un poco menos de tres minutos, lo cual es muy rápido. Esto copia todo el sistema, que consiste en "solo" de 4751 archivos. La razón de esto es el hecho de que la mayoría del software está empaquetado en forma de archivos hpkg (algo similar a los paquetes Snap en sistemas Linux) que nunca se instalan, sino que simplemente se montan. Curiosamente, hay bastantes archivos "gratuitos", por ejemplo, png. ¿Por qué no están oprimidos?
Como dije, incluso el núcleo del sistema operativo viene en forma de un archivo hpkg. (Hablé sobre el archivo 4751, porque lancé HaikuDepot antes de instalarlo, lo que bombeó un montón de todo. Una instalación limpia no parece contenerlos todos, y puede instalarse más rápido con aproximadamente 200 paquetes. ¡Genial! los archivos no se ignoran durante la instalación, esto es un error de software . Wow, pero parece que el primer informe de error se escribió desde mi envío).
Primer arranque
El sistema se inicia, mostrando un buen protector de pantalla, y luego se detiene: después de cargar, mi tarjeta de video (Radeon) muestra una pantalla en negro.
Me aconsejaron iniciar en modo de pantalla segura con una resolución de 1024x768 en un monitor FullHD. En principio, podría confundirse con el gestor de arranque para trabajar con FullHD, pero en otra computadora con una tarjeta gráfica de Intel todo funcionó a la perfección.
El sistema en sí funciona de manera receptiva desde una unidad flash, aparentemente debido al hecho de que no se escribe nada en la unidad flash durante la operación, por lo que espero usar la unidad flash como el sistema de trabajo principal. Obtendrá un sistema real cuando arranque desde USB, a diferencia de las imágenes de Linux "en vivo" de frenado.
Durante el arranque, la pantalla no parpadea, los mensajes del núcleo no son visibles, no se siente que Xorg esté atornillado al núcleo con una cinta aislante azul. ¡A diferencia de las distribuciones típicas de Linux, el kernel y la GUI se crean y adaptan uno para el otro aquí!
No hay invitación para iniciar sesión, porque el sistema está hecho para un usuario. Todo es simple, exactamente lo que se requiere para una computadora personal.
Necesita soporte para múltiples usuarios: deles una unidad flash, cada una de las cuales no cuesta más de $ 5.
Primeras impresiones del clima laboral.
Si compara la primera impresión, se parece más a una Mac que, por ejemplo, en Linux con Gnome. La tecla de comando funciona exactamente igual que en Mac. Bueno!

¡Nada supera a un administrador de archivos espacial, se siente como una buena Mac vieja!
El administrador de archivos predeterminado es espacial (como Macintosh System 1.0), desafortunadamente cada ventana no recuerda su configuración (por ejemplo, se ve como una lista o como iconos). Como me dijeron, este es un error que, creo, no será difícil de solucionar. (Desafortunadamente, escribir informes para el "mimocrocodile" en el rastreador de errores para Haiku es difícil: utiliza un sistema original que no se basa en GitLab o GitHub, que también es imposible ingresar con su ayuda). Los archivos obtienen sus iconos, no hay problemas con archivos individuales en el escritorio y los iconos.
Bueno! Mucho mejor que los entornos de trabajo para Linux, la simplicidad se siente.
Rendimiento
El sistema operativo funciona de manera inteligente incluso en hardware de baja potencia como los netbooks Atom. No hay capas hinchadas de software. Bueno!
Lunduke dijo que LibreOffice parecía ser más rápido que otros sistemas operativos, pero aún no lo he probado.
Bryan Lunduke. Haiku OS Beta - revisión y experiencia
Línea de comando
La estructura tiene una terminal. En general, a pesar de las pequeñas diferencias con Linux, de hecho me acostumbré de inmediato, la fiesta habitual, que está muy satisfecha.
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
Wow! " .
" en $PATH
! Esto significa que puede ejecutar comandos directamente desde el directorio actual (el sistema operativo Linux una vez me dijo que el mundo explotará si trato de hacer esto). Genial

bash corriendo en la terminal de Haiku
Lo que es más genial en el terminal: puede presionar ctrl + c para copiar, al igual que en otras aplicaciones, a diferencia de los entornos de trabajo de Linux donde necesita presionar ctrl + shift + c en el terminal.
Pequeñas cosas que muestran la integridad de todo el sistema.
Estructura del sistema de archivos
La partición de donde proviene la descarga está montada en /boot
. Que facil
Sin montón /etc
, /usr
, /bin
... Solo /home
y /system
. Limpio, simple, claro. Bueno! (En realidad no: están, pero están ocultos. ¿Por qué? Debido a que /bin
es /system/bin
, no hay necesidad de mostrar esto en Tracker, pero los scripts todavía lo usan. Creo que los desarrolladores deberían deshacerse de las cosas obsoletas hechas por compatibilidad, ya que esto solo complica la comprensión.)
packagefs
Mencioné anteriormente sobre los archivos hpkg, que son algo similares a los paquetes de Linux, pero no están instalados, simplemente están montados (como los paquetes a presión). El sistema de archivos que hace esta magia se llama packagefs. Monta archivos hpkg sobre otros; como resultado, todo el directorio / system se crea de esta manera.
El comando de montaje, desafortunadamente, no muestra lo que está montado.
~> 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)
Se me recomendó probar mountvolume
, que mostrará particiones montadas, pero, desafortunadamente, tampoco muestra puntos de montaje con packagefs (solo mostrará aquellos asociados con particiones o imágenes de disco). [Afortunadamente, si ejecutas mount o df en algún lugar del host con docker, ¡puedes cerrar un par de pantallas! - aprox. traductor ] Pero puedes hacer el truco con 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
Como puede ver, /system
y /home/config
inside /boot
son solo packagefs.
Las personas que me conocen saben que soy fanático de la compatibilidad con arrastrar y soltar en los administradores de archivos: por ejemplo, uso conjuntos de aplicaciones de estilo NeXT o AppImages .
En cualquier caso, hay inconvenientes en este formato de distribución de software. ¿Pueden los paquetes combinar lo mejor?
Como puede ver, en mi caso (la partición del sistema está llena, pero quiero instalar aplicaciones) sería más elegante descargar aplicaciones en algún lugar usando un navegador, al igual que hago con archivos .dmg
para Mac o AppImage. packagefs vive en el kernel, por lo que no es un sistema de archivos para FUSE (aunque sé que FUSE también está en Haiku). También me dijeron que quizás en el futuro se crearán "zonas de paquetes" adicionales, y esto probablemente significa que puedo decirle a los paquetes que guarden paquetes, por ejemplo, en particiones de disco separadas. Esto es para mi gusto: si la partición del disco está en un medio extraíble, puedo sentarme en otra computadora y obtener aplicaciones que funcionen allí.
También dijeron que la instalación de paquetes también funciona utilizando el método de arrastrar y soltar: simplemente arrastre el archivo a /system/packages
o a /home/config/packages
para instalar, y si extrae el archivo desde allí, se eliminará. Si arrastra un paquete con dependencias insatisfechas, el sistema solicitará su instalación preliminar.
Al principio no estaba claro para mí cómo packagefs maneja múltiples versiones del mismo paquete, ¿qué pasaría si quisiera instalar, por ejemplo, diferentes versiones de gcc u otros programas GUI? (Uno de los desarrolladores dijo, cita: "packagefs en sí mismo no contiene nada que impida la instalación de varios paquetes con el mismo nombre, pero dado que libsolv de OpenSuse se usa para resolver dependencias, lo que no permite hacerlo, estaba prohibido hacerlo y HaikuDepot mismo en la configuración. "Puedo explicar por qué me gusta la idea con los paquetes .app, AppDir y AppImages).
Bibliotecas dinámicas
¿Existe una tecnología de biblioteca dinámica? Sí, esto se puede ver, por ejemplo, si inicia la aplicación con las bibliotecas faltantes haciendo doble clic:

¿Te imaginas esto en gnome, kde o xfce?
En Linux, tal lanzamiento no mostraría nada. Veamos cuánto tiempo se hará en diferentes entornos:
¿Qué pasa con los cheques?
~> ldd bash: ldd: command not found
Es necesario usar un reemplazo:
~> 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
En principio, ldd
sería mejor, ya que además muestra las rutas desde donde se cargarán las bibliotecas.
¿Y de dónde se cargan realmente?
~> echo $LIBRARY_PATH %A/lib:/boot/home/config/non-packaged/lib:/boot/home/config/lib:/boot/system/non-packaged/lib:/boot/system/lib
Por lo tanto, puede colocar la biblioteca al lado del archivo ejecutable, y "simplemente funcionará". ¡Qué asombroso! Simplemente puede conectar bibliotecas individuales a la aplicación sin preocuparse por rpath o configurar la variable LD_LIBRARY_PATH como en Linux. Bueno!
Hay una biblioteca (terrible en Linux) /boot/system/lib/libstdc++.so.6.0.24.
¿Qué sucede si una aplicación requiere una versión más nueva que la de / boot / system / lib?
Un usuario común probablemente se actualizará a la última versión, porque no hay un usuario "Administrador" con contraseña de root en este sistema [el autor insinúa la simplicidad - aprox. traductor ].
Bueno, al menos eso es lo que parece. (En realidad, el "usuario" es análogo a la raíz. Puede establecer una contraseña con el comando passwd
, luego configurar PermitRootLogin=yes
en sshd_config
, y luego puede conectarse externamente a través de ssh. Los desarrolladores me dijeron que, de manera predeterminada, todas las aplicaciones se ejecutan como root En última instancia, pueden completar esto ... Pero no estoy seguro de si me gustará).
Debido al hecho de que no hay distribuciones de Haiku, los desarrolladores de aplicaciones tampoco tienen acceso a versiones más nuevas que las disponibles para descargar en su sistema. Resultado: menos frustración, las cosas "simplemente funcionan". Gran simplificación! Me gusta
Recursos y registrador
Como se mencionó anteriormente, las aplicaciones obtienen un tipo y un ícono, por lo que no tiene que preocuparse por los archivos en el escritorio o similares. Me dijeron que hay un registrador de servicios especiales que conoce las aplicaciones, los tipos de archivos y los íconos. Siempre se notifica cuando se instala un paquete o se marca un archivo para su ejecución (utilizando el programa chmod
o mimeset
).
Algo así como Iniciar servicios en una Mac. Pero esto es algo que está ausente en entornos de trabajo en Linux . Genial
Los archivos binarios reciben íconos incrustados en forma de recursos, por lo que no necesita un ícono separado además de los archivos en el escritorio. Casi lo mismo que en el sistema Macintosh 1. ¡Genial!

Tipos de aplicación, tipos de documentos compatibles, recursos integrados e información de versión
Tracker (administrador de archivos) marca automáticamente los archivos binarios como ejecutables. Esto es lo que esperaba de los entornos Linux durante más de 10 años.
Todo esto es bastante entregado. ¡Es genial! La vida se está volviendo muy simple. Esto es más sutil y más parecido a Mac que Linux XDG . O esto ...

Aplicación de Linux sin conjunto de bits ejecutable
Gnome eliminó la capacidad de ejecutar archivos ejecutables desde el administrador de archivos, pero la comunidad hizo un escándalo y todos regresaron.
También me dijeron que las aplicaciones usan la función find_paths()
lugar de las codificadas /usr/bin
y /usr/share
(una característica común de los entornos Linux), lo que significa que pueden moverse por el sistema de archivos. ¡Aplaudo mientras estoy de pie! En Linux, esto es "complicado" como de costumbre .
Lo que me sorprendió
- Fue vergonzoso que
/boot
sea el punto de montaje de la partición desde donde se inicia el sistema. ¿Por qué no un " /
"? Bueno o /Haiku
? (Explicación: de hecho, /boot
siempre es una partición de arranque, aparece en el escritorio como "Haiku" porque es su nombre. Mire " /
" como el análogo de escritorio en Mac System 1, la raíz de la jerarquía que realmente no existe en unidades). - El punto de montaje para los paquetes instalados por el usuario es
/home/config
. ¿Por qué no solo /home
? (Uno de los desarrolladores me explicó que no quieren obstruir el directorio de inicio, pero me parece que config es un nombre incorrecto porque hay un bin/
subdirectorio dentro, por lo que esto no es solo un almacenamiento de configuraciones). - ¿Cuál es la licencia para todo? Por ejemplo, en el navegador WebPositive al ver "Acerca del programa" no hay ninguna indicación explícita. El campo "Acerca de este sistema" dice que el código Haiku está bajo la licencia MIT. Genial (También me dijeron que WebPositive viene con el sistema operativo bajo la misma licencia, pero su motor WebKit viene, en su mayor parte, con BSD de dos puntos).
Lo que no funcionó como esperaba
En primer lugar, me llamó la atención el nivel de soporte del equipo. Todo funcionó en mi netbook basado en Atom, incluida la WLAN. Pero hay algunas características en el trabajo.
- Inoperancia completa en hardware Macintosh, independientemente del modo EFI o la emulación de BIOS ("Windows"). El sistema simplemente se congela cuando selecciona el icono en el gestor de arranque de Mac. Me dijeron que esta es una característica conocida y se puede iniciar usando rEFIt , pero esta configuración es demasiado complicada para mí.
- Acelerando los gráficos. Parece que todavía es imposible usar Radeon (tenía una pantalla en negro), pero Intel tampoco funciona bien. La aceleración de video WebPositive es solo software, incluido H.264. Sorprendentemente, la orientación original está en el video. Uno de los desarrolladores dijo que el video en WebPositive funciona con trucos de freno.
- Sin sonido "Los controladores de la tarjeta de sonido todavía están en tránsito", dijo el desarrollador. Probablemente necesite a alguien que admita el controlador HDA como USB-3. Ahora, para obtener el sonido, un reinicio en caliente desde otro sistema operativo es suficiente, y creo que de alguna manera se solucionará.
- Los botones de control de brillo y volumen no funcionan. (La base ya está en la forma de la aplicación Atajos: puede vincular cualquier atajo de teclado a cualquier función que desee, pero Haiku aún no puede trabajar con teclas multimedia. ¿Quizás haya voluntarios?)
- Control con panel táctil de dos dedos. No funciona fuera de la caja. Hay un panel de configuración que dice "No se encontró el panel táctil, la configuración no tendrá ningún efecto". (Problema conocido con el dispositivo de entrada ELAN, ACPI ETD050A).
- Con la aplicación existente para leer archivos de cámaras digitales y teléfonos inteligentes en Android, la sincronización en los modos MTP y PTP no funcionó para mí. Sería genial si se montasen como otras particiones en el sistema.
- Aparentemente, cerrar la tapa de la computadora portátil no se está procesando. (Sé que Haiku todavía no funciona con ACPI: el soporte está implementado, pero no está conectado de forma predeterminada; no hay reinicialización del controlador)
- No pude crear una cuenta en bugtracker, porque captcha no funciona en WebPositive.
Aplicaciones
El objetivo principal del sistema operativo es iniciar aplicaciones. Tenía miedo de que bajo Haiku no hubiera aplicaciones para trabajo real. Afortunadamente, me equivoqué, porque hay esperanza de mejorar, cuando Haiku se usará con más frecuencia.
Scribus (aplicación para diseño visual) es, y esta es una aplicación muy compleja basada en Qt. También hay un QtCreator (IDE).
Me preguntaba si hoy escriben aplicaciones Be nativas para Haiku usando herramientas nativas (si existen), o simplemente usan QtCreator (lo que facilitará la portabilidad de aplicaciones multiplataforma). La posición de los desarrolladores de Haiku es la preferencia "explícita" para las aplicaciones nativas de Haiku. Derecho? Dudo que las aplicaciones de la vida real no sean multiplataforma (todas las aplicaciones utilizadas en mi trabajo son multiplataforma).
Soporte declarado para aplicaciones WxWindows.
La falta de soporte para Gtk + es frustrante. Esto significa que Haiku no tendrá Gimp en el futuro cercano (bueno, creo que sí), ¡pero hay un reemplazo en forma de Krita!
Además, creo que necesitamos una forma simple y comprensible de crear aplicaciones para Haiku, de esta manera : usando Travis CI y GitLab CI.
A donde vamos
¿Se atascará Haiku en el concepto BeOS UX? Me parece que, por atractivo, necesita verificar cuidadosamente los nuevos esquemas de experiencia de usuario en su adopción, sin dejar de ser fiel a sus fundamentos.
Por ejemplo:
- Permanezca simple, sin las 100,500 opciones que hacen que Linux sea "complejo".
- Use el cursor del mouse en lugar de una mano extraña.
- ¿Habrá un muelle? (Soy consciente de que hay algo así como un Dock llamado LaunchBox , incluso más cerca de Dock LnLauncher , ¡pero el BeOS original en 1998 ya tenía un Dock!)
- Menú global? (Obviamente no, ya que el JLG no ve mucho beneficio).
- Cambio rápido de ventana? (Dijeron que puede intentar activar " Stack & Tile " manteniendo presionada la tecla de Windows mientras arrastra la ventana, pero esto no es intuitivo, además, no funciona para mí).
- ¿Animación de abrir y minimizar ventanas?
- ¿Sombras fuera de las ventanas?
- ¿Temas de apoyo como en Aqua? (Sí, puede, hay infraestructura y herramientas, por ejemplo, HaikuThemeManager , pero alguien debería crear temas. Lo probaría yo mismo, me dijeron que hay documentación en https://xref.plausible.coop/source / xref / haiku / encabezados / os / interface / ControlLook.h, pero no ahora).
Estos son sutiles matices, dado que el sistema no debe perder su personalidad única.
Conclusión
Haiku realmente abrió mis ojos, mostró cómo el ambiente de trabajo "simplemente funciona".
10 Mac Linux , Haiku .
, , , , WLAN , " ".
, , , Linux.
( ) .
() .
.
: , , , " ", UNIX.
, ( ), .
#LinuxUsability . , Haiku , , Linux .
, : , .
! Haiku DVD USB, . Etcher .
: Haiku.
: