27 ms·
Ultimate Linux on the Desktop
- pvinis 10y agoInteresting. I have thought that it would be cool to run all terminal commands either in a linux vm when I'm on macos, or even better in container(s). I don't know if there is anything like that already, or if it's even useful. What do hn people think?
- r3bl 10y agoWhat kind of terminal commands are you usually running? Most of my terminal usage (like moving things around on the hard drive, updating the system, managing Docker containers and editing config files) would have no sense to do in a virtual machine.
- yunolisten 10y agoperhaps state what you actually hope to achieve in doing this rather than run native in macOS?
- jjuel 10y agoWhat terminal commands are you running on Linux that don't run on macOS?
- floatboth 10y agoOn my Windows desktop, I work in a FreeBSD VM. With an X11 terminal (st) forwarded to VcXsrv via putty. GUI apps work seamlessly. I wrote a tiny PowerShell script to manage that stuff https://github.com/myfreeweb/xvmmgr https://github.com/myfreeweb/xvmmgr
- BugsJustFindMe 10y agobefore you get your panties in a knot Hello casual sexism.
- yunolisten 10y agocheck your privilege, ANYONE can wear panties!
- glormph 10y agoExactly, although I would not find it a privilege to be as closed minded to think not everyone can wear them. :)
- yunolisten 10y agoThe post I was replying to is something I'd expect to hear about from tumblr rather than HN.
- TurboHaskal 10y agoWear them in the head. That'll confuse them.
- rootlocus 10y agoI don't think figures of speech are sexists.
- yunolisten 10y ago> before you get your panties in a knot Hello casual sexism. The comment itself is sexist, since it is dependant upon OPs standpoint that only one gender can wear panties. 'The ironing is delicious.' - Bart Simpson
- BugsJustFindMe 10y agoMen are also harmed by speech that denigrates through feminization. This should not be news.
- yunolisten 10y ago
- caetergate 10y agoHow about a screenshot, few configs, anything?
- kasabali 10y agocheck the first link in the post
- dr1337 10y agoI wonder how much time he spends configuring his system as opposed to using it?
- anoother 10y agoShe.
- r3bl 10y agoWell, I don't know about her, but I'm spending a considerable amount of time of making my system usable as a two-in-one device (Lenovo Yoga). Still beats the hell out of using Windows, because I can actually fix things that I don't like instead of accepting them.
- oblio 10y agoWindows is quite configurable if you put the time and effort into it. Not as configurable as Linux, but it can get to about 80% of the way there (to get to 100% you need serious COM/Win32 chops).
- karrotwaltz 10y agoWindows having forced updates you can't schedule and can discard all your unsaved work (long live Sublime Text) is enough for me to want to drop it completely... Too bad there are still so many apps I need that can only run on Windows.
- dcdevito 10y ago"Windows having forced updates you can't schedule" Are people that inept at using Windows? I'm not trolling you, I'm serious. In Windows 10 I configured my active hours and set a scheduled reboot time if necessary, why is this so hard?? Seriously...
- karrotwaltz 10y agoIIRC you can set at most 12 contiguous hours for active hours, and that just doesn't fit for me, I was still getting automated reboots. There are other workarounds indeed, and I found my own way to deal with it, but it's only doable with a Pro version. I don't want to fight my OS for trivial things, and that's how I'm beginning to feel with Windows.
- buzzybee 10y agoThe post seems abruptly cut-off. It talks a lot about containers and not about applications. Does this person only write code and start servers?
- oddmunds 10y agoShe has a repository of Dockerfiles, so you can see for yourself the type of thing she does in containers: https://github.com/jessfraz/dockerfiles https://github.com/jessfraz/dockerfiles
- jacobush 10y agoSpotify being one. I see this as a testament to how far we have come when a "non kernel" coder can throw together a system such as this where each (dockered) process is heavily sandboxed.
- bayesian_horse 10y agoShe has a long history of working in container security. It seems to be an exercise in overengineering.
- venamresm__ 10y agoYou should take a look at what the guys on /r/unixporn do.
- NovaS1X 10y agoNever been to /r/unixporn but ricing my desktop and Linux os is what taught me Linux to the point of becoming an SA, then an SE. Amazing way to learn Linux.
- lacampbell 10y agoSA = System Administrator, SE = Software Engineer?
- NovaS1X 10y agoSystems Engineer. Started as an SA, worked my way to SE, but being a Linux hobbyist is what taught me all my knowledge on Unix. Never went to University. What the guys on /r/unixporn do is pretty much what I'd do with my OS, but add the networking and server-side stuff too.
- distances 10y agoThis probably highly varies by country/region, but here (Central/Northern Europe) using the title "Engineer" usually implies having an engineer's degree, which here is basically M.Sc. in a technical university.
- NovaS1X 10y agoYes it does here too, but for some reason in IT it doesn't matter. I don't know why this is, but there are many titles like Systems Engineer, Software Engineer, Database Engineer, Network Engineer, etc. These titles are not uncommon and they usually don't have hard requirements on degrees or group membership like "real" engineering fields such as Mechanical Engineering or Electrical Engineering does. I know this is true in Canada, and have heard this is also true in the US, but I'm not sure about other countries. They're all skilled nonetheless.
- oelmekki 10y agoThanks for the experimentation and report, would love to have more details. I've been wondering myself about using docker for user stuff, and not just developer stuff, like I do currently. Biggest problems I've figured: * the memory usage must be very high, unless you have a hybrid system where only some apps run in container and smaller ones do not * programs basically can't operate with each others, like accessing ssh agent or using dbus for ipc * finding files using locate now requires a script that will run locate in each container Are those things you already addressed, or at least you have ideas how you could address them? Or maybe, once used to a docker based system, they're not that a big deal?
- Daviey 10y agoI'm not convinced the memory usage would be very high.. but doing some measurements would be interesting. Avoiding network namespace and by using --net=host should allow dbus to run. Allowing updatedb to look in /var/lib/docker/ (and any attached volumes) should mean that the host mlocate can see all the files within the container.
- oelmekki 10y agoAwesome, thanks Daviey. So it seems to me that, while there's indeed some heavy coding to do for things like keeping apps up to date, containerizing what haven't been yet and managing data containers / mounted volumes, there's nothing preventing such setup to be viable, with hard work. There probably should be some grouping done at some point I guess, to work around apps that expect to live in the same place to work together, but that's still doable. Do you see any big blocker?
- jacobush 10y agoI associate to how IBM ran everything in virtual machines on their 360 architecture. And how you typically assign memory to virtual machines today reminds me of how you in MacOS < 10 had to do that on a per program basis before starting it.
- oelmekki 10y ago
- jeena 10y agoNice and catchy headline but I was hoping to be able to read how she does that, perhaps I'd need to read her other blog posts.
- tinco 10y agoIf you're willing to learn some things and jump through some hoops to get the ultimate Linux setup on your desktop/laptop, you should check out NixOS. It's fundamentally designed to solve some of the problems I think the author of this post aimed to solve, and you can set it up without forking other operating systems. The main downside for NixOS from my perspective is that its configuration language is just a small jump away from being trivial, and some things don't feel very polished. That said I do run it on my desktop, and setting it up was less work than for example setting up an ArchLinux machine (although setting up an ArchLinux machine is a bit more fun as you get to learn all these low level things)
- darklajid 10y agoI tried doing that in the past and went back to Arch instead. My problems (2-3 years ago, I think?) were mostly due to laptop related stuff that wasn't packaged (i.e.: A lot more work to get started) and important (for me) packages being seriously outdated: Again work to get my system up and running. So it boiled down to a huge amount of package maintenance and felt like that'd be something I'd need to continue doing for as long as I'm using NixOS vs just updating my distro of choice. I'd try NixOS again for a server. I wouldn't recommend it for a desktop/laptop though.
- clappski 10y agoI can second that, I think switching from Arch -> NixOS was far too much complexity at once. I've been considering using Guix as a package manager on Arch, but it would require a fresh install to avoid conflicts.
- Nullabillity 10y ago> but it would require a fresh install to avoid conflicts. Not really! Nix basically only touches /nix/..., which Pacman doesn't mess around with, so there are no file conflicts. Nix packages are generally hard-coded to use the specific libraries/external tools that they are built again, so Arch packages won't interfere with Nix packages. Nix also doesn't expose dynamic libraries or executables from dependencies, so the only vector for conflict in the other direction is if you have your Nix profile before /bin in $PATH, you have installed the same executable with both package managers, and some Arch program doesn't work with the executable from the Nix version.
- blacktulip 10y agoOK, how is this ultimate? Did I miss something?
- Quequau 10y agoI've had this thought myself. I've also considered that perhaps it might be useful to push some of those containers off the desktop system to some other box on the local network. I use an old workstation and having too many apps running at once does cause problems. Perhaps running some of the worst offenders (Browsers, Word Processors, CAD) on some other CPU, which isn't driving my desktop experience, would work out well. I already do most of my software development tasks in containers and just not having their environmental requirements conflict with each other was well worth the effort of setup.
- Perceptes 10y agoHacking CoreOS to work on a desktop is pretty cool, just for the nerd factor. I wanted to run CoreOS on my Raspberry Pi, but they don't have a build for ARM at this point, and I know nowhere near enough about Linux to work on it myself in the way Jessie did.
- bostand 10y agoyou can run Ubuntu core the pi, which is kinda similar to coreos.
- lovelearning 10y agoI had the impression that something like LXD containers - complete linux systems in a container - is better for this kind of containerized desktop than multiple singe application Docker containers. Can somebody here who's more familiar with container tech than me explain how and when Docker might be better for a containerized desktop?
- bostand 10y agoI second that. I would love to see a version of authors desktop built with Ubuntu Core instead.
- jdub 10y agoBecause each container image has only that app, and only what it requires (libraries, etc.), and each container instance runs only that app's process, and only with the very specific hardware/filesytem access that it requires.
- sedatk 10y agoThe Ultimate Linux Desktop will not need a blog post to configure, someday.
- dimitar 10y agoI'd argue that Fedora 25 is cutting edge (Wayland) and works pretty well out of the box without any cringy tweaks. YMMV thought.
- sz4kerto 10y agoExcept that on a modern nvidia card you can't even start the installer.
- ainiriand 10y ago...Or even with a laptop with dual videocards like most nowadays.
- jug 10y agoHaving used Fedora 25, I'm reminded how Linux is getting to be in a pretty good shape for mainstream desktop use, except for this driver story where you usually end up in a fixed 1024x768 resolution with no guidance on what to do. It's frustrating how this is still an issue and I get how much of it is nvidia's fault, but still, for the end user it plays a huge role in how "ready" Linux feels.
- bostand 10y agoWhy that attitude? Someone sets up her machine to her (very odd) liking, what is wrong with that? If you don't want to go that route there is always Ubuntu & co that "just work"... edit: Jess, sorry for calling you a guy.
- jdub 10y ago"guy"…
- 10y ago
- Ezhik 10y agoThat's... About the opposite of what I expect to see when I hear people talk about Linux on the desktop. It's definitely interesting though. But... Where's the GUI love? :( I know it's all about the terminal, but god damn it, I'm trying to drop OS X, and just because I can use bash doesn't mean I dislike having nice things like desktop transition effects or transparency or auto-mounting USB drives. I swear, if I have to read another Arch Linux forums post about how things Windows 98 could do out of the box are bloat...
- tronje 10y agoIt's actually quite simple to get some (all?) of the things you mentioned on an i3 setup (and other DMs, I'm sure). All you need is a compositor, like compton. Arch-Wiki article: https://wiki.archlinux.org/index.php/Compton https://wiki.archlinux.org/index.php/Compton
- Ezhik 10y agoI am sitting on a pile of hacks of an Openbox setup right now, and it does most of these things (the one big thing missing at the moment is a language switcher, learned it the hard way), so I'm used to it. It's the attitude that annoys me, I guess. A lot of OSS stuff doesn't feel like it's made for "real" people - sane defaults and such. With i3wm specifically it's just more obvious because it's minimalist-to-a-fault, but there are little things I find counter-intuitive even in something like GNOME. And while I do appreciate modularity of a light WM, and being able to fine-tune things to my liking, I'd like to see more projects like elementaryOS, regardless of how many times people say it's all "bloat" or "botnet".
- tronje 10y agoYes, I see your point. I personally like this kind of stuff, tinkering with my setup and whatnot. But it's definitely not for everyone. Have you tried using a Desktop Environment under the hood of i3, like xfce? Might be closer to what you're looking for. There's also a subreddit called "unixporn" where people post their various setups, usually accompanied by their configs. Might be worth to take a look at. Other than that, there's really only waiting or going back to macOS, I suppose...
- anotherevan 10y agoI wonder if Qubes OS[1] would be a contender. [1] https://www.qubes-os.org/intro/ https://www.qubes-os.org/intro/
- brennen 10y agoIt's an interesting design with some real potential, and may have improved since I last used it, but at least 6 months ago it was a bit too sluggish for real-world use on mid-tier laptop hardware.
- dcdevito 10y agoThis is a joke, right? If this is the "ultimate" Linux desktop then Desktop Linux has already died. I get what the author is trying to do, but it (along with WMs like i3) to me feels like we regressed 25 years of desktop computing. I mean, if you're going to do this, then why not just do what I do and run Windows 10 with a bunch of Linux VMs for development? I run a bunch in VMWare 7 in Unity mode and it all works great, all the while I still have a modern and fast OS on top. Put your MSFT hate aside for 10 minutes and see what I'm saying. The Linux Honeymoon won't last very long, all these macOS users jumping ship will return to the motherland soon enough, most Mac users I know WOULD NEVER have the patience or desire to do all this work, hence why they started using Macs in the first place. Regards, A former Mac user running Windows 10
- bostand 10y agoI am not surprised that a Docker core dev wants to run everything in containers, just for the heck of it. What does surprise me is the increasing number of hack-haters on the hackers news.
- chris_wot 10y agoAgreed. What the author is doing is really very cool, and I just can't see anyone running Windows 10 ever doing anything similar.
- dcdevito 10y agoCool? Absolutely. Time consuming? Probably. Worth it? Well....
- dang 10y ago'Just because' is reason enough, especially here.
- cube2222 10y agoTo the degree she did? No. But I'm often starting my development tools through docker for windows as it keeps the mess some programs make contained.
- xaduha 10y agoI used to do that, as in using a minimal linux distro as a sort of hypervisor. CoreOS (when it was CoreOS), Rancher OS, TinuCoreLinux with modified kernel and running everything with rkt. But then I stopped, because I was reinventing something badly for which there was already a solution. I switched to NixOS and never looked back.
- davexunit 10y agoI switched to GuixSD for the same reason.
- corybrown 10y agoThis is quite the setup. How does the clipboard work?
- ohstopitu 10y agoDocker apps is a thing I've been dreaming of for a while. When I was in university, I used to love testing new software but I hated the fact that it left stuff behind after un-installs. So I was on the other extreme and tried to only install stuff I always used and the rest was always inside docker containers. Infact that's exactly how I develop too (I run a PHP container for work related stuff, and a nodeJS container for my side projects). I've always been meaning to try launching GUI apps via docker - it's one of the few things that has stopped me from getting into other languages like C/Go etc - because IDEs generally require the complier and other stuff to be installed on your host system (or a plethora of hacks to get it to on remote properly).
- PuffinBlue 10y agoI've only looked very briefly at this in the past, but isn't this what Ubuntu (via snapcraft.io[0]) is trying to do with Snaps? I might have misread it with only a cursory glance but it looks similar. [0] http://snapcraft.io/ http://snapcraft.io/
- eikenberry 10y agoSnap does most of it. But a snap app would still leave behind any config files/dot files it created where a dockerized version wouldn't.
- ohstopitu 10y agoSnap has had some weird issues in the past! and it does leave behind files every now and then (especially if you look into your .config folder I think).
- jjuel 10y agoCheck some of her stuff out on the Docker hub. She has a ton of dockerfiles for running any sort of app you want in a container.
- guifortaine 10y agohttps://pagure.io/atomic-ws https://pagure.io/atomic-ws
- suhith 10y agoMaybe I'm missing something, but any changes you made to the application would not be saved, correct? For example in Chrome assuming you downloaded something, you would have to specify the target location as your native filesystem, not the overlay filesystem in the docker container. Is it possible to do that?
- bench_soup 10y agoYou can bind mount folders between the host and container. (--volume option with docker for example) So that when you write in container's Download folder it would also actually be in your host's filesystem.
- valarauca1 10y agoSo the ultimately Linux Desktop starts with Installing Gentoo? Am I on 4chan.org/g
- fizixer 10y agohow so? Are Gentoo apps containerized or isolated from each other in some way? As someone seriously dissatisfied with my existing setup (6 year old Ubuntu install that is now a complete mess), I'm shopping for an insanity-free way of managing my desktop. Currently looking into: - Minimal host with containerized apps (this post). - Nix or Guix (need to read up on this) - Some arch-based setup - Gentoo - Very ambitious that I don't have time for: my own setup of some kind (based on LFS as a starting point).
- aidenn0 10y agoDoes anybody know if the author has a public portage overlay for her setup?
- disease 10y agoLike a few others here I've always thought that running all your apps on the OS in containers could be cool. It's my impression that Chrome OS already kind of works like this - with each app in it's own sandbox. Are there any inherent limitations on doing things this way? Because it seems to me that the benefits gained in security, convenience and ease of installation would out-weight any downsides here. Downsides being: more RAM required, less "bare metal" access, more hard drive space required. I am NOT a systems engineer but running all apps in their own containers seems to make a lot of sense at an intuitive level.
- deleted 10y ago[deleted]