Emacs en una tableta?


28

P: ¿ se puede instalar / usar Emacs en una tableta con un número mínimo de roturas?

Había asumido que Emacs funcionaba básicamente con todo. Sin embargo, después de hurgar un poco, parece que ejecutar Emacs en una tableta podría ser un gran dolor de cabeza . ¿Pero que se yo? De ahí la pregunta.

No tengo una tableta, por lo que mi terminología probablemente estará fuera del alcance de la abuela. Mi comprensión limitada es que Apple no permitirá que Emacs ingrese a la tienda de aplicaciones, pero posiblemente exista una versión con jailbreak en el éter. Hubo un momento en que uno podía obtenerlo en la tienda Google Play para Android, pero es viejo, está roto y requiere un poco de juego no trivial . Me resulta difícil creer que la única opción viable es usar Emacs en una tableta de Windows , tal vez porque la ironía es demasiado grande.

Estoy interesado principalmente en si podemos hacer esto en una tableta Apple o Android, no por amor entusiasta por cualquiera de las plataformas, sino simplemente porque son tan omnipresentes y aparentemente sin apoyo. Asi que:

  • ¿podemos ejecutar un Emacs completamente funcional (o incluso mayormente), preferiblemente uno que no sea un negocio único, sino que se actualice con nuevos lanzamientos?
  • ¿instalarlo con un mínimo de lágrimas, lo que significa que sin tener que hacer jailbreak a un dispositivo o pasar una cantidad excesiva de tiempo en una instalación de Rube Goldberg ?

1
Por cierto, "ubicuo" depende en gran medida de dónde viva. Aquí en Polonia, muchas personas poseen dispositivos Android (teléfonos y tabletas) y muy pocos poseen iOS.
mbork

2
"Me resulta difícil creer que la única opción viable es usar Emacs en una tableta de Windows, tal vez porque la ironía es demasiado grande". Para mí, la ironía solo lo hace más creíble. :-)
Malabarba

Por supuesto, si tiene acceso remoto a una máquina, puede usar un cliente SSH para ejecutar Emacs de forma remota. Si ejecuta tmux en la máquina remota, también es inmune a los abandonos temporales.
Lindydancer

Yo sé que usted está pidiendo específicamente sobre las tabletas Android y iPads, pero no son otros sistemas operativos para tablets: Emacs 25.2 funciona perfectamente bien en mi tableta de Windows 10. (Definitivamente, también recomiendo tener un teclado de diente azul: usar uno en la pantalla para Emacs es súper frustrante).
Omar

Respuestas:


14

Utilizo Linux Deploy para ejecutar Debian en un chrootentorno en mi tableta Nexus 7. Con eso, puedo hacer lo que quiera, incluso ejecutar Emacs. Es completamente funcional, completo con todas las últimas actualizaciones y paquetes.

Si elige usar un dispositivo Android y no usa un teclado bluetooth, le recomiendo que busque en el teclado del pirata informático .

Si no quiere rootear su dispositivo (lo cual es trivial para la mayoría de los dispositivos), puede probar GNURoot , aunque yo mismo no lo he probado.

Supongo que para hacer mi proceso un poco más claro, aquí está:

  1. Instalar Linux Deploy en tableta
  2. Use Linux Deploy para instalar un entorno Debian, Arch o Ubuntu
  3. Inicie el entorno en Linux Deploy
  4. SSH en el medio ambiente utilizando la aplicación SSH de su elección (la mía es JuiceSSH )
  5. Básicamente, ahora estás utilizando un dispositivo Linux. Use el administrador de paquetes que elija para instalar los paquetes que elija.

9

Una nota sobre iOS.

Ciertamente, Apple nunca permitirá que Emacs esté en la App Store, ya que se enfrenta a todo lo que Apple representa. Aquí hay algunas razones:

  1. Apple no permite a los usuarios ejecutar el código descargado (ver esto ).

Esto mataría todo uso package.elque sería bastante malo, en mi humilde opinión. Dado que Emacs es básicamente una máquina virtual lisp, las posibilidades de que ejecute el código descargado son prácticamente del 100%.

  1. Apple no permite que las aplicaciones modifiquen archivos arbitrarios.

Tendría que crear un pequeño jardín amurallado para que Emacs juegue, porque no puede salir de su caja de arena.

  1. Apple carece de un entorno para que se ejecute Emacs.

Con esto, me refiero a los coreutils, compiladores, intérpretes, etc. Emacs solo se vuelve realmente bueno cuando tiene acceso a programas que entienden los idiomas que admite. Diga adiós a los correctores de sintaxis, linters, correctores ortográficos, motores de finalización inteligente y casi cualquier cosa que exista fuera de Emacs. En teoría, también podría portarlos, pero eso no es realmente posible sin root, por muchas razones.

La verdad es que Emacs es demasiado poderoso para que Apple lo apruebe. Hacerlo sería ir en contra de su filosofía.

Todo esto cambia con la raíz. Jailbreak, ya no tenemos que escuchar lo que dice Apple, y como era de esperar, existe un Cydia Emacs (aunque puedo decir poco más al respecto).


En Android, el punto 3. sigue en pie, pero no muy bien porque la raíz es fácil de obtener. La mejor manera es simplemente instalar Linux en un chroot (que es súper fácil y detallado en otra respuesta) y seguir su camino feliz. Dicho esto, no hay una razón técnica por la que un desarrollador inteligente no pueda simplemente volver a crear Emacs para Android y ponerlo en la tienda de aplicaciones, es solo que nadie lo ha hecho.

Supongo que esto se debe simplemente a que pocas personas están ansiosas por usar un programa completamente controlado por teclado que usa una tonelada de teclas modificadoras en tabletas con entrada de texto cuestionablemente de alta calidad.


Al revés: los autores de Emacs son los que no lo permitirán, ya que los requisitos de licencia de Apple no cumplen con la GPL; ahora, lo que hace emacs significaría que Apple no lo permitiría.
user151019

6

El paquete Termux de Play Store incluye paquetes apt, incluido un emacs reciente. Es el modo de caracteres, no la GUI, pero es bastante funcional.


4

Las instrucciones concisas para el acceso con root también se encuentran aquí http://www.reddit.com/r/emacs/comments/2adkvc/how_to_get_emacs_to_run_on_android_panously/ . Tenga en cuenta que el enlace http://emacs.zielm.com/data/ parece estar roto. Sin embargo, traté de encontrar una manera de hacerlo sin root, y aquí hay algunos resultados.

Intenté seguir la opción GNURoot ofrecida en un par de lugares (además de la respuesta actual, http://www.linuxuser.co.uk/features/run-linux-on-android-part-1 , http: // www.emacswiki.org/emacs/EmacsOnAndroid ), y dado que se tomó una búsqueda moderada de alguien con poca experiencia en Linux, esto puede ser útil para otros.

GNURoot le permite crear una compilación de Linux dentro de su Android. El 'wheezy' que ofrece por defecto es 'debian'. Puede seleccionar una compilación diferente si desea crearla. Una vez que lo haya creado, ejecútelo con la opción fakeroot marcada, luego verá la consola de su superusuario.

Aquí encontrará una guía sobre cómo instalar Emacs en varias versiones: http://wikemacs.org/wiki/Installing_Emacs_on_GNU/Linux

Emacs 23

Ejecutar Emacs 23 resultó ser bastante fácil. Simplemente escriba en apt-get install emacsla consola, responda sí en las comprobaciones y podrá ejecutar emacs escribiendo emacs.

Emacs 24

No pude ejecutar Emacs 24, pero tal vez alguien pueda aprender de esto y encontrar una manera más rápida. Si alguien puede hacerlo funcionar, tal vez puedas hacer un seguimiento o actualizar esta publicación.

Emacs 24 parece mucho más complicado, ya que no está bien mantenido en algunas versiones (quizás alguien entienda mejor la situación). Está disponible en 'emacs-snapshot' que se puede encontrar a través de la serie de enlaces http://emacs.naquadah.org/ -> https://launchpad.net/~cassou/+archive/ubuntu/emacs -> https : //launchpad.net/~ubuntu-elisp/+archive/ubuntu/ppa , que debería ser la versión de trabajo.

Combinando los resultados de la segunda secuencia de enlaces, necesitará escribir lo siguiente. No tiene que escribir sudo si marca el cuadro raíz falso en el inicio.

Nota: No tendrá que purgar si no tiene instalada ninguna versión de emacs.

Nota 2: Para obtener la función add-apt-repository, deberá instalar una extensión de antemano, como se dice aquí /ubuntu/38021/how-to-add-a-ppa-on-a-server .

For my version this command worked to add 'add-apt-repository'.
$ sudo apt-get install python-software-properties

$ sudo apt-get update
$ sudo apt-get install
$ sudo apt-get purge emacs emacs-snapshot-common emacs-snapshot-bin-common emacs-snapshot emacs-snapshot-el emacs-snapshot-gtk emacs23 emacs23-bin-common emacs23-common emacs23-el emacs23-nox emacs23-lucid auctex apel emacs24 emacs24-bin-common emacs24-common emacs24-common-non-dfsg emacs24-el

To add this PPA:
$ sudo add-apt-repository ppa:cassou/emacs
Or the one he refers to:
$ sudo add-apt-repository ppa:ubuntu-elisp/ppa 
$ sudo apt-get update

Then, you should be able to type for emacs-snapshot:
$ sudo apt-get install emacs-snapshot-el emacs-snapshot-gtk emacs-snapshot

*Or*, for emacs24:
$ sudo apt-get install emacs24 emacs24-el emacs24-common-non-dfsg

Desafortunadamente, ninguno de los ppa ofrecidos en estos enlaces parece estar funcionando en este momento, o he perdido un paso al agregarlos. GNURoot no parece una opción fácil de usar. Quizás alguien pueda completar la secuencia. Supongo que este tipo de instrucciones eventualmente deberían convertirse en una wiki comunitaria.

Puede encontrar más información aquí: http://www.emacswiki.org/emacs/EmacsSnapshotAndDebian .

Otra opción útil puede ser instalar la opción wheezyx en lugar de wheezy para empezar, ya que puede ofrecer un tipo de soporte para mouse a través de la interfaz táctil.


0

Estoy ejecutando Emacs en Android 4.2.2. Comenzándolo desde la Terminal IDE, todo se carga bien. Sin embargo, no lo he probado en estrés.


1
¿Cómo lo instalaste?
Gilles 'SO- deja de ser malvado'

No recuerdo, fue justo después de que obtuve la tableta (hace casi un año) con la fiebre de probar aplicaciones. Echaré un vistazo e intentaré dar una respuesta razonablemente precisa un poco más tarde.

Ok, aquí está, lo instalé siguiendo esto: quoderat.megginson.com/2014/02/17/…

1
Sin embargo, no es una solución práctica, sino más bien una emergencia / respaldo. Inútil con la pantalla táctil (casi), y mi teclado Bluetooth externo se comporta de manera errática, me harté de errores e inconsistencias relacionadas con él.

0

Aunque conseguí que Emacs trabajara con algunas de las opciones aquí, no estaba contento ya que las implementaciones estaban parcialmente modificadas, lo suficiente como para ser molesto.

Instalé la aplicación zshaolin de Google Play. No es gratis (unos pocos dólares), pero tiene un Emacs que parece completamente utilizable, con teclas que funcionan correctamente y todos los comandos que he probado hasta ahora. Es un Emacs anterior, 24.1, y zshaolin simplemente reempaqueta muchas cosas como Terminal IDE y otras, pero al menos funciona bien. También hay muchas otras cosas como vi y Perl, etc.


0

Si realmente necesito llegar a Emacs en mi iPad, lo hago a través de SSH usando Serverauditor . Es monocromo y la interfaz del teclado es tediosa. Un cliente Emacs especialmente diseñado para iPad probablemente podría resolver estos problemas. (EDITAR: esto supone que tiene acceso a un servidor con Emacs, por supuesto).

EDITAR: También descubrí recientemente Cloud9 , que me permite acceder a emacs a través de Safari. Las combinaciones de teclas siguen siendo el mayor problema, incluso en Windows , y el hecho de que el teclado general de iOS no tiene Ctrlo Altlo empeora mucho.


0

Estoy ejecutando GNU Emacs en un iPad en iSH, una aplicación de desarrollador relativamente nueva que es esencialmente un contenedor Alpine Linux. iSH le permite instalar Emacs usando el administrador de paquetes apk. Aquí se explica cómo instalarlo:

1. Install [TestFlight] from the App Store.
2. Open a web browser on the iOS device and click here [https://testflight.apple.com/join/97i7KM8O] to review/accept the terms and start testing iSH using TestFlight.
3. Click "Install" to install the iSH Shell application onto the iOS device.
4. You will now have the iSH app on your iOS device. Open this app to run the Alpine Linux shell. 
5. Install Emacs with apk by entering the command "apk add emacs". After Emacs installs, enter the command "emacs" on the command line to run it. 

Como alternativa a TestFlight, iSH puede cargarse directamente en un iPad con la aplicación Xcode en una Mac.

No funciona tan rápido como algo que se estaría ejecutando de forma nativa en un iPad, pero es lo suficientemente rápido para muchos propósitos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.