平板电脑上的Emacs?


28

问: Emacs是否可以在最少的泪水的情况下安装/使用在平板电脑上?

我一直以为Emacs基本上可以运行所有东西。但是,经过一番摸索之后,在平板电脑上运行Emacs似乎是一个巨大的麻烦。但是我知道什么?因此,这个问题。

我没有平板电脑,所以我的术语可能是奶奶级的老套。我有限的理解是Apple不会让Emacs进入Appstore,但是以太坊中可能存在越狱版本。曾经有一段时间可以在Android的Google Play商店中购买它,但是它已经陈旧,破损,并且需要一些琐碎的摆弄。我发现很难相信唯一可行的选择是在Windows平板电脑上使用Emacs,也许是因为讽刺意味太大了。

我最感兴趣的是我们是否可以在Apple或Android平板电脑上执行此操作,并非出于对这两个平台的热爱,而是因为它们是如此普遍并且似乎不受支持。所以:

  • 我们是否可以运行一个完全(或什至大部分)功能正常的Emacs,最好不是一次交易,而是用新版本更新的Emacs?
  • 以最小的眼泪安装它,这意味着无需越狱设备或花费大量时间进行Rube Goldberg风格的安装?

1
顺便说一句,“无处不在”在很大程度上取决于您的住所。在波兰,很多人拥有Android设备(手机和平板电脑),而很少有人拥有iOS设备。
mbork 2014年

2
“我很难相信唯一可行的选择是在Windows平板电脑上使用Emacs,也许是因为讽刺意味太大了。” 对我来说,讽刺只能使它更可信。:-)
马拉巴巴2014年

当然,如果您可以远程访问计算机,则可以使用SSH客户端远程运行Emacs。如果在远程计算机上运行tmux,则还可以避免临时丢失。
Lindydancer

我知道你是关于Android平板电脑和iPad专门询问,但其他操作系统的平板电脑:Emacs的25.2运行完美的罚款在我的Windows 10平板电脑。(我绝对建议您还使用一个蓝牙键盘:在Emacs上使用屏幕上的键盘非常令人沮丧。)
Omar

Answers:


14

我使用Linux DeploychrootNexus 7平板电脑上的环境中运行Debian 。这样,我可以做任何我想做的事情,包括运行Emacs。它功能齐全,并带有所有最新更新和软件包。

如果您选择使用Android设备并且不使用蓝牙键盘,则建议您查看“ 黑客键盘”

如果您绝对不想挂起设备(对于大多数设备来说都是微不足道的),则可以尝试GNURoot,尽管我自己尚未对此进行测试。

我想让我的过程更加清晰,这里是:

  1. 在平板电脑上安装Linux Deploy
  2. 使用Linux Deploy安装Debian,Arch或Ubuntu环境
  3. 在Linux Deploy中启动环境
  4. 使用您选择的SSH应用程序将SSH连接到环境(我的设备为JuiceSSH
  5. 您现在基本上是在使用Linux设备。使用您选择的任何软件包管理器来安装您选择的任何软件包。

9

关于iOS的说明。

苹果肯定不会让Emacs进入App Store,因为它会与Apple所代表的一切抗衡。原因如下:

  1. Apple不允许用户运行下载的代码(请参阅参考资料)。

package.el恕我直言,这将杀死所有使用情况,这将是非常糟糕的。鉴于Emacs基本上是一个Lisp VM,因此您运行下载的代码的机会实际上是100%。

  1. Apple不允许应用程序修改任意文件。

您需要在花园外创建一个围墙,以供Emacs玩耍,因为它不能从沙箱中走出来。

  1. 苹果缺乏Emacs的运行环境。

我的意思是指coreutils,编译器,解释器等。Emacs只有在能够访问能够理解其支持语言的程序时才能变得非常好。告别语法检查器,lint,拼写检查器,智能完成引擎以及Emacs以外的所有内容。从理论上讲,您也可以移植它们,但是由于许多原因,如果没有root用户,那实际上是不可行的。

事实是,Emacs太强大了,Apple无法容忍。这样做将违背他们的哲学。

所有这些都随root改变。越狱后,我们不再需要听苹果所说的话,毫无疑问,Cydia Emacs确实存在(尽管对此我只能说更多)。


在Android上,第3点仍然存在,但不是很好,因为root很容易获得。在最好的方式就是在一个chroot安装Linux操作系统(这是超级容易,而在另一个答案详细说明),并继续你的快乐的方式。这就是说,没有技术上的理由使聪明的开发人员不能再为Android构建Emacs并将其投放到应用商店中,而这是没人能做到的。

我想这仅仅是因为很少有人渴望使用完全由键盘驱动的程序,该程序在具有可疑的高质量文本输入的平板电脑上使用大量的修饰键。


一路走错-Emacs的作者是不允许其作为Apple的人;其许可要求不符合GPL-现在emacs所做的事情意味着Apple不允许它。
user151019


4

也可以在http://www.reddit.com/r/emacs/comments/2adkvc/how_to_get_emacs_to_run_on_android_painlessly/中找到有关使用root进行访问的简要说明。请注意,链接http://emacs.zielm.com/data/似乎已损坏。但是,我试图找到一种无需root用户即可执行此操作的方法,以下是一些结果。

我尝试遵循在几个地方提供的GNURoot选项(除了当前答案之外,http: //www.linuxuser.co.uk/features/run-linux-on-android-part-1,http :// www.emacswiki.org/emacs/EmacsOnAndroid),并且由于花了适度的时间来寻找没有Linux经验的人,因此这可能对其他人很有用。

GNURoot允许您在Android内部创建Linux构建。默认情况下,它提供的“喘息”是“ debian”。如果要创建它,可以选择其他构建。创建它之后,在其上选中fakeroot选项运行,然后您将看到超级用户的控制台。

这里提供了有关在各种版本上安装Emacs的指南:http : //wikemacs.org/wiki/Installing_Emacs_on_GNU/Linux

埃马克斯23

事实证明,运行Emacs 23非常容易。您只需在apt-get install emacs控制台中输入,在检查中回答“是”,就可以通过键入emacs来运行emacs。

埃马克斯24

我无法运行Emacs 24,但也许有人可以从中获得帮助,并找到更快的方法。如果任何人都可以使它起作用,则您可以跟进或更新此帖子。

Emacs 24似乎更加棘手,因为在某些版本上维护得不好(也许有人对这种情况了解得更好)。可在“ emacs快照”下找到,该文件可通过一系列链接http://emacs.naquadah.org/- > https://launchpad.net/~cassou/+archive/ubuntu/emacs- > https找到://launchpad.net/~ubuntu-elisp/+archive/ubuntu/ppa,它应该是工作版本。

结合第二个链接序列的结果,您需要输入以下内容。如果在启动时勾选了假的根框,则不必键入sudo。

注意:如果没有安装任何版本的emacs,则无需清除。

注意2:要获得此功能add-apt-repository,您必须预先安装一个扩展程序,如此处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

不幸的是,这些链接中提供的ppa目前似乎都无法正常工作,或者我错过了添加它们的步骤。GNURoot似乎不是一个易于使用的选项。也许有人能够完成序列。我想这些指示最终应该做成社区Wiki。

可能会在此处找到更多信息:http : //www.emacswiki.org/emacs/EmacsSnapshotAndDebian

另一个有用的选项可能是安装wheezyx选项而不是一开始的wheezy,因为它可以通过触摸界面提供一种鼠标支持。


0

我在Android 4.2.2上运行Emacs。从Terminal IDE中启动它,一切正常。但是我没有压力测试。


1
您是如何安装的?
吉尔(Gilles)'所以

我碰巧不记得,那是在我买了平板电脑(大约一年前)之后,就开始尝试应用程序了。我看一下,稍后再尝试给出一个合理准确的答案。

好的,就在这里,按照以下说明安装它:quoderat.megginson.com/2014/02/17/…–

1
但是,这不是实际的解决方案,更多的是紧急情况/备份。(几乎)没有用在触摸屏上,并且我的外部蓝牙键盘行为异常,厌倦了与此相关的错误和不一致。

0

尽管我让Emacs在这里使用了某些选项,但是我对实现的实施感到不满意,因为它们的实现有些乏味,足以令人讨厌。

我从Google Play安装了zshaolin应用。它不是免费的(几美元),但是确实有一个Emacs似乎可以完全使用,按键可以正常工作,到目前为止我已经尝试过所有命令。它是较老的Emacs,24.1,并且zshaolin只是重新打包了Terminal IDE和其他东西,但至少它能正常工作。还有很多其他东西,例如vi和Perl等。


0

如果确实需要在iPad上使用Emacs,则可以使用Serverauditor通过SSH进行。它是单色的,键盘界面很乏味。专为iPad设计的Emacs客户端可能可以解决这些问题。(编辑:这当然假设您可以使用Emacs访问服务器。)

编辑:我最近还发现了Cloud9,它使我可以通过Safari访问emacs。即使在Windows上,键绑定仍然是这个最大的问题,而一般的iOS键盘却没有CtrlAlt使它变得更糟。


0

我正在iSH的iPad上运行GNU Emacs,这是一个相对较新的开发人员应用程序,本质上是Alpine Linux容器。iSH允许您使用apk软件包管理器安装Emacs。安装方法如下:

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. 

作为TestFlight的替代方案,可以将iSH与Mac上的Xcode应用程序直接侧面加载到iPad上。

它的运行速度不像iPad上的本机运行速度快,但它的运行速度足以满足许多用途。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.