Emacs na tablecie?


28

P: Czy Emacsa można zainstalować / używać na tablecie z minimalną liczbą łez?

Zakładałem, że Emacs działał w zasadzie na wszystkim. Jednak po kilku przeczuciach wygląda na to, że uruchomienie Emacsa na tablecie może być ogromnym bólem głowy . Ale co ja wiem? Stąd pytanie.

Nie mam tabletu, więc moja terminologia prawdopodobnie będzie bezdotykowa na poziomie babci. Moje ograniczone zrozumienie jest takie, że Apple nie wpuści Emacsa do Appstore, ale prawdopodobnie istnieje eterowa wersja z jailbreakiem . Był czas, kiedy można go było kupić w sklepie Google Play na Androida, ale jest stary, zepsuty i wymaga trochę nietrywialnych majstrowań . Trudno mi uwierzyć, że jedyną realną opcją jest użycie Emacsa na tablecie Windows , być może dlatego, że ironia jest po prostu zbyt duża.

Najbardziej interesuje mnie, czy możemy to zrobić na tablecie Apple lub Android, nie z entuzjastycznej miłości do którejkolwiek platformy, ale po prostu dlatego, że są tak wszechobecne, a jednak pozornie nie są obsługiwane. Więc:

  • czy możemy uzyskać w pełni (a nawet głównie) funkcjonalny Emacs, najlepiej taki, który nie jest jednorazowy, ale raczej aktualizowany o nowe wydania?
  • zainstalować go z minimalną ilością łez, co oznacza bez jailbreaka urządzenia lub poświęcania nadmiernej ilości czasu na instalację w stylu Rube Goldberg ?

1
BTW, „wszechobecny” w dużej mierze zależy od tego, gdzie mieszkasz. Tutaj w Polsce wiele osób posiada urządzenia z Androidem (telefony i tablety), a raczej niewiele z iOS.
mbork

2
„Trudno mi uwierzyć, że jedyną realną opcją jest użycie Emacsa na tablecie Windows, być może dlatego, że ironia jest po prostu zbyt wielka”. Dla mnie ironia czyni ją bardziej wiarygodną. :-)
Malabarba

Oczywiście, jeśli masz zdalny dostęp do komputera, możesz użyć klienta SSH do zdalnego uruchamiania Emacsa. Jeśli uruchomisz tmux na zdalnej maszynie, jesteś również odporny na tymczasowe zaniki.
Lindydancer

Wiem, że pytasz konkretnie o tablety z Androidem i iPady, ale są też inne systemy operacyjne na tablety: Emacs 25.2 działa idealnie dobrze na moim tablecie z Windows 10. (Zdecydowanie polecam także klawiaturę z niebieskimi zębami: używanie Emacsa na ekranie jest bardzo frustrujące.)
Omar

Odpowiedzi:


14

Używam Linux Deploy do uruchamiania Debiana w chrootśrodowisku na moim tablecie Nexus 7. Dzięki temu mogę robić, co tylko zechcę, w tym uruchamiać Emacsa. Jest w pełni funkcjonalny, wraz ze wszystkimi najnowszymi aktualizacjami i pakietami.

Jeśli zdecydujesz się na urządzenie z Androidem i nie korzystasz z klawiatury Bluetooth, polecam zajrzeć do klawiatury hakera .

Jeśli absolutnie nie chcesz zrootować swojego urządzenia (co jest banalne dla większości urządzeń), możesz wypróbować GNURoot , chociaż sam tego nie testowałem.

Wydaje mi się, że mój proces jest nieco bardziej przejrzysty, oto on:

  1. Zainstaluj Linux Deploy na tablecie
  2. Użyj Linux Deploy, aby zainstalować środowisko Debian, Arch lub Ubuntu
  3. Uruchom środowisko w Linux Deploy
  4. SSH do środowiska za pomocą wybranej aplikacji SSH (moja to JuiceSSH )
  5. Teraz używasz w zasadzie urządzenia z systemem Linux. Użyj dowolnego wybranego menedżera pakietów, aby zainstalować dowolne wybrane pakiety.

9

Uwaga na temat iOS.

Apple z pewnością nigdy nie wypuści Emacsa w App Store, ponieważ działa na wszystko, co Apple reprezentuje. Oto kilka powodów:

  1. Apple nie zezwala użytkownikom na uruchamianie pobranego kodu (zobacz to ).

Zabiłoby to wszystko, package.elco byłoby dość złe, IMHO. Biorąc pod uwagę, że Emacs jest w zasadzie maszyną wirtualną lisp, szanse na uruchomienie pobranego kodu wynoszą praktycznie 100%.

  1. Apple nie zezwala aplikacjom na modyfikowanie dowolnych plików.

Aby Emacs mógł w nim zagrać, musisz stworzyć trochę ogrodzonego ogrodu ogrodu, ponieważ nie może on wyjść z piaskownicy.

  1. Apple nie ma środowiska do uruchamiania Emacsa.

Rozumiem przez to coreutils, kompilatory, interpretatory itp. Emacs staje się naprawdę dobry, gdy ma dostęp do programów, które rozumieją obsługiwane przez niego języki. Pożegnaj się z modułami sprawdzającymi składnię, liniami, modułami sprawdzania pisowni, silnikami inteligentnego uzupełniania i wszystkim, co istnieje poza Emacsem. Teoretycznie można to również przenieść, ale z wielu powodów nie jest to możliwe bez rootowania.

Prawda jest taka, że ​​Emacs jest po prostu zbyt potężny, aby Apple mógł go zaakceptować. Takie postępowanie byłoby sprzeczne z ich filozofią.

Wszystko to zmienia się wraz z rootem. Jailbroken, nie musimy już słuchać tego, co mówi Apple, i nic dziwnego, że istnieje Cydia Emacs (choć mogę o tym powiedzieć nieco więcej).


Na Androidzie punkt 3. nadal jest ważny, ale niezbyt dobrze, ponieważ łatwo jest uzyskać root. Najlepszym sposobem jest po prostu zainstalować Linuksa w chroot (co jest bardzo proste, a szczegółowo w innej odpowiedzi) i przejść na swój sposób wesołego. To powiedziawszy, nie ma technicznego powodu, dla którego sprytny programista nie może po prostu ponownie zbudować Emacsa dla Androida i umieścić go w sklepie z aplikacjami - tego po prostu nikt nie ma.

Przypuszczam, że dzieje się tak po prostu dlatego, że niewiele osób chętnie korzysta z programu w całości sterowanego klawiaturą, który używa ton klawiszy modyfikujących na tabletach z wątpliwie wysokiej jakości wprowadzaniem tekstu.


Źle odwrotnie - autorzy Emacsa nie pozwolą na to, ponieważ wymagania licencyjne Apple'a nie spełniają GPL - teraz to, co robi emacs, oznaczałoby, że Apple na to nie pozwoli.
user151019

6

Pakiet Termux ze sklepu Play zawiera pakiety apt, w tym najnowsze emacs. To tryb postaci, a nie GUI, ale jest dość funkcjonalny.


4

Zwięzłe instrukcje dotyczące dostępu z rootem można również znaleźć tutaj http://www.reddit.com/r/emacs/comments/2adkvc/how_to_get_emacs_to_run_on_android_p bezproblemowo . Zwróć uwagę, że link http://emacs.zielm.com/data/ wydaje się uszkodzony. Jednak próbowałem znaleźć sposób na zrobienie tego bez rootowania, a oto kilka wyników.

Próbowałem zastosować opcję GNURoot oferowaną w kilku miejscach (oprócz aktualnej odpowiedzi, http://www.linuxuser.co.uk/features/run-linux-on-android-part-1 , http: // www.emacswiki.org/emacs/EmacsOnAndroid ), a ponieważ szukanie kogoś z niewielkim doświadczeniem w Linuksie wymagało umiarkowanego działania, może to być przydatne dla innych.

GNURoot pozwala tworzyć kompilację Linuksa w systemie Android. Domyślnie oferowany „wheezy” to „debian”. Możesz wybrać inną kompilację, jeśli chcesz ją utworzyć. Po utworzeniu uruchom go z zaznaczoną opcją fakeroot, zobaczysz konsolę swojego administratora.

Przewodnik na temat instalowania Emacsa w różnych wersjach znajduje się tutaj: http://wikemacs.org/wiki/Installing_Emacs_on_GNU/Linux

Emacs 23

Uruchomienie Emacsa 23 okazało się dość łatwe. Wystarczy wpisać w apt-get install emacskonsoli, odpowiedzieć tak na czekach i można uruchomić emacsa, wpisując emacs.

Emacs 24

Nie mogłem uruchomić Emacsa 24, ale być może ktoś może to zrobić i szybciej znaleźć sposób. Jeśli ktokolwiek jest w stanie sprawić, że to zadziała, być może możesz śledzić lub zaktualizować ten post.

Emacs 24 wydaje się znacznie trudniejszy, ponieważ nie jest dobrze utrzymywany w niektórych wersjach (być może ktoś lepiej rozumie sytuację). Jest to dostępne pod „emacs-snapshot”, który można znaleźć za pośrednictwem serii linków http://emacs.naquadah.org/ -> https://launchpad.net/~cassou/+archive/ubuntu/emacs -> https : //launchpad.net/~ubuntu-elisp/+archive/ubuntu/ppa , która powinna być działającą wersją.

Łącząc wyniki z drugiego ciągu sekwencji, należy wpisać następujące. Nie musisz wpisywać sudo, jeśli zaznaczysz fałszywe pole root podczas uruchamiania.

Uwaga: Nie będziesz musiał czyścić, jeśli nie masz zainstalowanej żadnej wersji emacsa.

Uwaga 2: Aby uzyskać tę funkcję add-apt-repository, musisz wcześniej zainstalować rozszerzenie, jak powiedziano tutaj https://askubuntu.com/questions/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

Niestety, żadna z ppa oferowanych w tych linkach nie działa w tej chwili lub nie udało mi się dodać żadnego z nich. GNURoot nie wydaje się łatwą opcją w użyciu. Być może ktoś jest w stanie ukończyć sekwencję. Sądzę, że tego rodzaju instrukcje powinny ostatecznie zostać przekształcone w wiki społeczności.

Więcej informacji można potencjalnie znaleźć tutaj: http://www.emacswiki.org/emacs/EmacsSnapshotAndDebian .

Inną przydatną opcją może być instynktownie opcja wheezyx zamiast wheezy na początek, ponieważ może ona oferować rodzaj obsługi myszy za pośrednictwem interfejsu dotykowego.


0

Używam Emacsa na Androidzie 4.2.2. Począwszy od terminala IDE, wszystko ładuje się dobrze. Jednak nie testowałem tego w warunkach skrajnych.


1
How did you install it?
Gilles 'SO- stop being evil'

I happen not to remember, it was right after I got the tablet (almost a year ago) in the fever of trying out apps. I`ll take a look and try to give a reasonably accurate answer a bit later.

Ok, here it is, installed it following this: quoderat.megginson.com/2014/02/17/…

1
Not a practical solution though, more of an emergency/backup thingy. Useless with touchscreen (almost), and my external Bluetooth keyboard behaves erratically, got fed up with bugs and inconsistencies related to it.

0

Although I got Emacs to work with some of the options here, I wasn't happy as the implementations were partly borked, just enough to be annoying.

Zainstalowałem aplikację zshaolin z Google Play. To nie jest darmowe (kilka dolarów), ale ma Emacsa, który wydaje się w pełni użyteczny, z klawiszami działającymi poprawnie i wszystkimi poleceniami, które próbowałem do tej pory. Jest to starszy Emacs, 24.1, a zshaolin po prostu ponownie pakuje wiele rzeczy, takich jak Terminal IDE i inne, ale przynajmniej działa poprawnie. Istnieje również wiele innych rzeczy, takich jak vi, Perl i tak dalej.


0

If I really need to get to Emacs on my iPad, I do it via SSH using Serverauditor. It's monochrome and the keyboard interface is tedious. A specially-designed Emacs client for the iPad could probably resolve these issues. (EDIT: This assumes you have access to an a server with Emacs, of course.)

EDIT: I've also recently discovered Cloud9, which allows me to access emacs via Safari. Keybindings remain this biggest problem, even on Windows, and the fact that the general iOS keyboard has no Ctrl or Alt makes it much worse.


0

I'm running GNU Emacs on an iPad in iSH - a relatively new developer app that is essentially an Alpine Linux container. iSH allows you to install Emacs using the apk package manager. Here's how to install it:

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. 

As an alternative to TestFlight, iSH can be side loaded directly onto an iPad with the Xcode application on a Mac.

It doesn't run as fast as something that would be running natively on an iPad but it's fast enough for a lot of purposes.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.