9 ms·
Emacs standing alone on a Linux Kernel
- AeroNotix 12y agoQuite possibly the greatest human achievement ever made.
- math0ne 12y agoI put my shell in your shell so I can shell while you shell.
- dredmorbius 12y agoY'know, that's kind of the point as well. A number of "BBC" bootable business cards used a /bin/sh script as init. This worked pretty well. Though, now that I think of it, while I've never had /bin/init itself fail on me, the BBCs would occasionally crash due to a shell hang (either the script or /bin/sh itself, I'm not sure which).
- fdsary 12y agoA lisp machine!
- xg15 12y agoNow it only needs a decent editor. (I'm sorry)
- jgrahamc 12y agoI laughed even though I'm a dedicated emacs user.
- jfb 12y agoAn old joke, but a good one.
- jsmthrowaway 12y agoNah. Luckily it can shell out, and /bin/cat is a decent editor in comparison.
- danielweber 12y agoed
- gpvos 12y agoAnd you get extra points if you set your terminal to raw mode.
- Crito 12y agohttp://www.emacswiki.org/emacs/Evil http://www.emacswiki.org/emacs/Evil ;)
- codemac 12y agoM-x evil-mode
- cies 12y agoYups! Even that issue can be closed now.
- izietto 12y agoKing Vim is not amused :P
- dredmorbius 12y agoConsider it a challenge. No real reason you couldn't implement it as well, though AFAIR there's no internal shell mode in vim (you shell out).
- emidln 12y agoYou could probably make due with the python plugin, vim-conque, and ipython.
- mercurial 12y agoIt's not really the vim way, though. Vim doesn't have web browsers, email client, and the like. Maybe the terribleness of vimscript is a blessing in disguise?
- dredmorbius 12y agoFair point that. But it's got syntax highlighting for most of the content types you'd be likely to encounter.
- mdewinter 12y agoChallenge done: https://raymii.org/s/blog/Vim_as_PID_1_Boot_to_Vim.html https://raymii.org/s/blog/Vim_as_PID_1_Boot_to_Vim.html
- dredmorbius 12y agoSubmitted: https://news.ycombinator.com/item?id=8335226 https://news.ycombinator.com/item?id=8335226
- izietto 12y agoWhy all these downvotes... I was just joking :/
- abdullahkhalids 12y agoIf I can get a laptop with a e-ink display (or build one using a raspberry pi) this is my dream setup for when I am writing.
- Someone1234 12y agoe-Ink is one of the worlds most underutilized technologies. I wonder why that is?
- sho_hn 12y agoBecause it's not very nice to use. It feels unfinished and wonky. I do enjoy using my (high-end and fairly recent, Kobo Aura HD) reader, but fast path page turns degrade the rendition quality of type so quickly that I've set it to do a full refresh every two turns, and so get to put up with how slow and violent they are. It's the sort of tech that would send a cartoon Steve Jobs into a raging fit. e-Ink feels like a prototype we're putting up with because it has some intrinsic conceptual advantages, but it never feels like it's fully there yet. It's probably the most utilized such technology I can think of (though perhaps I've just gotten more used to other tech's flaws). I'm happy we're willing to do that, really, but e-Ink is unsatisfying and needs to be better.
- snogglethorpe 12y agoYeah, eink is a great idea, but it feels like it's been just languishing in the "zone of OK" for quite a while, while 99% of industry research dollars are focused on fast-update vivid color light-emitting displays. Unfortunately the latter are arguably more widely applicable, and vivid color displays are reallly easy to sell to consumers, while the charms of something like eink are more subtle up front (even if very apparent in the long term). Eink-type displays, that emphasize long-period eye comfort and texture over vivacity and color, are probably a smaller niche. Niches don't really get the money... and subtlety doesn't sell. Oh well.
- derekp7 12y ago
- kazinator 12y agoJust the fact alone that there is no systemd makes this an awesome distro!
- rikkus 12y agoOnly one step left before it's truly a OS in its own right!
- bane 12y ago2017: emacs renamed "GNU Hurd".
- daveloyall 12y agoHm, the author really does mean 'standing alone'. I'd always assumed that when someone does this, they'd make emacs perform the usual init duties, and that the rest of the system would be available. And you want the rest of the system to be available, to use emacs properly... hobbes@metalbaby:~$ find /usr/share/emacs -type f -name \*.el -exec grep '/bin/' {} +|wc -l 62 hobbes@metalbaby:~$ find /usr/share/emacs -type f -name \*.el -exec grep call-process {} +|wc -l 44 ...For some reason I thought those numbers would be much larger. I'm probably searching for the wrong strings.
- LukeShu 12y agoMost of the .el files are compressed as .el.gz files; also /sbin/. $ find /usr/share/emacs/24.3/ \ > -name '*.el' -exec grep -E '/s?bin/' {} + -o \ > -name '*.el.gz' -exec zgrep -E '/s?bin/' {} + | wc -l 212 $ find /usr/share/emacs/24.3/ \ > -name '*.el' -exec grep call-process {} + -o \ > -name '*.el.gz' -exec zgrep call-process {} + | wc -l 400
- mercurial 12y agoemacs-systemd, coming soon to your system.
- daveloyall 12y agoYes! But, we're 0.2 seconds away from the old emacs threading conversation here... :)
- microtherion 12y agoNow that's what I call "GNU/Linux"
- influx 12y agoShit, I did that years ago: --- main.c Sun Jun 3 22:02:34 2001 +++ main.c~ Tue Jul 10 16:05:26 2001 @@ -789,9 +789,9 @@ if (execute_command) execve(execute_command,argv_init,envp_init); - execve("/sbin/init",argv_init,envp_init); - execve("/etc/init",argv_init,envp_init); - execve("/bin/init",argv_init,envp_init); - execve("/bin/sh",argv_init,envp_init); - panic("No init found. Try passing init= option to kernel."); + execve("/usr/bin/emacs",argv_init,envp_init); + execve("/usr/local/bin/emacs",argv_init,envp_init) ; + execve("/bin/emacs",argv_init,envp_init); + execve("/usr/bin/xemacs",argv_init,envp_init); + panic("No emacs found. Are you sure this is GNU/Linux?"); }
- mike_ivanov 12y agoln -sf /usr/bin/emacs /sbin/init
- scott_karana 12y agoWhere would you find ln, though? ;)
- digisign 12y agoThat's pre reboot.
- pyre 12y agoWhere would you find gcc to patch the kernel? :P
- daveloyall 12y agomake-symbolic-link is an interactive built-in function in `C source code'. (make-symbolic-link FILENAME LINKNAME &optional OK-IF-ALREADY-EXISTS) Make a symbolic link to FILENAME, named LINKNAME. Both args must be strings. Signals a `file-already-exists' error if a file LINKNAME already exists unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. A number as third arg means request confirmation if LINKNAME already exists. This happens for interactive use with M-x. or... dired-do-symlink is an interactive autoloaded compiled Lisp function in `dired-aux.el'. (dired-do-symlink &optional ARG) Make symbolic links to current file or all marked (or next ARG) files. When operating on just the current file, you specify the new name. When operating on multiple or marked files, you specify a directory and new symbolic links are made in that directory with the same names that the files currently have. The default suggested for the target directory depends on the value of `dired-dwim-target', which see. For relative symlinks, use M-x dired-do-relsymlink. ...It doesn't seem to depend on an external `ln`. http://git.savannah.gnu.org/cgit/emacs.git/tree/src/fileio.c#n2444 http://git.savannah.gnu.org/cgit/emacs.git/tree/src/fileio.c...
- postit 12y agoI always told that Emacs was designed with the fear that some day the OS won't be there. This day is coming
- KC8ZKF 12y ago(replace-regexp-in-string "fear" "hope")
- ejr 12y agoI imagine there are a number of authors who don't want to be bothered by the extraneous bells and whistles on a new system. It reminds me of this clip of George R.R. Martin. https://www.youtube.com/watch?v=X5REM-3nWHg https://www.youtube.com/watch?v=X5REM-3nWHg
- hardwaresofton 12y agoOne of these days I'm going to get "All you need is Emacs" on a T-Shirt and teespring it.
- hardwaresofton 12y agohttp://teespring.com/all-you-need-is-emacs http://teespring.com/all-you-need-is-emacs Pretty impressed with the interface of teespring, it was literally a breeze. Amazing UX and UI design on that site
- cryptos 12y agoI was thinking that the Emacs operating system already had a kernel! ;-)
- spain 12y agoSometimes I really do wish GNU Emacs could work as a window manager too. I'm currently using StumpWM but it feels wrong that it's separated from Emacs. Most of the time on my laptop I just have a bunch of emacsclient -c's running, Firefox, and a PDF viewer (though I'm sure Emacs has several browsers, I'm still not willing to give up Firefox).
- daveloyall 12y agoYou and I use our computers in a similar manner, right down to the bunch of emacsclient -c's. Throw a deluge and a vlc in there... I have never quite got emacs integrated into my window manager satisfactorily. Here are some things I've tried: * stumpwm without integration * i3wm with https://github.com/vava/i3-emacs https://github.com/vava/i3-emacs * Various incarnations of http://www.emacswiki.org/emacs/OneOnOneEmacs http://www.emacswiki.org/emacs/OneOnOneEmacs with i3wm, awesomewm Things I have considered trying: * talking to clfswm via an inferior lisp process The next thing I'm going to try: * xmonad (via hackage) Let's face it, the end goal here is for ALL keys to go through emacs, and then have emacs tell the WM what to do, yeah? Once that is done, regardless of which wm it gets done to, a bunch of people are going to flock to it, AMIRITE? :)
- gpvos 12y ago> The only external tool needed is mount. It looks like emacs is missing functionality. Get to it!
- teddyh 12y ago> (global-set-key "^\" 'keyboard-quit) ;; strangely, C-g does not work. That is probably because Emacs remaps the Unix terminal interrupt character from Ctrl-C to Ctrl-G, and then detects the actual interrupt signal. If Emacs is run standalone, then probably the terminal has not been set up correctly, and this needs to be adjusted. I’m sure it could be made to work with a few careful calls to (call-process "/bin/stty" …) or so.
- hardwaresofton 12y ago"All you need is Emacs" T-Shirt: http://teespring.com/all-you-need-is-emacs http://teespring.com/all-you-need-is-emacs (Seemed to be against guidelines to post as it's own thing)