[HN Gopher] Emacs standing alone on a Linux Kernel
___________________________________________________________________
Emacs standing alone on a Linux Kernel
Author : signa11
Score : 105 points
Date : 2023-04-19 08:45 UTC (1 days ago)
(HTM) web link (informatimago.free.fr)
(TXT) w3m dump (informatimago.free.fr)
| wkdneidbwf wrote:
| this is both cool and exactly why i don't want to use emacs.
| FullyFunctional wrote:
| In 1989 when I was part-time IT staff at Arhus University, CS.
| Dept. we had to turn down a professor who requested doing exactly
| this with his Sun workstation (it might have been possible, but
| we didn't have the resources to support it).
|
| My only requirement for my first personal PC (T1800, 386/sx, 4
| _MiB_ , monochrome) was that it could run True Emacs (on Linux) -
| I could certainly have used this, but `exec emacs` achieves
| nearly the same.
| Y_Y wrote:
| Fortunately I don't work at universities much any more, but I
| found IT to be even less accommodating than at a megacorps. My
| department luckily realised this early on and classed all
| computers as "experiment equipment" and had our own techs to
| any necessary admin.
| hestefisk wrote:
| DAIMI! Did you code in TRINE?
| anthk wrote:
| Well, back in the day you could run Emacs and a Scheme
| interpreter (MIT Scheme) as a textinfo format under an i386
| just fine. No X, of course.
| abudabi123 wrote:
| Emacs on seL4kernel with Plan9userspace and remote desktop to
| disposable Mac or Linux shortlived desktopui should be very
| secure for the researcher.
| hprotagonist wrote:
| unless you have a hankering for benson&hedges cigarettes.
| froh wrote:
| /me (from outside the loop): "huh?"
| nescioquid wrote:
| Sounds like a reference to The Cuckoo's Egg (fun read).
| teddyh wrote:
| Before GRUB, (i.e. with LILO), you could easily do this at any
| time by just booting with the added kernel parameter
| "init=/usr/bin/emacs".
| planede wrote:
| You can configure additional kernel parameters just fine with
| GRUB.
| teddyh wrote:
| Yep, I was thinking of initramfs on /boot vs. direct root fs
| mounting, not GRUB vs. LILO.
| ilyt wrote:
| I mean, that works and always worked, bootloader really have
| nothing to do with it (as commandline can be baked into kernel
| image even if bootloader wouldn't support setting it)
| teddyh wrote:
| True; what I was thinking of was not GRUB or LILO, but the
| fact that setting the init process from a kernel command line
| is less useful for hacks like these if the initial root file
| system is only an initramfs images from /boot, and does not
| contain Emacs.
| UniverseHacker wrote:
| I can't believe nobody posted this quote yet:
|
| "Emacs is a great operating system, lacking only a decent text
| editor"
| jb1991 wrote:
| It probably was not posted because it's untrue. No point in
| posting inaccuracies. Emacs is a great text editor.
| UniverseHacker wrote:
| "decent" or "great" are personal emotional responses, they
| cannot be true or false
| [deleted]
| smitty1e wrote:
| Jokes are the unit tests of our understanding. Sure, the gag
| "fails", but it makes the point of the general usability of
| the infamous Lisp-machine-in-editor-drag.
| [deleted]
| hestefisk wrote:
| Eight megabytes and constantly swapping
| krylon wrote:
| That joke hasn't aged terribly well, emacs on my desktop is
| currently at 269MiB. "Eventually Mallocs All Computer Storage"
| still applies, though.
| Ruq wrote:
| I'd just like to interject for a moment. What you're referring to
| as Linux, is in fact, Emacs/Linux, or as I've recently taken to
| calling it, Emacs plus Linux. Linux is not an operating system
| unto itself, but rather another free component of a fully
| functioning Emacs system made useful by Emacs.
|
| Many computer users run a modified version of the Emacs system
| every day, without realizing it. Through a peculiar turn of
| events, the version of Emacs which is widely used today is often
| called Linux, and many of its users are not aware that it is
| basically the Emacs system, developed by the Emacs Project.
|
| There really is a Linux, and these people are using it, but it is
| just a part of the system they use. Linux is the kernel: the
| program in the system that allocates the machine's resources to
| the other programs that you run. The kernel is an essential part
| of an operating system, but useless by itself; it can only
| function in the context of a complete operating system. Linux is
| normally used in combination with the Emacs operating system: the
| whole system is basically Emacs with Linux added, or Emacs/Linux.
| All the so-called Linux distributions are really distributions of
| Emacs/Linux!
| ppezaris wrote:
| sorry if i'm out of the loop, but i've heard what you describe
| as GNU/Linux, not Emacs/Linux. did emacs change to be the
| branding label of things like the compiler, the ----
|
| just saw that you're probably making a joke, as i just found
| this :) https://www.gnu.org/gnu/linux-and-gnu.en.html
| jamesgill wrote:
| 2023 is finally the year of the Emacs operating system on the
| desktop.
| ddalex wrote:
| Does it come with a text editor ?
| kristopolous wrote:
| Sure but it's a real bitch to learn though
| nequo wrote:
| It does:
|
| https://github.com/emacs-evil/evil
| red_phone wrote:
| Absolutely genius.
| anthk wrote:
| You joke, but an Emacs with framebuffer support and with
| everything statically build would be Stallman's dream: a
| next-gen LISP Machine.
| bheadmaster wrote:
| Even better - compile Emacs as a kernel module, and run it
| in ring 0. ELisp would give it memory safety, so memory
| protection would not even be necessary. System calls have
| never been so cheap!
| pjmlp wrote:
| I guess in such configuration 8 MB should be enough.
| trashface wrote:
| Been a long time since I used emacs (had to stop, it was hurting
| my pinky) but I did use M-x shell a lot, I always thought it ran
| bash but from this description I understand emacs has its own
| shell?!
| excircul wrote:
| M-x shell does run bash (or whatever is your user's shell)
|
| M-x eshell is a shell implemented completely in Emacs Lisp and
| integrates with Emacs really nicely
| Y_Y wrote:
| While this is a bit silly, I'd love to emacs as a DE option
| alongside KDE, Gnome etc.
| bigfishrunning wrote:
| You can! https://github.com/ch11ng/exwm
| pierpa wrote:
| Next: Emacs on bare metal.
| dingosity wrote:
| Or a CPU that executes e-lisp as it's machine code.
| bigdict wrote:
| I don't get it. It's Emacs installed on Linux. So what?
| photonbeam wrote:
| People joke about emacs being an operating system, here emacs
| is the whole userland
| JadedEngineer wrote:
| IIRC a single-thread, slow userland that is. Emacs is the
| only CLI program I've ever run that would take a second or
| two to render when quickly switching tmux panes. I'll never
| get the "use emacs for everything" mantra.
| forty wrote:
| Weird, I haven't used Emacs for that long and I really feel
| why I'd want to use Emacs for everything. I don't mostly
| because it seems annoying to setup the slack integration +
| SSO and that kind of thing. But I'd definitely want to
| write all my texts in (evil) Emacs, have all my to-
| do/Gitlab task/slack reminder /etc in org mode and review
| Gitlab PRs without ever opening a browser, etc
| dingosity wrote:
| because it does what i want my computer to do.
|
| sure, VI would be faster, but i would have to use vi.
| q7xvh97o2pDhNrh wrote:
| vim is also pretty slow these days.
|
| Even after I did the usual toil of analyzing startup
| times and trimming my vimrc, its speed/responsiveness
| correlates inversely with the size of the text file
| that's open. And we're not talking about some
| artifically-constructed benchmark -- just an extra-long
| ordinary text file (or log file, or code file) sitting
| around will be enough to make vim start to feel slow.
|
| Maybe we're all just getting old, and the dream of "one
| text editor for everything" is becoming one of those
| quaint old notions of yesteryear.
| JadedEngineer wrote:
| > Maybe we're all just getting old, and the dream of "one
| text editor for everything" is becoming one of those
| quaint old notions of yesteryear.
|
| I mean, that's only ever been a dream in the emacs
| community. Vim might have toy plugins for other stuff,
| but by and large people use it to edit period. As it
| should be, isn't the whole UNIX philosophy to do one
| thing well? If I want email or a text browser in the CLI
| (I don't) I'll use dedicated, better, faster programs,
| each on a tmux pane that I can use instantly with a
| keyboard shortcut, rather than wait for a slow emacs
| buffer to load.
| ihatepython wrote:
| Wouldn't that be kind of bloated?
| HopenHeyHi wrote:
| This is actually smaller: https://busybox.net
|
| https://re-ws.pl/2020/11/busybox-based-linux-distro-from-
| scr...
| anthk wrote:
| Uhm. On the 2.4 era, you could boot a Linux floppy to
| play Nethack on it: NeHaBoDi.
|
| https://nehabodi.sourceforge.net/
|
| I wonder if I could do the same with Slashem.
| pama wrote:
| Other than emacs, the only available command on that Linux
| system is mount. Not even a shell.
| bigdict wrote:
| Then how are the commands in the code listings executed?
| ertian wrote:
| eshell (emacs' shell) has it's own versions of common shell
| commands, written in elisp.
| bigdict wrote:
| eshell only makes an appearance in step 5, the rest are
| regular sh/bash commands.
| samus wrote:
| Emacs' `dired` mode might or might not be able to produce a
| directory listing by itself. However, the author admits
| that
|
| > Of course, quite a number of syscalls are missing from
| emacs (not available as elisp primitives), so as it is, it
| would be hard enough to do EVERYTHING with emacs, but this
| is a starting point.
| tenebrisalietum wrote:
| The Linux kernel, when it boots, will perform all its setup,
| then launch a program.
|
| That program has traditionally been `/sbin/init` which launches
| all background things that need to be running, including your
| `getty`'s for console login, your `sshd` for SSH login, and
| your `gdm`'s or what not for GUI login.
|
| Lately it's `systemd` which does the same in a less simple but
| more flexible/featureful manner.
|
| Here, there is literally no other process running but Emacs -
| it's your "login shell."
|
| This is the first step in replacing `systemd` with `emacs`, and
| it will take less space and be easier to use. /s
| HeckFeck wrote:
| Finally, I get to write my init scripts in Emacs Lisp!
| samus wrote:
| You know, .emacs bankruptcy is a thing...
|
| https://www.emacswiki.org/emacs/DotEmacsBankruptcy
| zokier wrote:
| Do you actually need mounted rootfs to run emacs though?
| lisper wrote:
| > Another, more realistic, alternative would be to use a Common-
| Lisp implementation with a FFI and portable Hemlock.
|
| Now there is an intriguing idea...
___________________________________________________________________
(page generated 2023-04-20 23:01 UTC)