10 ms·
Emacs on an iPad
- deleted 4y ago[deleted]
- timlod 4y agoI've done this as well in the past - worked pretty well with Blink (and a bluetooth Thinkpad keyboard)! Ultimately I missed some functionality, mostly viewing images, which are essential to my workflow, and not available in the terminal. Unfortunately at the time there was no remote desktop tool available for iOS (not sure if one exists now) which would be able to display a GUI client on the iPad through X11 forwarding.
- monkin 4y agoJust to note: Blink Shell comes with built in image support.
- FrostKiwi 4y agoNot sure of Terminal emulator capabilities on Apple devices, but thanks to the Sixel standard [1] and a recent implementation in the form of libsixel [2], several applications, including emacs very much support image output in terminals. [1] https://en.wikipedia.org/wiki/Sixel https://en.wikipedia.org/wiki/Sixel [2] https://github.com/saitoha/libsixel https://github.com/saitoha/libsixel
- timonoko 4y agohttps://news.ycombinator.com/item?id=33715168#33716065 https://news.ycombinator.com/item?id=33715168#33716065
- jms703 4y agoAuthor should consider replacing port forwarding with Tailscale.
- harrygeez 4y agoCan you briefly share what's the workflow with Tailscale? I heard a lot about it but not really sure how it works. I run a Wireguard VPN for some context
- saagarjha 4y ago> So first off, you cannot run Emacs directly Hmm, my device disagrees: File Edit Options Buffers Tools C Help #include <stdio.h> int main() { printf("Hello, world!\n"); } -UUU:**--F1 test.c All L5 (C/*l Abb
- memalign 4y agoIt might be possible to run Emacs directly on iPad using iSH. I run vim this way and love it.
- mtts 4y agoI've tried to run Emacs this way and quickly gave up. There's just too many packages which don't work at all. Also, it's very, very slow. Finally, for it to be truly useful you need to be able to edit all the text files on your iPad with it and setting that up is either very finicky or doesn't work at all (looking at you, Dropbox).
- goerz 4y agoYou should try a-Shell if you want a native vim
- sgt 4y agoIt's really impressive what an iPad can do. But this setup requires you to always have a connection, and the author said that he had replaced his laptop with an iPad completely. What do you do if you're offline (or if reception is bad)?
- monkin 4y agoI, for example, read Books on iPad when there’s no connection, but with a cellular version that isn’t common. Yet, having mosh connection inside Blink is a blessing exactly for that purpose as I’m always going back to my stuff on desktop.
- em500 4y agoThe iPad in the setup described is just running a terminal with SSH. Emacs (and pretty much everything else described in the blog) is running on a remote server running Ubuntu (so I don't know why he even bothers to compile emacs from source). "Impressive" is not the word I'd use for running a terminal with SSH. Especially since the iPad is likely several times more powerful than the remote Ubuntu server that is actually running emacs.
- diffeomorphism 4y ago> It's really impressive what an iPad can do. It is just accessing a VPS via ssh. That is not at all impressive, rather the opposite: you have to connect to another machine because the ipad just cannot do what you want. And you then still have to deal with keyboard issues.... And that is kind of a shame because the screen and form factor are both really nice.
- FrostKiwi 4y agoNo way, the timing! Just received a company iPhone and iPad this month for internal work. Never had an Apple device before, so really happy someone tried this. I have meticulously maintained my .emacs to work in a TTY environment, with custom themes dependent on whether it's GUI emacs or not. (for buffer transparency to work properly) It's finally paying off. Really happy someone figured this out!
- anotheryou 4y agoShould any android people stroll by: the Termux app has a native emacs package, it even gobbled up spacemacs for me. I never really used it though because I don't have a tablet. For org only users on ios: beorg is soo good. Miss it on android very much.
- fsiefken 4y agoOrgzly is pretty good too, but perhaps not as nice.
- meitham 4y ago>>> So first off, you cannot run Emacs directly on an iPad as an app, but can certainly access something else which is running it In comparison, I have been running Vim on iDevices (as native app) for over 7 years. Vim design of using letters insteads of Chords proved useful in the simple onscreen keyboards.
- coutego 4y agoThe reason Apple allows Vim and would not allow Emacs in the Store is very interesting to reflect about.
- jdswain 4y agoI tried using Blink shell for a while and it was ok, but when my iPad screen broke I got a Thinkpad X280 as a replacement. For emacs, programming and a lot of other things it's way better. I've just spent some time in KiCAD this evening, I couldn't do that on an iPad. Plus if something breaks it's way easier to get parts, a new screen is under $100 and I can install it myself without any tools.
- dividedbyzero 4y agoYou can replace the screen with just your bare hands, not even a screwdriver required?
- jdswain 4y agoThe front bezel is clipped in, it's quite hard to detach, but can be carefully removed, and then the screen just sits behind with a eDP connector. Quite a contrast to an iPad.
- roboben 4y agoIs it possible to port Emacs to iOS? Did anyone try this?
- carlycue 4y agoThe M1 on the Mac unintentionally killed iPad as laptop replacement for a lot of people. Around 2015-2019, Macs were terrible. They overheated, theottled and had loud fans. At the same time, the iPad Pro was dead silent, lighter, faster and had better battery life. Today, the M1 MacBook Air gets all those goodies and you get a nice keyboard and a capable OS. The battery life is also twice as long as an iPad Pro. Apple needs to pull a rabbit out of the hat to pull the iPad ahead again.
- Dylan16807 4y agoApple was deliberately putting bad cooling into those laptops because they had other priorities I don't understand. So I suppose they could always make the cooling on their new laptops even worse, and then the iPad would pull "ahead".
- d3ckard 4y agoM1 Air is passively cooled. Still pretty great.
- Dylan16807 4y agoOh don't worry, it's possible to make passive cooling worse.
- canadianfella 4y ago
- dividedbyzero 4y agoSure, but the current Air doesn't even have a proper heatsink, and still delivers a ton of performance with thermal throttling setting in quite late compared to what I would have expected. They're pretty much doing it badly on purpose and it's still really good.
- fmajid 4y agoJony Ive was the problem. Many things have improved since he was effectively fired. Note that his position was axed, no designer will ever again wield the power and influence at Apple he abused.
- wmwragg 4y agoI believe the iSH app[1] can run Emacs without jailbreaking the iPad. I use it a lot, but not for Emacs. [1] https://github.com/ish-app/ish https://github.com/ish-app/ish
- notpushkin 4y agoI lose it every time I see the “A note on the JIT” section. So a warning: Long-term exposure to this code may cause loss of sanity, nightmares about GAS macros and linker errors, or any number of other debilitating side effects. This code is known to the State of California to cause cancer, birth defects, and reproductive harm. https://github.com/ish-app/ish#a-note-on-the-jit https://github.com/ish-app/ish#a-note-on-the-jit
- themmes 4y agoYour comment made my week, I've been looking for a way to run Emacs (not remotely) on my iPad Pro since buying it in 2020. To confirm I just downloaded iSH and installed Emacs 27.2 (i586-alpine-linux-musl build) successfully. Now lets see what devilish compromises I need to make on keybindings..
- skhm 4y agoI can't mentally get over cringing while using ish, thinking about how many emulated x86 calls are being made under the hood, wasting the incredible CPU in the iPad. I tried emacs in it once and it was too slow to be usable - would be keen to hear if you get a performant setup.
- fsiefken 4y agoAs an alternative, using UTM with a lightweight linux distro might be more performant. https://www.youtube.com/watch?v=OJfRJhJznzM https://www.youtube.com/watch?v=OJfRJhJznzM Or just run alpine with openssh and ssh in locally through an iOS client. I'd be curious how running UTM/qemu continuously would affect battery life. Is it 10% or 50% less? 10% would be an acceptable trade off for me.
- jwr 4y agoSadly, this configuration is almost unusable for hard-core Emacs users, because you can't use extended key combinations (Super, Hyper, etc). For people who have been using Emacs for 25 years, being restricted to a narrow TTY is a non-starter. I am still hoping that someone will develop a native Emacs version (willing to contribute to a bounty for that!).
- d0mine 4y agoIt is possible to use Emacs effectively with just M-, C- keybindings (20+ years experience). Super (windows key) is for desktop manipulation, so no loss on iPad. No idea what is hyper--you likely need to have 40+ years of experience to start with the space cadet keyboard https://emacsredux.com/blog/2022/06/01/the-space-cadet-keyboard/ https://emacsredux.com/blog/2022/06/01/the-space-cadet-keybo...
- jwr 4y agoI don't doubt it is — but my keyboard shortcuts that I use on all my machines involve multiple modifiers, and I can't work without those shortcuts. Of course you can restrict yourself to a subset of shortcuts, but that's not the point of Emacs, isn't it?
- drooopy 4y agoEmacs? Finally, the iPad gets a powerful and flexible Operating System! /s
- Tepix 4y agoFrom TFA: you cannot run Emacs directly on an iPad as an app
- freetanga 4y agoThis has been done for a while. I recommend MOSH (ssh over UDP) for a better experience
- minifridge 4y agoTitle is misleading. Emacs is on a VPS not running natively on ipad
- narrator 4y agoProbably wouldn't be allowed because of the app store rule against apps with embedded languages.
- fragmede 4y agoThat rule was softened, so there are a bunch of apps like Pyto, Pythonista, Python2IDE, Swift Playgrounds (doesn't quite count since it's by Apple) that let you run code on the device.
- smoldesu 4y agoI get what you're saying, but if your most advanced development examples are a Python interpreter and Swift tutorial then that's a sign that something else is holding them back.
- fragmede 4y agoVim is on the app store, so I'm not sure what's holding Emacs back https://apps.apple.com/us/app/vim/id492668168 https://apps.apple.com/us/app/vim/id492668168
- twobitshifter 4y agoTo add to that there’s also scriptable for JS
- guestbest 4y agoEmacs really isn’t allowed for the same reason TeX isn’t, everything needs to run from one binary. The single binary requirement of the App Store is surprisingly limiting.
- pomatic 4y agoI've done this (vps for emacs). My tuppenth worth: - NoMachine with X works really well, especially over a VPN. Full linux desktop, great scaling and kb support - Use mosh instead of ssh, especially if connecting over cellular, as it is tolerant of dropped connections - Like the person who switched to an X230, I followed a similar path finally settling on a Microsoft Surface v7 which was £300 second hand. The hardware is fantastic, with a glorious screen and lovely typecover keyboard. Live in WSL and it could be a linux box. I leave the ipad behind now when I travel. Having said that, even if it had to be handbuilt against a testflight account, it would be wonderful to have a native emacs app. Seems like the developers of hummingbird eXceed or blink might be clever enough to do that? Although I went into the purchase knowing about Apple's walled garden, I really do resent the way good hardware has been artificially crippled. It feels like being treated like a child, I should be able to make informed decisions with my own hardware! I won't be buying another ipad unless things change up big time.
- tbran 4y agoI thought "NoMachine on X" was a joke or slang, but it turns out NoMachine is free remote desktop software (Linux, Mac, Windows, Raspberry Pi, ARM, Android, and IOS) [0]. Looks like they make money with enterprise sales. Thanks for the tip! [0]: https://downloads.nomachine.com/ https://downloads.nomachine.com/
- jbellis 4y agoWhy does NoMachine work better over a VPN?
- pomatic 4y agoIt does autodiscovery of all no-machine capable devices on the LAN
- codetrotter 4y agoDoes the autodiscovery for NoMachine work on Wireguard VPNs as well? I use, and love, Wireguard, but I think out of the box Wireguard does not support multicast. And I expect that NoMachine also depends on multicast to do its autodisovery. Probably with mDNS and DNS-SD. Upon googling now, it does seem like some people have successfully been able to get multicast working over Wireguard. For example: > Hey! Just in case you (or anyone else browsing this) still needs this, i've got avahi working over my wireguard client-to-site connection. I can access my home LAN computers using hostname.local from any VPN-connected device. > I think the missing piece was adding 224.0.0.251/32 and ff02::fb/128 (multicast addresses) to allowed ips. from https://www.reddit.com/r/WireGuard/comments/g80bxf/cant_get_zeroconfavahimdns_reflection_to_work/ https://www.reddit.com/r/WireGuard/comments/g80bxf/cant_get_... Likewise, there seem to be some additional useful information relating to mDNS / Avahi on this issue on GitHub, for various situations: https://github.com/lathiat/avahi/issues/262 https://github.com/lathiat/avahi/issues/262 And here is someone who got DLNA (which also uses multicast) working through site-to-site Wireguard VPN: https://an0n-r0.medium.com/making-dlna-through-site-to-site-vpn-work-f393629f4ce0 https://an0n-r0.medium.com/making-dlna-through-site-to-site-...
- Hippocrates 4y agoI tried to do the vim on iPad over mosh thing. It was cool, but rarely worked well enough for anything more than a simple tinker-pad. I got it working on airplane wifi which itself was amusing but as far as getting anything done (even leisure-coding) it was total disappointment and frustration. There are many things I like about it the iPad, particularly the focused modality of single-screen apps (split screen was also too finicky and cramped to be useful). It felt very productive. But make no mistake if you're reading this, an iPad is no substitute for a laptop. Don't waste 1000 bucks like I did to figure that out.
- watersb 4y agoTermux on my $95 Kindle Fire is more useful than anything I’ve yet encountered on iPadOS simply because of the execrable keyboard options available on the iPad. There are great prices on wonderful M1 iPads right now, and I love my MacBook Air, so I got this year’s iPad Air. You must be joking. After hours of futility, I am forced to accept that Apple still has no API for adding Control Escape arrow keys to keyboard apps. While I can use the hard coded keyboard option in the great a-Shell app, I can’t customize it. And I can’t use its keyboard in Safari for online Visual Studio Code or Colab notebooks. With Termux, I set up a keyboard via a simple text config file. Done. And for a general system keyboard, in a pinch I can use a the “Hacker Keyboard” keyboard app. It’s ugly but it works. Please tell me I’m taking crazy pills and that there’s a keyboard app that solves this. No, I can’t use a hardware external keyboard in this use case. - https://termux.dev/en/ https://termux.dev/en/ - https://holzschu.github.io/a-Shell_iOS/ https://holzschu.github.io/a-Shell_iOS/
- watersb 4y agoA day after my rant: I noticed that I still use Panic Software's "Coda" on my 10-year-old iPad 4, and the terminal, editor, and keyboard design choices are the best I've found for iOS. And that said, I wanted to call out that on Android, the Termux environment is native, local Linux (userland on Android). I use it for SSH, sure, but I also use it for everything else. Last night I tried some Zsh, FORTRAN, GCC, and Python. All on-device. Performance on my cheap Kindle Fire HD is actually better experience than attempting to use a web browser. Android is old; newer versions may restrict Termux functionality.
- cdelsolar 4y agoMap esc to caps lock with your terminal emulator. That’s what I do.
- throwaway413 4y ago+1. Blink does this great.
- watersb 4y agoThanks, that's possible. But my real gripe is the lack of these keys in an onscreen keyboard that I could use in Safari. Online, web-hosted VS Code (via GitHub dot-dev, in my case), and Jupyter notebooks via CoLab or local hosted -- they are nice to have, but the editor library in Jupyter seems to map each word of code in its own text field. You can't use the usual iOS/iPadOS touch editing features, it's impossible to select a line of code... And on and on. It doesn't sound like it would be such a big deal but it's a show-stopper. "Type F1 for the Command Palette" -- aaargh!
- cdelsolar 4y agoThis is slightly embarrassing to admit but when I went on my honeymoon I brought my iPad along so that I wouldn’t code. Still, we had enough relaxation time that at some point I just set up a $5 digital ocean machine in Europe and I was able to code just fine with a cool eMacs split screen setup and an external iPad keyboard.
- hakanu 4y agoIsh.app is very underrated, it runs a native shell offline without needing ssh or VPS etc. I use it a lot with tmux and vim to write my blog posts. https://ish.app/ https://ish.app/
- ilovecaching 4y agoI use an iPad Pro 12.9 inch and a Magic Keyboard as my primary dev machine and I love it. I have large bare metal servers I can connect to where I run vim+tmux using Termius. I also have a desktop, MacBook Pro, and a Thinkpad so I actively choose to use the iPad. The beauty of the iPad is I can tote it around in a small bag everywhere, it has cellular, and when I’m not deving I can pull it off and watch movies, play games, draw using the best tablet out there. My whole setup can also be used with emacs. I have an emacs config as well and have tested using Eglot etc - basically the same setup as what I have in Vim. The real power move here is to stick to a terminal based workflow. GUIs lock you down to a machine and a platform. Using a terminal based editor, tmux, etc. allows you to be instantly portable, infinitely flexible, and allows you to work anywhere. SSH is also the other power tool. I mean SSH is actually insane. If you understand SSH agent forwarding, port forwarding, proxy jumping, you can actually be anywhere with any keys you want, proxy dev as a prod environment, use services on any computer anywhere you want, it’s absolutely incredible what you can do with SSH.
- talentedcoin 4y agoyou mean, Emacs running on Ubuntu? boo