8 ms·
XPlain – Explaining X11 for the rest of us
- ivanche 12y agoAh, by the title I thought it's about crypto currencies and X11 algorithm...
- jimktrains2 12y agoX11 is a protocol, not an algorithm.
- ivanche 12y agoThanks for the correction! And I wondered why I got all those downvotes...
- jimktrains2 12y agoWell, the downvotes might also be from the perceived snark.
- Flimm 12y agoThis article was last updated in May 2014: https://github.com/magcius/xplain/commits/gh-pages https://github.com/magcius/xplain/commits/gh-pages
- Jasper_ 12y agoI have plans and some code for the next article, but I've been busy with actual real work. I promise you'll see it before the end of the year.
- Flimm 12y agoSorry, I should have been more clear. I was pleasantly surprised by how recent the updates are and many commits there were. Keep up the good work!
- lucian1900 12y agoActually embedding an X server in the article is one of the coolest things I've seen in a while.
- pjc50 12y agoThat's a seriously awesome piece of work. I'm sure it could be used for more things than demos. X11's client-server model is seriously underappreciated, and the continuing efforts to make X behave exactly like Microsoft Windows frequently forget about network transparency. Conversely, trying to make X behave like Microsoft Remote Desktop is often unreasonably painful. I've not yet seen a nice solution for detaching and reattaching X applications like screen(1)
- deleted 12y ago[deleted]
- XorNot 12y agoThis is an ongoing complaint I have with X: remote desktop on Windows systems is still far superior to Linux systems.
- scarygliders 12y agoNot if you use X11rdp. I should really do a Show HN of my X11rdp-o-Matic script, which automatically builds and installs X11rdp/xrdp from the github repo - it's been in existence for 2 years and I update the script(s) with enhancements from time to time. xrdp and the X11rdp back-end X server is in constant and full development, with an actual Xorg module being worked on as well. Edit: Indeed, I just submitted a Show HN at https://news.ycombinator.com/item?id=8021592 https://news.ycombinator.com/item?id=8021592
- Jasper_ 12y agoI wrote the server from scratch JavaScript, and I can't verify its accuracy towards real server behavior: https://github.com/magcius/xplain/blob/gh-pages/src/server/server.js https://github.com/magcius/xplain/blob/gh-pages/src/server/s... It's fake in a lot of ways, especially in its input model. It's well-commented and designed as a codebase to learn from, not as a real implementation of an X server that's reusable.
- omnibrain 12y agoThe article about the linux graphics stack that he links right at the beginning is also very interesting.
- Shish2k 12y ago> you might remember that Xorg was forked from XFree86 a decade ago Today's xkcd is relevant :( ( http://xkcd.com/1393/ http://xkcd.com/1393/ )
- ccozan 12y agoAh, the magic of X. I've done my first steps into X by programming a graphical FTP client on a SGI Indy 2 under IRIX. It was 1994 and I spent about 3 weeks and I had luck to get the O'Reilly X books [0] ( and other two, can't remember ). [0] http://shop.oreilly.com/product/9781565920156.do http://shop.oreilly.com/product/9781565920156.do
- jesuslop 12y agoI hope Wayland innards gets similar efforts to be explained and publicised with this same level of quality as this piece on venerable x11.
- Jasper_ 12y agoI'm trying: http://blog.mecheye.net/2014/06/xdg-shell/ http://blog.mecheye.net/2014/06/xdg-shell/ Really, a big part of Wayland is that there isn't much there. It's not a ridiculously complicated system to explain with lots of extensions, you're just having clients pass image files around and get streams of messages for input. The easiest way to get a feel for the system is to use the built-in protocol dumper: $ WAYLAND_DEBUG=client weston-terminal ... or so... and that's it, that's the entire system. If anybody has any more questions on Wayland internals, I'll certainly consider writing a series of articles on it.
- pjc50 12y agoInteresting, that's the most positive thing I've heard about Wayland so far (much simpler system).
- Jasper_ 12y agoWhat else have you heard about Wayland?
- Sammi 12y agoGuaranteed perfect frames. Compositor built in. Both awesome. It's simple and slim, and therefore hopefully more performant. And then there was some drama about client side windows decorations, that I didn't quite get.
- zanny 12y agoThe protocol doesn't specify decorations. It is up to the compositor. The reference one, Weston, was using client side (I think Mutter is doing that too) while Kwin is using server side. It is a personal choice. And Wayland the windowing system doesn't care what you do - its decoration agnostic.
- angersock 12y agoWhat are some other good resources for learning X? It seems like quite the dark art.
- jesuslop 12y agoYou can look here, they have a tutorial and a web version of the XLib Manual: http://tronche.com/gui/x http://tronche.com/gui/x
- Jasper_ 12y agoI would recommend against the Tronche site for references. It was automatically converted, but there are sometimes fields missing in places. I've tried emailing him, but the email address is disconnected. You can find reference documentation officially here: http://www.x.org/releases/current/doc/libX11/libX11/libX11.html http://www.x.org/releases/current/doc/libX11/libX11/libX11.h... http://www.x.org/releases/current/doc/xorg-docs/icccm/icccm.html http://www.x.org/releases/current/doc/xorg-docs/icccm/icccm.... I haven't read the tutorial, so maybe that's perfectly OK.
- rdvrk 12y agoBeautifully done; the writing style, the server running inside my browser - wow! I haven't been so excited about a piece of software for ages. Reading this and looking at demos gives me the same feeling of amazement I got reading paper magazines when I was younger. Exploring floppies included with books, hearing the modem connecting for the first time, short pause, stream of characters before the login prompt. Magical. Thank you Jasper_ for doing this and emillion for the link.
- peaton 12y agoSlightly unrelated, but does all of this recent github hacking for blogs/books/etc remind anyone else of myspace?
- Jasper_ 12y agoI chose GitHub because it's an easy way to publish a static website that I don't have to rsync: contributors can fix a typo and I press a button on the website and things are automatically deployed. It's a super convenient workflow for me, and there's nothing else like it in my opinion. If there is, please let me know! I hate rsync / scp for deploying static sites, but that's the best thing we have right now.
- peaton 12y agoI'm not saying it's a bad thing. I really just meant it as a comment. Hacking the layout just reminded me of those good old myspace profile days. No I'm not "hating". Everybody does this these days. I just think it's interesting.