This is extremely cool.<p>Is there any documentation on what shell syntax this supports? I assume it's not running a standard shell like Bash or zsh.<p>Edit: <a href="https://github.com/holzschu/ios_system/blob/master/README.md" rel="nofollow">https://github.com/holzschu/ios_system/blob/master/README.md</a> confirms its not running sh, bash, or zsh, and has some additional details on the available commands. I still think it would be nice for this to be more explicit, but the information is out there.
LibTerm is very similar (also based on ios_system): <a href="https://libterm.app/" rel="nofollow">https://libterm.app/</a><p>iSH uses a completely different approach -- it's a custom x86+linux emulator that runs complete unaltered alpine linux userland: <a href="https://ish.app/" rel="nofollow">https://ish.app/</a>
I use iSH, that provides a complete Alpine Linux environment: <a href="https://ish.app" rel="nofollow">https://ish.app</a><p>A-Shell seems to be very limited and additional packages cannot be installed. What are uses cases for which A-Shell would be a better fit than iSH?
A-Shell looks very promising. If I were still using iOS, I would install it and try it out in a heartbeat.<p>On Android, I love using Termux (<a href="https://termux.com/" rel="nofollow">https://termux.com/</a>).<p>If I have a computer in my pocket, I should be able to use it as a computer, not merely a consumption device
Great! I'm glad Apple has changed its rules concerning having an embedded interpreter:<p><a href="https://news.ycombinator.com/item?id=14809096" rel="nofollow">https://news.ycombinator.com/item?id=14809096</a>
This was fun to try as a little preview of what it’ll feel like to have an ARM-based MacBook.<p>Bummer there’s no git¹.<p>I was curious to try to install Go just to see how far I’d get before being blocked. Was able to download the source tarball and extract it (using curl and tar as 2 separate commands; piping curl into tar didn’t work). But then can’t execute make.bash because there’s no bash.<p>[1] There's rationale and an alternative described at <a href="https://github.com/holzschu/ios_system#adding-more-commands" rel="nofollow">https://github.com/holzschu/ios_system#adding-more-commands</a>.
In this app, it appears we are operationally limited to<p>/private/var/mobile/Containers/Data/Application/49F47295-F9D8-4FD7-8F34-redactedxxxx/<p>The default folder is /private/var/mobile/Containers/Data/Application/49F47295-F9D8-4FD7-8F34-redactedxxxx/Documents<p>I am able to cd / and can see the following folders<p>/Applications<p>/bin<p>/cores<p>/dev<p>/Developer<p>/etc<p>/Library<p>/private<p>/sbin<p>/System<p>/tmp<p>/usr<p>/var<p>... but can't cd into any of them. "permission denied".<p>None of this is a surprise, of course.
Terminus is excellent for iOS. <a href="https://apps.apple.com/us/app/termius-ssh-client/id549039908" rel="nofollow">https://apps.apple.com/us/app/termius-ssh-client/id549039908</a>
This may be a dumb question...<p>To my knowledge, the reason no “real” terminal exists for iOS is because it violates the App Store rules. It is prohibited to download and execute arbitrary code, with a few exceptions.<p>One exception is JavaScript, which must be run inside of JavaScript Core [1]. What if someone simulated x86 and Linux _in JavaScript_ and then built a terminal and file system on top of it? Would that be in accordance with the App Store rules (since it would be sandboxed in Apple’s JS core)? Would it even be technically feasible? Or too slow for any serious usage?<p>[1] from the App Store rules:<p>4.7 HTML5 Games, Bots, etc.
Apps may contain or run code that is not embedded in the binary (e.g. HTML5-based games, bots, etc.), as long as code distribution isn’t the main purpose of the app, the code is not offered in a store or store-like interface, and provided that the software (1) is free or purchased using in-app purchase; (2) only uses capabilities available in a standard WebKit view (e.g. it must open and run natively in Safari without modifications or additional software); your app must use WebKit and JavaScript Core to run third-party software and should not attempt to extend or expose native platform APIs to third-party software; (3) is offered by developers that have joined the Apple Developer Program and signed the Apple Developer Program License Agreement; (4) does not provide access to real money gaming, lotteries, or charitable donations; (5) adheres to the terms of these App Review Guidelines (e.g. does not include objectionable content); and (6) does not offer digital goods or services for sale. Upon request, you must provide an index of software and metadata available in your app. It must include Apple Developer Program Team IDs for the providers of the software along with a URL which App Review can use to confirm that the software complies with the requirements above.
I was considering using lib-tex (the library implementing texlive 2019 for this shell) last week for an iOS app I’m working on that needs to generate basic LaTeX images. It’s really impressive, these programs running in A-Shell are modified by renaming their `main()` function and making sure global/static variables are cleaned up so they can run as a separate thread in-process instead of spawning a separate process. I decided to use the more limited KaTeX instead because it sounds like a maintenance nightmare, making sure nothing leaks and updating everything every time a new version comes out...<p>I wonder if that process can be automated to a point where you could “lib-ize” any C/C++ project (sed replacing malloc/free with something that cleans up when the process “exits”, replacing exit/fork/etc, replacing static). I think that would really open up the number of interpreters available on iOS.
Is there any way I could use a USB C to DB9 console cable on an iPad Pro with this? I’m thinking this could be a great setup for working in the cramped data center.
I jailbreak several iOS devices just to have terminal many years ago, and it was quite an interesting experience. I always hope Apple could let user access terminal in iOS, at least in developer mode. After all, it's still BSD based just like MacOS, and iPad Pro is so powerful but nowhere to go for a programmer.<p>Sadly, it seems Apple doesn't really care about this.
Doesn't Apple ToS forbid programming (excepting embedded lua etc)? Did that change?<p>Android 10 is locking down <a href="http://termux.com" rel="nofollow">http://termux.com</a>, and wifi ipads have higher compute/$. If this works at full speed, I might get one.
Just this morning I realized I had a need for a decent SSH client for iOS, although I don't need something that includes vim, clang, and Lua, Python, and C, though.<p>That's extreme overkill for my needs -- I'd just like the ability to log in to a few hosts (preferably using public key authentication!) and run various commands just like I normally do in a terminal.<p>If anyone has any "favorites" they recommend, I'd be interested in hearing about them. I'd prefer something open-source (out of principle) but I'm certainly not opposed to paying a reasonable amount.
This is very cool, over the years I've been using different apps - iSSH back in 2010/2011 and Terminus lately - to connect to servers over ssh/mosh but having a local working terminal would be great. Is there any way this can update Apple Notes?<p>And<p>> "A text-based user interface for a screen-based platform"<p>Is that a play on "Limitless paper in paperless world" from a Dunder-Mifflin ad?[0]<p>[0] <a href="https://www.youtube.com/watch?v=FIUSPM7xjAk" rel="nofollow">https://www.youtube.com/watch?v=FIUSPM7xjAk</a>
I'm seeing more and more dev tools being developed for mobile<p>e.g. yesterday on HN: <a href="https://news.ycombinator.com/item?id=22968079" rel="nofollow">https://news.ycombinator.com/item?id=22968079</a><p>Seems like there's pent up demand for more hacker stuff on mobile! :) I wonder what this could mean for the direction of the mobile paradigm (move towards fewer walled gardens like app stores please?)
I personally love Blink <a href="https://blink.sh/" rel="nofollow">https://blink.sh/</a> it provides a great mosh client.
I can see that this tool in turn leverages ios_system, but neither A-shell nor the ios_system github repository appear to present an exhaustive list of the available commands. This seems like an obvious first step in improving documentation.
Nice!!!<p>What iOS really needs to make this useful though is a way to project to a proper screen and keyboard/mouse configuration. Like Samsung DeX. Kinda hoping this will happen as they are making the iPad Pros more like a computer.
Link to git repo <a href="https://github.com/holzschu/a-shell" rel="nofollow">https://github.com/holzschu/a-shell</a>