BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Usuarios de Android que también emplean Linux (u otro UNIX-like): consejo.

mceds

Aclarar primero que jamás he usado Android. Bien, tengo un N900 con Maemo y cada día que pasa estoy más encantado con él. Sus limitaciones técnicas y su abandono completo por parte de Nokia no logra enturbiar su potencia. Maemo, para el que no lo sepa, es posiblemente el sistema operativo móvil más parecido a GNU/Linux: de hecho, para él se pueden compilar aplicaciones de Debian sin demasiados contratiempos (sobre todo las de consola; con las gráficas hay que "tunear" bastante más, por obvias cuestiones de interface).

Pero claro, mañana mismo puede estropearse de forma definitiva (algo muy factible: que se me fastidie el conector micro USB y no encuentre recambio), me lo pueden robar (sin duda, por desconocimiento) o las operadoras pueden incluir alguna putada técnica que lo haga inmanejable, aunque esto es menos probable. Y tengo que tener algo pensado ante tal eventualidad. Las dos opciones:

--Comprar otro N900.
--Dar el salto a Android.

Por eso pregunto a los usuarios de Android: ¿hasta qué punto es comparable a un PC con "Linux de verdad"? ¿El acceso como root es retorcido e implica pérdida de rendimiento o de garantía? ¿Posee una consola con bash? ¿Se podrían compilar programas de GNU/Linux para Android? ¿Alguien tiene algún modelo con teclado físico? ¿Cómo va?

BocaDePez
BocaDePez
2

Lista de parecidos: Android también se cuelga y a veces reinicia solo.

Partiendo de que arrancas con una máquina virtual, que al parecer hace un fork para cada aplicación ejecutada y un "entorno aislado".

Hay aplicaciones "nativas para Android" bueno, nativas para Linux compiladas para Android, necesitan ser root para ejecutarse, hablo de algún paquete de herramientas (busytool, sshd... ) que permiten tener algo similar a un GNU, pero comiendo batería sin contemplación. Y la interfaz gráfica de esas aplicaciones: por supuesto es java sobre un fork de la MV de Android...

El uso para el que está destinado es muy sencillo, pequeñas aplicaciones de usuario, pequeñas porque van en máquina virtual y entorno aislado, así que poca virguería.

Si quieres hacer un entorno GNU vas a tener que fiarte mucho de las aplicaciones (o compilarlas tu y copiarselas a mano, chungo sin primero instalar alguna librería o apk), pues o son root o no tendrán ninguna posibilidad. Aunque se use de núcleo un Linux, el espacio de trabajo es muy distinto, la gestión de usuarios muy distinta (entreveo que hay un usuario por cada aplicación instalada que se mete en los grupos de permisos que has aceptado al instalar, pero igual otro te puede guiar mejor). Y hablando de permisos... cuando instalas una aplicación, por ejemplo WhatsApp, tienes dos opciones, aceptar todos sus permisos o no instalarla, no puedes decir, pues si, pero no quiero que me mire el número de teléfono, o me parece todo bien, pero no quiero que pueda enviar SMS por mi... imagino que esto en móviles siempre ha sido así.

En cuanto a espacio, disco y memoria, se hacen dos separaciones muy estrictas: lo que va para el sistema (lo que Google, tu fabricante y tu operador consideran "sistema" vamos) y lo que va para el usuario y las aplicaciones que este guste, he de señalar que cualquier terminal recién instalado tiene como una veintena de aplicaciones del sistema, algunas ni se ven en el menú y, por supuesto, no se pueden tocar sin ser root, algunas como la agenda o el servicio de telefonía vale pero... que me cuelen: Google Sites, Maps, Places, Street View, Búsqueda por voz, Talk... como aplicacion del sistema intocable me toca un poco la moral. Lo peor, que esa separación también va para la RAM, y nunca sabes cuanta "RAM del sistema se está utilizando" tu te compras un teléfono con 256MB y lo máximo que vas a tener libre van a ser, pongamos, 90, y ya puedes hacer malabares, que así se queda: 90 para tus aplicaciones y 166 para el "sistema". 90 no te da para abrir el Opera Mobile mientras estás conectado al talk y escuchas música... bueno, una de las tres caerá o se reiniciará tan pronto se acabe la memoria. Ahí Android tiene sus preferencias: en función del tiempo y uso que tenga cada aplicación va matando lo que él estima oportuno, que igual tu piensas que tienes el sshd funcionando, pero como luego te pusiste a escuchar lo último de Camela resulta que puso en hibernación al proceso en el 99% de transferencia de un fichero...

Android no es GNU, ni nada parecido, tiene un kernel Linux para la imagen que eso da, para ser "cool" y, tal como dice la chapita que regalaron esta semana en mi facultad "Free and Open" pero lo que hay por detrás es mucho más oscuro... es un firmware para móvil más, con sus secretismos y lo único que lo ha hecho famoso: no dar tanto quebradero para instalar aplicaciones sin firmar y que a los frikis (como yo) se les dice "Linux" y se excitan, da igual lo que vaya por encima de ese Linux.

PD: Sobre la MV de Android... no sería un problema si fuese tan extremadamente lenta y pesada... a ver... que mi pentium 100Mhz con 16MB de RAM podía ejecutar más aplicaciones sin cascar ¡Por Dios! Vale que es ARM y las comparaciones son odiosas pero... no puede ser... 256MB de RAM, sólo 90 para mis cosas y algo tan sencillo como un cliente de IM (WhatsApp) se lleva 16-20MB para estar en segundo plano.

🗨️ 45
mceds

Hostia, qué respuesta más currada. Muchas gracias.

Ergo deduzco de todo esto que no hay coj... manera humana de evitar la dichosa Dalvik. Es decir, ¿no se puede compilar y ejecutar algo que no pase por la MV? Si el excepcional reproductor MPlayer no está en los repositorios de Google, ¿garlic and water?

Parece que voy a tener que cuidar el N900 como oro en paño.

🗨️ 42
BocaDePez
BocaDePez
-1

Nunca me molesté en meterme tanto en el tema Android, pero por lo que leí por aquí de un comentario que era bastante sensato y correcto en el resto de su contenido: no. Es sencillo, puedes hacer un daemon, como el sshd, que vaya nativo y pase de Dalvik, pero en algún momento tendrás que habilitar una interfaz que lo arranque, y cualquier aplicación gráfica pasa necesariamente por la MV (al usar el toolkit gráfico de Android, no hay más), así que al final, ese ejecutable nativo se está lanzando desde Dalvik y, por experiencia, diría que se muere/para en cuanto el sistema mata/para la MV que lo originó (lo que puse arriba del sshd me ha pasado, tenerlo ejecutando y que se "volviese a iniciar" cuando volví a la interfaz gráfica de configuración porque no conseguía conectar).

Me imagino que hay métodos, por supuesto, añadir una llamada a algún script de inicio, son relativamente fáciles de encontrar a pesar del enrevesado sistema de directorios de Android... pero en cuanto quieras algo gráfico, o te curras unas librerías (Qt, GTK, lo que sea...) y se las instalas (para eso ya te montas una alternativa como Replicant, vamos ;) ) o te aguantas con la Dalvik. Y para tocar algo del sistema, léase acceder a la agenda, cámara, llamadas VoIP... la primera opción se complica exponencialmente, que Android será libre y tal pero por algún motivo a los de Replicant les cuesta tanto y tienen tan pocos móviles soportados...

🗨️ 2
mceds

Me refería más bien a las utilidades de consola. Las gráficas tampoco serían muy importantes, pues probablemente entre las miles de apps que ya tienen en catálogo, habrá de todo.

Pero, por ejemplo, tener un sed, un awk, un python, un ifconfig, un netstat, un rename... esas cosas con las que estamos tan familiarizados en una shell de GNU/Linux.

🗨️ 1
BocaDePez
BocaDePez
-1
BocaDePez
BocaDePez
-1

Después de tanta tontería junta, más vale que no le hagas demasiado caso al refrito de cosas -SI- y cosas -NO- que ha largado el amigo.

Como ejemplo:

- Tengo un SONY bloqueado por el operador.

- Mi teléfono es de la gama 2011, actualizado (por SONY) a la última ICS.

- Estabilidad ABSOLUTA.

- Soy root.

- Tengo todas las utilidades GNU necesarias, incluida la consola,

- No uso practicamente nada que no sea del propio Android de SONY (que hace unas aplicaciones realmente buenas)

- Con 512 MB de ram suelo tener entre 220 y 160 MB libres (además de 64 MB de zRam), cosa que además, es indiferente pues la gestión de memoria es la propia de Linux y la discriminación que realiza Android es excelente.

- El sistema de directorios de Android está bastante bien definido ( /system para el propio Android, /data para configuraciones y datos de usuario /cache para datos transitorios y descargas /sdcard para la tarjeta SD, etc)

- La batería (en el mio es de 1500 con una pantalla de resolución 480x854 con tecnología Bravia2) y me dura entre un día y medio y dos días y medio usándolo a tope (hablando aguanta entre 180 y 260 minutos)

Evidentemente, un PC puede funcionar mejor (independientemente del micro) pero es que se trata de un TELEFONO y no te cambio mi Android por tu Maemo. I'm sorry ;)

Saludos

🗨️ 37
mceds

Me temo que vamos a estar de acuerdo en lo de no intercambiar nuestros sistemas operativos. I'm sorry too.

De todos modos, no sé en qué contradicen tanto tus hechos a lo expuesto por el amigo al que atribuyes tonterías (supongo que él se bastará para defenderse). Una pregunta: ¿cuáles son esas utilidades GNU necesarias? ¿Cuántas de consola?

🗨️ 1
BocaDePez
BocaDePez
-1
BocaDePez
BocaDePez

Bueno, iré punto por punto, que "sin ánimo de ofender" pero bien que tachas lo que digo de tonterías

Primero, si eres root, no es una posibilidad que te haya dado el fabricante, y con la mayoría de sistemas para hacerlo, luego en el servicio técnico te pueden considerar la garantía por nula ¿Seguro que tu herramienta para hacerse root no tiene alguna puerta trasera, virus o espía?

Segundo, no tienes todas las utilidades GNU necesarias, no de serie, y busybox no es "todas las utilidades necesarias". Si tienes un bash te lo has instalado tu, la consola de desarrollo es eso, una consola de desarrollo, no una terminal para el usuario.

Nadie ha discutido que las aplicaciones de Android sean pocas, malas o peores.

Con 512MB de ram tienes 160MB libres, en un teléfono móvil que todo lo que tiene que hacer es estar atento a las llamadas... y tal vez algún cliente de IM. Eso es preocupante... 512MB es lo que gasta un servidor X, con entorno de escritorio, administrador de ventanas, con navegador de internet, cliente de IM y un terminal abiertos, no hace falta que te mencione todos los sistemas y módulos que necesita un PC y no un móvil. Hay distribuciones Linux para 32MB de ram, con entorno gráfico y muchas pijadas... considero que un SO para móvil debería ir más por ese lado, si un friki lo puede hacer por hobby ¿Porque no puede Google?.

Si, si... /data para los datos, /system para el sistema, es muy fácil ¿No?... No: /s como enlace a /system, /d como enlace a /data, /system/data, /system/d, /data/android, /sdcard es enlace a /mnt/sdcard (como debe ser, además)... luego empieza a meter cosas en la SD según le da a él la gana... al final ya ni sabes donde buscar las cosas... no es que sea lioso, porque es un sistema pequeño, pero enrevesado es un rato.

¿Dos días y medio de batería? ¡Ja! Symbian, BADA, hasta Windows Phone... (de Maemo y Replicant no se), no es la duración normal de una batería de móvil, nueva debería dar al menos una semana, con BADA he llegado a ver 2 meses, usándolo y conectándolo a la wifi de casa, eso si, nuevo.

No se trata de que un PC pueda funcionar mejor, sin duda, lo que se trata es que para la potencia de cálculo que tiene, Android tiene muy poco rendimiento y gasta mucha memoria para lo que hace. Si lo comparamos con la competencia, solo hay que ver como la batería dura la mitad con el mismo hardware para darse cuenta de que tiene serios problema de optimizado.

Comparado con otros SO de teléfono, Android hace MUY MAL su trabajo.

Y una aclaración que hay que hacer, porque siempre se acaba liando la perdiz con eso: Los fabricantes y Google dejan descargar el núcleo de Android porque están legalmente obligados. Y no tiene mucho mérito, es Linux con un par de parámetros cambiados, pero eso no quiere decir que te puedas montar tu propio Android, igual que con el paquete kernel de cualquier distro no tienes nada para meter en tu PC.

Tu puedes sentirte todo lo libre que quieras, y que tu SO es superabierto y muchas cosas, solo por poder compilar el núcleo, pero eso no es más que un placebo, eres víctima de la estrategia comercial. Por encima del núcleo hay varios paquetes de código cerrado, y no solo drivers, un sistema operativo no lo hace solo el núcleo. No podrías, por más que te empeñes, formatear la ROM de tu móvil y compilar un Android funcional de cero para él.

🗨️ 34
BocaDePez
BocaDePez
-1
🗨️ 33
BocaDePez
BocaDePez
2
🗨️ 32
BocaDePez
BocaDePez
-1
🗨️ 31
BocaDePez
BocaDePez
1
🗨️ 30
mceds
🗨️ 5
BocaDePez
BocaDePez
-1
🗨️ 4
mceds
🗨️ 3
BocaDePez
BocaDePez
-1
🗨️ 2
mceds
🗨️ 1
BocaDePez
BocaDePez
-1
BocaDePez
BocaDePez
-1
🗨️ 23
BocaDePez
BocaDePez
1
🗨️ 3
BocaDePez
BocaDePez
-1
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
-1
BocaDePez
BocaDePez
🗨️ 18
BocaDePez
BocaDePez
1
🗨️ 17
mceds
🗨️ 16
superllo
🗨️ 3
mceds
BocaDePez
BocaDePez
-1
🗨️ 6
BocaDePez
BocaDePez
🗨️ 5
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
-1
🗨️ 2
BocaDePez
BocaDePez
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 4
BocaDePez
BocaDePez
-1
🗨️ 1
mceds
mceds
BocaDePez
BocaDePez
-1

Por cierto, yo utilizo Walkman de Sony (reproductor para Andorid que viene con el sistema ICS) y no se me ocurre que otra cosa se le puede pedir.

La reproducción de vídeo (Bravia) y el apartado fotográfico y edición de fotos superan mis necesidades.

El gestor de escritorios y Widgets es excelente y consume muy pocos recursos.

Wifi y DLNA son excelentes (el mio no tiene NFC)

Comentario sobre el Kernel:

Se trata de un kernel Linux puro y duro al que se han agregado (como tantas otras cosas) muchas funcionalidades propias de teléfonos y demás sistemas embebidos.

En el caso de Sony, te proporciona los fuentes originales completos (que también puedes descargar de www.kernel.org/ la configuración exacta de cada teléfono.

Es decir, si lo compilas tu mismo tienes exactamente el mismo kernel original del teléfono.

Comentario sobre Dalvik:

Las aplicaciones gráficas propias de Android van con un una versión tuneada de Java y Dalvik es su máquina de ejecución.

Teniendo en cuenta que optimiza cada aplicación, cuando se instala, para el teléfono en donde se va a ejecutar, considero

que tiene un rendimiento más que aceptable.

En cuanto a los datos internos, se almacenan en sqlite3 (bastante standard en Gnu/Linux) y utiliza para su tratamiento sqlite3.

Filiprino

Nunca se me ha colgado un GNU/Linux. Lo único que se me ha quedado colgado ha sido la interfaz gráfica o el módulo de la tarjeta gráfica. Basta con recargar el módulo o reiniciar el entorno gráfico.

🗨️ 1
mceds

La del BocaDePez de arriba era una frase retórica para indicar que los parecidos entre Android y GNU/Linux son tan leves, que sólo coinciden en lo que es común a todos los programas y sistemas operativos: que se cuelgan. Simplemente, porque no existe, en el entorno comercial, un programa libre de bugs (otra cosa son los entornos críticos en los que el software es examinado con lupa y no se suele modificar en muchos años).

Filiprino
1

Si estás contento con el N900, quizá te podrías comprar otro N900.

Android es un sistema lelo bastante más cerrado e incontrolable que Maemo, lo cual también repercute en la seguridad.

Qué quieres que te diga, utilizo Android porque no hay un Linux de verdad. Si Nokia hubiera sacado adelante MeeGo hubiera utilizado móviles con dicho sistema, pero se decantaron por Windows Phone que es absolutamente peor que Android. Lo único que tiene una interfaz diferente a iOS/Android que no está mal pensada para móviles y tabletas.

Y el N900 para los estándares de hoy día tiene ya un hardware muy flojo.

El primer BocaDePez es un comentario muy informativo y especifica bien todas las contrariedades del sistema que no son pocas con respecto a un GNU/Linux de verdad. En general para garantizar un mínimo de velocidad cambian ciclos de CPU por memoria. Es lo que tiene la MV de Android. Chupa mucha memoria. Estamos hablando de que los teléfonos han de llevar 1GB como mínimo para ir sueltos en cualquier situación. Un puñetero teléfono. Pero bueno, la memoria de sistema cada vez es más barata, ¿no?, aunque la tengas que compartir también con la gráfica cuando te pongas a jugar, y la gráfica sin ningún tipo de caché extra.

Es por eso que los iPhone no han metido 1GB de memoria hasta este año 2012 con el iPhone 5. No utilizan máquina virtual, es código nativo. El 4S y el 4 llevaban 512MB de RAM mientras que un Galaxy S llevaba 512MB y el S2 tuvo que subir a 1GB. Y ahora el S3 lleva entre 1GB y 2GB según el mercado en el que se venda. Y las tabletas equivalentes en gama ya incorporan 2GB (Note 10.1, Nexus 10, Asus Transformer Infinity, etc.).

Como punto a favor tiene que es más fácil de desarrollar ya que se basa en Java. Aunque programar en C++ con un buen entorno de desarrollo tampoco es mucho más complicado ya que es igualmente trazable.

Por eso pregunto a los usuarios de Android: ¿hasta qué punto es comparable a un PC con "Linux de verdad"? ¿El acceso como root es retorcido e implica pérdida de rendimiento o de garantía? ¿Posee una consola con bash? ¿Se podrían compilar programas de GNU/Linux para Android? ¿Alguien tiene algún modelo con teclado físico? ¿Cómo va?

Se parece muy poco a un Linux de verdad. El acceso root no implica pérdida de rendimiento aunque necesitas una aplicación adicional para poder activar root o bien utilizar las herramientas de desarrollador. No posee una consola con bash y la consola de desarrollador (ADB shell) se asemeja más a un busybox que a otra cosa (es lo único que puedes instalar en el móvil, BusyBox). No se pueden compilar programas de GNU/Linux para Android salvo que hagas una modificación masiva para adaptarlos a la biblioteca de C/C++ reducida del Native Development Kit. Modelos con teclado físico desgraciadamente hay pocos y los que hay no son punteros en hardware, al contrario del N900 que cuando salió era bastante potente para la época.

¿Es Android un buen sistema? Sí. ¿Podría ser mejor? Desde luego, mucho mejor. Pero para ser mucho mejor debería seguir un camino muy distinto o al de ahora añadirle opciones totalmente distintas o muy mejoradas de lo que hay.

🗨️ 3
mceds
1

Gracias también por tu mensaje.

Una puntualización que es más bien una especulación (aunque tengo mis razones para creer que es cierta): Nokia no se decantó por Windows Phone; más bien Nokia fue comprada por Microsoft por una cantidad de dinero astronómica (normal: a MS no le quedaban más opciones en ese mercado) y, por supuesto, si Microsoft manda en Nokia, el sistema operativo iba a ser WPhone.

Hardware Nokia + Maemo* + QT + Myriad Alien Dalvik para ejecutar el software de Android (con o sin royalties para Google) = éxito apabullante en casi cualquier escenario.

* Lo prefiero a Meego, soy debianita.

🗨️ 2
BocaDePez
BocaDePez

Tienes razón en lo de la compra.

Microsoft ha pagado un disparate a Nokia para utilizarlo como ¿ultimo? trampolín para su WinMobile, poniendo incluso a uno de los suyos al frente.

De momento, y no creo que en el futuro, pervivan más allá de dos o tres SO en los móviles ya que sin desarrollo comunitario o una fuerte inversión a los demás les va a costar mucho entrar.

No quiero pecar de profético, pero Maemo, Firefox y derivados no tienen mucho futuro, EMHO.

🗨️ 1
mceds

¿Que Maemo no tiene futuro? Maemo (y sus derivados, Meego y Tizen) están más muertos que MS-DOS.