Mi primer día con Haiku: ella es inesperadamente buena

Mi primer día con Haiku: ella es inesperadamente buena

TL: DR; Un novato probó Haiku por primera vez y le pareció genial. Especialmente comparado con los entornos de escritorio disponibles en Linux

Ya he compartido mis ideas (y decepciones) con respecto a #LinuxUsabilidad (parte 1, parte 2, parte 3, parte 4, parte 5, parte 6). En esta reseña describiré mis primeras impresiones de Haiku, un sistema operativo de código abierto para computadoras personales. A veces las primeras impresiones son útiles, pero como sólo se obtienen una vez, guardé la mía aquí.

Mi primer día con Haiku: ella es inesperadamente buena
El sistema sobre el que estoy escribiendo esta reseña

Quizás sean útiles para los desarrolladores de Haiku u otras partes interesadas.
Podría estar equivocado en alguna parte, ya que solo estoy describiendo mi primera experiencia personal (léase: vista gorda). Además, gente amigable en el canal #haiku en la red irc.freenode.net me ayudó con consejos; también los publicaré. ¡Gracias desarrolladores de Haiku!

Lo que quería decir: Haiku aún no es 100% perfecto, pero ya cuenta con un entorno de trabajo sólido.

Instalación

El proyecto Haiku proporciona imágenes para arrancar desde CD o DVD, formado diariamente. Usé una unidad flash USB-3. Me han dicho que es posible que arrancar desde USB-3 no funcione, pero en mis dos sistemas de prueba basados ​​en Intel funciona perfectamente.

Comencé el proceso de instalación descargando una imagen de 64 bits, que luego escribí en una unidad flash usando el programa. Autor de aguafuertes. La descarga funciona como EFI, y sin él, mi aplauso por proporcionar esa imagen.

Haiku usa el suyo Sistema de archivos BeFS para la partición de arranque, aunque, en principio, se declara soporte para FAT32 y NTFS. En general, 600 MB son suficientes para el sistema, pero se necesita más espacio para aplicaciones adicionales.

Por defecto se crea una partición de 600MB con BeFS y una partición de 32GB con FAT3. Hay un archivo en FAT32 /EFI/BOOT/BOOTx64.EFI, lo que significa que puede iniciarse en sistemas habilitados para EFI. Desafortunadamente, no encontré programas para aumentar el tamaño de BeFS y espero que en el futuro hagan un esquema de partición de disco diferente, porque el tamaño de la imagen de la partición es pequeño y es posible que no haya suficiente espacio libre para espacio adicional. software. Sería bueno si se almacenaran paquetes de software adicionales en una segunda partición FAT32.

Esta misma solución sería ventajosa para quienes deseen acceder a archivos directamente desde otros sistemas. Linux Ya existe soporte para leer BeFS, existen implementaciones para leer y escribir BeFS en FUSIBLE.

Mi primer día con Haiku: ella es inesperadamente buena
instalador de haikus

Me dieron un consejo: si quieres utilizar una partición de mayor capacidad, instala Haiku en otra unidad flash.
Para mí, este paso es, en principio, superfluo, ya que el instalador de Haiku no sabe cómo particionar discos, sino que simplemente inicia el programa DriveSetup, en el que necesita particionar 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 deberá instalar manualmente el gestor de arranque utilizando un programa independiente. Desafortunadamente, no pude arrancar desde EFI con esta partición, ya que no hay una partición FAT32 con archivos de arranque para EFI. Sería útil un instalador capaz de realizar particiones automáticas que incluyan funciones EFI.

Mi primer día con Haiku: ella es inesperadamente buena
BootManager instala el gestor de arranque en el disco

El proceso de instalación en sí tarda poco menos de tres minutos, lo cual es bastante rápido. Copia todo el sistema, que consta de "solo" 4751 archivos. Esto se debe a que la mayoría del software está empaquetado como archivos hpkg (algo similar a los paquetes Snap en Linux (sistemas) que nunca se instalan, sino que simplemente se montan. Curiosamente, hay bastantes archivos "gratuitos", como png. ¿Por qué no se empaquetan?

Como ya dije, incluso el kernel del sistema operativo viene en forma de archivo hpkg. (Estaba hablando de 4751 archivos porque ejecuté HaikuDepot antes de la instalación, lo que descargó un montón de cosas. Una instalación limpia no parece contenerlos todos y se puede instalar más rápido con unos 200 paquetes. ¡Genial! Lo que me dijeron es que los archivos descargados no se ignoran durante la instalación; esto es error de software. Vaya, parece que este es el primer informe de error escrito por sugerencia mía).

Primer arranque

El sistema arranca, muestra una bonita pantalla de presentación y luego se detiene: después de cargar, mi tarjeta de video (Radeon) muestra una pantalla negra.

Me recomendaron iniciar la pantalla en modo seguro con una resolución de 1024x768 en un monitor FullHD. En principio, era posible modificar el gestor de arranque para que funcionara en FullHD, pero en otra computadora con una tarjeta de video Intel todo funcionó a la perfección.

El sistema funciona correctamente desde una unidad flash, aparentemente porque no se escribe nada en ella durante su funcionamiento, así que espero usarla como mi sistema de trabajo principal. Al arrancar desde USB, obtendrás un sistema completo, a diferencia de las versiones "en vivo" lentas. Linux imágenes.

No hay parpadeo de pantalla durante el arranque, ni mensajes del kernel, ni la sensación de que Xorg esté pegado al kernel con cinta adhesiva azul. A diferencia de las distribuciones típicas. Linux¡Aquí se crean y ajustan el núcleo y la interfaz gráfica de usuario para que funcionen conjuntamente!

No hay ningún mensaje de inicio de sesión porque el sistema está diseñado para un solo usuario. Todo es simple, exactamente lo que se requiere para una computadora personal.

Si necesita ayuda de varios usuarios, proporcióneles una unidad flash, cada una de las cuales no cuesta más de 5 dólares.

Primeras impresiones del ambiente de trabajo.

Si comparas la primera impresión, se parece más a un Mac que, por ejemplo, Linux Con Gnome, la tecla "comando" funciona exactamente igual que en Mac. ¡Genial!

Mi primer día con Haiku: ella es inesperadamente buena
¡No hay nada mejor que un administrador de archivos espaciales que se siente como una vieja Mac!

El administrador de archivos predeterminado es espacial. (como Macintosh System 1.0), lamentablemente cada ventana no recuerda su configuración (por ejemplo, verla como una lista o como iconos). Como me dijeron, esto es un error que creo que no será difícil de corregir. (Desafortunadamente, escribir informes para "mimococodrilo" en el rastreador de errores de Haiku difícil: se utiliza un sistema original, no basado en GitLab o GitHub, al que también es imposible iniciar sesión con su ayuda). Los archivos obtienen sus propios íconos, no hay problemas con archivos e íconos separados en el escritorio.
¡Bien! Mucho mejor que los entornos de escritorio para Linux, puedes sentir la simplicidad.

Rendimiento

El sistema operativo funciona rápidamente incluso en equipos de bajo consumo, como un netbook Atom. No hay capas infladas de software. ¡Bien!

Lunduke Dije que LibreOffice parece funcionar más rápido que en otros sistemas operativos, pero aún no lo he probado.

Ver mas

Bryan Lunduke. Haiku OS Beta - reseña e impresiones

Línea de comandos

La composición incluye un terminal. En general, a pesar de las pequeñas diferencias con Linux Me acostumbré enseguida; en realidad es solo Bash normal, lo cual me hizo muy feliz.

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

¡Guau! "."En el $PATH! Esto significa que puede ejecutar comandos directamente desde el directorio actual (los Linuxoids me dijeron una vez que el mundo explotaría si lo intentara). ¡Excelente!

Mi primer día con Haiku: ella es inesperadamente buena
bash ejecutándose en la terminal Haiku

Otra cosa interesante de la terminal es que puedes pulsar Ctrl + C para copiar, igual que en otras aplicaciones, a diferencia de los entornos de escritorio. Linux, donde debes presionar ctrl + shift + c en la 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. ¡Qué sencillo!
sin montón /etc, /usr, /bin… Justo /home и /system. Limpio, simple, comprensible. ¡Bien! (En realidad no: están ahí, pero escondidos. ¿Por qué? Porque /bin это /system/bin, no es necesario mostrar esto en el Tracker, pero los scripts aún lo usan. Creo que los desarrolladores deberían deshacerse de las cosas obsoletas que se hacen por compatibilidad, ya que esto hace que sea más difícil de entender).

paquetefs

Mencioné anteriormente los archivos hpkg, que son algo similares a los paquetes en LinuxPero no se instalan, solo se montan (como los paquetes snap). El sistema de archivos que realiza esta función se llama packagefs. Monta los archivos hpkg sobre otros archivos, lo que da como resultado la creación de todo el directorio /system.

Desafortunadamente, el comando de montaje 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)

Me recomendaron probar mountvolume, que mostrará las particiones montadas, pero desafortunadamente tampoco muestra los puntos de montaje con packagefs (solo mostrará aquellos asociados con particiones o imágenes de disco). [Afortunadamente, si ejecuta mount o df en algún lugar de un host con Docker, ¡puede desplazarse por un par de pantallas! — aprox. traductor] Pero puedes hacer un truco con df:

~> df -h

Mount Type Total Free Flags Device
----------------------------------
/boot bfs 600.0 MiB 6.0 KiB QAM-P-W /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 puedes ver /system и /home/config dentro /boot esto es solo paquetefs.
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 paquetes de aplicaciones estilo NeXT o Imágenes de la aplicación.
En cualquier caso, existen desventajas en este formato de distribución de software. ¿Pueden los paquetes combinar lo mejor?

Como puedes 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, tal como hago con los 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 Haiku también tiene FUSE). También me dijeron que puede haber "zonas packagefs" adicionales en el futuro, lo que probablemente significa que podré decirle a packagefs que almacene paquetes en particiones de disco separadas, por ejemplo. Me gusta esto; después de todo, si la partición del disco está en un medio extraíble, puedo sentarme frente a otra computadora y ejecutar aplicaciones allí.

También dijeron que la instalación de paquetes también funciona usando el método de arrastrar y soltar: simplemente arrastre el archivo a /system/packages o /home/config/packages para la instalación, y si extrae el archivo desde allí, se eliminará. Si arrastra un paquete con dependencias no satisfechas, el sistema solicitará su instalación preliminar.

Al principio no me quedó claro cómo maneja packagefs múltiples versiones del mismo paquete, ¿qué sucede si quiero instalar, por ejemplo, diferentes versiones de gcc u otros programas GUI? (Uno de los desarrolladores dijo, cito: "packagefs en sí no contiene nada que impida que se instalen varios paquetes con el mismo nombre, pero dado que libsolv de OpenSuse se usa para la resolución de dependencias, lo que no permite esto, estaba prohibido hacerlo y el propio HaikuDepot en la configuración". Puedo explicar por qué me gusta la idea de los paquetes .app, AppDir y AppImages).

Bibliotecas dinámicas

¿Existe tecnología de biblioteca dinámica? Sí, esto es visible, por ejemplo, si inicia una aplicación a la que le faltan bibliotecas haciendo doble clic:

Mi primer día con Haiku: ella es inesperadamente buena
¿Te imaginas esto en gnome, kde o xfce?

В Linux Un lanzamiento como este no revelaría nada. Veamos cuánto tiempo tarda en diferentes entornos:

¿Qué pasa con los cheques?

~> ldd
bash: ldd: command not found

Necesitas usar el 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.
¿Desde 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

Así que puedes colocar las bibliotecas junto al ejecutable y "simplemente funcionará". ¡Qué genial! Puedes incluir bibliotecas individuales en tu aplicación sin trastear con rpath ni configurar la variable LD_LIBRARY_PATH como en Linux. ¡Bien!

Hay una biblioteca (terrible en Linux) /boot/system/lib/libstdc++.so.6.0.24.
¿Qué pasa si la aplicación requiere una versión más reciente que la que está en /boot/system/lib?
El usuario promedio probablemente actualizaría a la última versión porque no hay ningún usuario "Administrador" con contraseña de root en este sistema [el autor insinúa simplicidad: aprox. traductor].
Bueno, al menos eso es lo que parece. (En realidad, "usuario" es el equivalente a root. Puede establecer una contraseña usando el comando passwd, luego indique PermitRootLogin=yes в sshd_config, y luego podrá conectarse externamente a través de ssh. Los desarrolladores me dijeron que, de forma predeterminada, todas las aplicaciones se inician como root. Quizás eventualmente lo resuelvan... Pero no estoy seguro de si me gustará.)

Debido a que no existen distribuciones de Haiku, los desarrolladores de aplicaciones tampoco tienen acceso a versiones más recientes que las disponibles para descargar en su sistema. El 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 tienes que perder el tiempo con archivos de escritorio y cosas así. Me dijeron que existe un servicio de registro especial que conoce aplicaciones, tipos de archivos e íconos. Siempre se notifica cuando se instala un paquete o se marca un archivo para su ejecución (usando el programa chmod o mimeset).
Me recuerda a algo Servicios de lanzamiento en Mac. Pero esto es lo que está ausente de los entornos de trabajo en Linux. ¡Excelente!

Los archivos binarios tienen íconos integrados como recursos, por lo que no necesita un ícono separado además de los archivos en su escritorio. Casi igual que en Macintosh System 1. ¡Genial!

Mi primer día con Haiku: ella es inesperadamente buena
Tipos de aplicaciones, tipos de documentos admitidos, recursos integrados e información de versión

Tracker (administrador de archivos) marca automáticamente los binarios como ejecutables. Esto es lo que esperaba de los entornos de escritorio. Linux Ya más de 10 años.
Todo esto es muy satisfactorio. ¡Es genial! La vida se vuelve tan simple. Es más elegante y parecido a un Mac que Xdg en LinuxO esto...

Mi primer día con Haiku: ella es inesperadamente buena
Aplicación en Linux sin que se haya establecido el bit de ejecución.

en gnomo eliminado la capacidad de iniciar archivos ejecutables desde un administrador de archivos, pero la comunidad armó un escándalo y todo fue devuelto.
También me dijeron que las aplicaciones usan la función. find_paths() en lugar de codificados /usr/bin и /usr/share (una característica común de los entornos de trabajo en Linux), lo que significa que se pueden mover por el sistema de archivos. ¡Una ovación de pie! En Linux Es tan complicado como siempre..

lo que me sorprendio

  • Estaba confundido que /boot Este es el punto de montaje de la partición desde el cual arranca el sistema. Por qué no "/"? así o /Haiku? (Explicación: de hecho, /boot Esta es siempre la partición de arranque, aparece en el escritorio como "Haiku" porque ese es su nombre. Mira a "/"como análogo del escritorio en Mac System 1, la raíz de una jerarquía que en realidad no existe en los discos).
  • El punto de montaje para los paquetes instalados por el usuario es /home/config. ¿Por qué no sólo /home? (Uno de los desarrolladores me explicó que no quieren contaminar el directorio de inicio, pero creo que config es un mal nombre porque hay un subdirectorio dentro bin/, por lo que no se trata solo de almacenar configuraciones).
  • ¿Cuál es la licencia para todo? Por ejemplo en Navegador web positivo al ver “Acerca de” no hay ninguna indicación explícita. El campo "Acerca de este sistema" dice que el código Haiku está bajo la licencia MIT. ¡Excelente! (También me dijeron que WebPositive viene con un sistema operativo bajo la misma licencia, pero su motor WebKit viene principalmente bajo BSD de dos puntos).

Lo que no funcionó como esperaba

Lo primero que me llamó la atención fue el nivel de soporte de hardware. Todo funcionó en mi netbook basado en Atom, incluida la WLAN. Pero hay algunas peculiaridades en el trabajo.

  • Inoperatividad total en hardware Macintosh, independientemente del modo EFI o la emulación de BIOS (Windows"). El sistema simplemente se congela si selecciono el icono en el gestor de arranque de Mac. Me dijeron que esto característica famosa y puedes arrancar usando repararse, pero estas configuraciones son demasiado complicadas para mí.
  • Aceleración de gráficos. Parece que todavía no es posible usar Radeon (tenía la pantalla negra), pero las cosas tampoco van bien en Intel. La aceleración de video en WebPositive es solo software, incluido H.264. Sorprendentemente, la orientación inicial está en vídeo. Uno de los desarrolladores aclaró que el vídeo de WebPositive funciona mediante hacks lentos.
  • ¿Sin sonido? "Los controladores de la tarjeta de sonido todavía están cambiando", dijo el desarrollador. Probablemente necesite que alguien admita el controlador HDA de manera similar al USB-3. Ahora, para obtener sonido, basta con un reinicio en caliente desde otro sistema operativo, y creo que esto se solucionará de alguna manera.
  • Los botones de control de brillo y volumen no funcionan. (La base ya existe en la forma de la aplicación Atajos: puedes vincular cualquier atajo de teclado a cualquier función que desees, pero hasta ahora Haiku no sabe cómo trabajar con teclas multimedia. ¿Quizás haya voluntarios?)
  • Control táctil con dos dedos. No funciona fuera de la caja. Hay un panel de configuración que dice "No se encontró ningún panel táctil, la configuración no tendrá ningún efecto". (Problema conocido con dispositivo de entrada ELAN, ACPI ETD050A).
  • Con la aplicación existente para leer archivos de cámaras digitales y teléfonos inteligentes en Android No pude sincronizar en los modos MTP y PTP. Sería genial si se pudieran montar como las demás particiones del sistema.
  • Cerrar la tapa de la computadora portátil no parece ser manejable. (Sé que Haiku todavía no funciona con ACPI: el soporte está implementado, pero no está habilitado de forma predeterminada; no hay reinicialización del controlador)
  • No pude crear una cuenta en bugtracker porque no funciona Captcha en WebPositivo.

Aplicaciones

El objetivo principal del sistema operativo es iniciar aplicaciones. Tenía miedo de que no hubiera solicitudes para trabajos reales con Haiku. Afortunadamente, me equivoqué, porque hay esperanzas de mejorar cuando el Haiku se utilice con más frecuencia.
Scribus (aplicación para diseño visual) lo es, y es una aplicación muy compleja basada en Qt. También hay Creador Qt (IED).

Me preguntaba si hoy en día la gente escribe aplicaciones Be nativas para Haiku usando herramientas nativas (si existen), o si es suficiente usar QtCreator (lo que facilitará la portabilidad de aplicaciones multiplataforma). La postura de los desarrolladores de Haiku es una “clara” preferencia por las aplicaciones nativas para Haiku. ¿Es verdad? Dudo que las aplicaciones para el trabajo real no sean multiplataforma (todas las aplicaciones utilizadas en mi trabajo son multiplataforma).

Se anuncia la compatibilidad con WxWindows приложений.

La falta de soporte para Gtk+ es frustrante. Esto significa que no habrá Gimp en Haiku en el corto plazo (bueno, creo), ¡pero hay un reemplazo en forma de Krita!

Además, creo que es necesario que haya una forma sencilla y clara de crear aplicaciones para Haiku. como esto - usando Travis CI y GitLab CI.

¿A dónde vamos?

¿Haiku se quedará atascado con el concepto BeOS UX? Creo que para ser atractivo, necesita calibrar cuidadosamente los nuevos diseños de UX al adoptarlos, manteniéndose fiel a sus fundamentos.
Por ejemplo:

  • Mantén la simplicidad, sin esas 100500 opciones que hacen... Linux "complejo".
  • Utilice un cursor de flecha para el mouse en lugar de una mano extraña.
  • ¿Habrá un muelle? (Soy consciente de que hay algo como Dock llamado LaunchBox, aún más cerca del muelle LnLauncher, ¡pero el BeOS original ya tenía un Dock en 1998!)
  • ¿Menú global? (Obviamente no, ya que JLG no ve ningún beneficio particular).
  • ¿Cambio rápido de ventana? (Dijeron que puedes intentar activar “Apilar y mosaico", manteniendo pulsada la tecla Windows al arrastrar una ventana, pero no es intuitivo y, además, no me funciona.
  • ¿Animación de apertura y cierre de ventanas?
  • ¿Sombras fuera de las ventanas?
  • ¿Soporte de tema como en Aqua? (Sí, puedes, hay infraestructura y herramientas, por ejemplo, HaikuThemeManager, pero alguien necesita crear los hilos. Lo probaría yo mismo, me dijeron que hay documentación en https://xref.plausible.coop/source /xref/haiku/headers/os/interface/ControlLook.h, pero no ahora).

Se trata de matices sutiles, teniendo en cuenta que el sistema no debe perder su individualidad única.

Conclusión

Haiku realmente me abrió los ojos, me mostró cómo el ambiente de trabajo “simplemente funciona”.
Hace más de 10 años cambié de una Mac a Linux Y desde entonces hemos estado buscando ese mismo nivel de sofisticación y belleza, y Haiku cumple con creces en muchos sentidos.

Para ser justos, hay fallas, pero una sorprendente cantidad de cosas, incluido hardware como WLAN o impresoras, “simplemente funcionan”.

Sin embargo, en primer lugar, el sistema tiene un concepto de entorno de trabajo que está ausente en los entornos de trabajo en Linux.

Tener un sistema completo (en lugar de un kernel y varios entornos de usuario competitivos) hace que todo sea simple y consistente.

La falta de diferentes compilaciones (distribuciones) hace que todo sea aún más fácil.

Depender de un solo usuario por sistema reduce aún más la complejidad.

El resultado: un sistema muy simple, sofisticado y minimalista en muchos aspectos, diseñado para “simples mortales” y no para administradores de sistemas UNIX.

La esperanza es que cuando este sistema se vuelva más popular (como inevitablemente sucederá), su complejidad no aumente.

Ya escribí sobre #LinuxUsabilidad en la serie de artículos anterior. Es bueno saber que Haiku aborda muchos de los problemas planteados. problemas, incluidos los genéricos, que afectan a los entornos laborales en Linux.

Un día me bastó para convencerme: quiero utilizar este entorno de trabajo para el trabajo diario y también busco opciones para contribuir al desarrollo del sistema.

¡Inténtalo tú mismo! Después de todo, el proyecto Haiku proporciona imágenes para arrancar desde DVD o USB, formado diariamente. Para instalar, simplemente descargue la imagen y escríbala en una unidad flash usando Autor de aguafuertes.

Del autor de la traducción: este es sólo el primer artículo de la serie sobre Haiku, el resto está pendiente de traducción y se publicará más adelante.

Fuente: habr.com

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster