Hacker News new | past | comments | ask | show | jobs | submit login
Ultimate Linux on the Desktop (jessfraz.com)
212 points by uggedal on Jan 20, 2017 | hide | past | favorite | 157 comments



That'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...


I don't think any of the mainstream Desktop Environments (Unity, KDE/Plasma, Gnome3) or even some of the second-tier DEs (MATE, xfce, lxde) on Linux these days are that far off.

The GUI experience on Linux suffers mostly from inconsistency when using applications written with different toolkits, awful font rendering, and a general sense of being in the uncanny valley if you're used to other desktops environments.

My first computer in the mid 90's was running Linux on the desktop, and aside from a smattering of Windows here and there for games throughout the years, I've mostly stuck with it. Using Windows and OSX isn't some revelation in usability these days. OSX is more aesthetically pleasing, and a bit more consistent I think, but otherwise I don't find it profoundly better than the Linux options. I don't think it's more discoverable, and certainly hasn't been more stable in my experience- and there are definitely features I miss going from Linux to OSX on the desktop.


Two years ago, I bought a Macbook Air to my wife after she complained that she was not able to make nice photo books with the software available on Linux (Ubuntu). Since then, she considers that Gnome (she does not it is Gnome, for her it is Linux) is way more user friendly than the Mac.

She has been annoyed many times by the way her Mac is running. One day she lost all her books because of a new version if iPhoto which suddenly requires you to have a kind of remote on Apple servers, the spreadsheet/writer tool is really bad at opening Excel and Word documents, the email client has very small fonts, etc...

For basic day-to-day usage, we found that Windows/Gnome/Macos are basically at the same level of consistency/quality. You can complain against some stuff on each side, they have inconsistencies on each side, but at the end of the day, one is not any more really better than the other, but she hates the fact that she has no ideas why sometimes on the Mac it does not work.


Has she managed to make photo books on Linux? Which software?


We live in Germany and we were using the services of Pixum[0]. This is not free software and the Linux installer is working correctly.

[0]: https://www.pixum.de


Check out Elementary OS and their Pantheon DE for consistency. One of the few distros that actually has (sane) designers onboard and adheres to the outline set by those designers.


Last weekend, a friend of mine asked me to "wipe his laptop". When i asked him why, he replied he had viruses, it was slow etc. After asking him what he used it for he said "web and nothing else". He agreed to try something new and I installed elementary OS for him. First install i'd done. After 21 years of linux experience i have to say it's a really sweet desktop. He was super happy and couldnt believe how "fast his laptop was". Hats off to the elementary OS people. Its a sweet system.


Has anyone gotten the Pantheon DE running on other distros?


It works on Arch, but needs some tweaking. I tried it a while ago but decided I didn't like it so I don't know the current state.


> The GUI experience on Linux suffers mostly from inconsistency when using applications written with different toolkits

This is true, however Windows suffers from the same problem (and OSX too, however in a minor degree).

> awful font rendering

Only by default maybe. I did tweak my fontconfig (just some symlinks available in /etc/fonts/conf.avail) and IMO the font rendering in my Linux systems are better than my Windows systems (even after tweaking Windows ClearType).

There is the fact that some applications does not support fontconfig, however I can't think anyone that I use daily at least.


The infinality fontconfig patch completely fixes this, but no distribution ships it because of patent encumberence.


Hmm, the FreeBSD port print/freetype2 has LCD_FILTERING ("Sub-pixel rendering (patented)") enabled by default since 27 Nov 2014.

infinality is obsolete. Freetype 2.7.0 ships a new interpreter (that's… based on infinality. but faster and simpler) http://lists.nongnu.org/archive/html/freetype-devel/2016-07/...


I'll have to check if I'm missing something but I haven't been happy with the effect on Ubuntu despite hearing this for a while.


You are absolutely right. Theres a whole bunch of apps that are 'blurry' when running on a retina display.


"The GUI experience on Linux suffers mostly from inconsistency when using applications written with different toolkits"

I have never understood the claim different software should be stuffed into the same user interface paradigm. Mainly it's an artifact of the encumbrance the software stack we use to compose user interfaces imposes on us.

OS level components should have the same look and feel.

Otherwise I see it as a bonus that different applications look and behave differently. I see no added value for the user if, say, Spotify and Word used the same toolkit.


I was thinking more specifically of things like having to configure HiDPI settings differently for Qt and GTK, for example. There are also some copybuffer inconsistencies at times. It's not a big deal for anyone who is motivated to deal with it, but probably irritating enough to make some people give up early on even if they would otherwise like having a system that's configured properly.


Oh yes, I agree, DPI settings should be global accross the system as much as possible and copy buffer should definetly work consistently. Generally it's the application's responsibility to implement the tie in to these platform systems - on the interface level that should preferably not be tied inseparably to any UI code).

To me however, this is on a different architectural level than how the UI itself is inplemented (which, technically, is just motion graphics with hotspots, but psychologically is the most important part for most users).


Yes. I have never got that insistence on UI nativity. Is there any OS where it's actually practical to only use programs that conform exactly to the vendor's UI style? All the major desktop OSes depend on tons of "non-native" programs to actually do work. Android usually requires some, and I'm not sure about iOS as I've never seriously used it, but I would guess the case is similar there.

It seems like "must be UI native" is a way for Mac fanboys to try to enforce their preferred design paradigm on otherwise-uninterested people.


To give credit - Apples human interface guidelines for the original Macintosh were wonderfull in giving guidance where the UI as a concept was bound to be foreign to most. Also, the first commodity GUIs were on resource strained hardware so they could not do everything effectively.

I think we are now at a point where the glowing animated screen is far more familiar to most people and the raw power available on most devices is such the only rational constraint for UI design is that use experience must be understandable to most and that the underlying system must play nicely with rest of the device.


If I have a choice, I'm always choosing native application for macOS. It's eating less memory (because all shared libraries are already loaded), it provides similar experience as other apps (menu bar, context menu), it's usually works much faster (because Objective C is quite fast compared to some interpreted languages). Sometimes I don't have a choice (like Intellij Idea), so I have to live with Java or Chromium application, but I don't like that experience.


I agree completely. Most big desktop applications make no attempt to conform to platform look and I have never heard people complain of that.


I'm using Fedora 25 as of 2 days ago along with some repos that were listed from the Korora project. I've been blown away by how smooth this experience has been so far.

This is the first time in years of experimenting with desktop/laptop linux where I've been able to say that it's close enough to gain mainstream popularity.


If you're ok with Ubuntu as a base OS, Elementary OS may be what you're looking for. It has (in my experience) the most modern macOS-like interface that is still minimalist enough to not get in the user's way. It is clean, fast, and beautiful to look at. I've been using it as a daily driver for over six months now and I'm still finding things to love about it.

I do wish it was based on a more sane (for my tastes) distro like Slackware or Gentoo, but that probably wouldn't work given how much it depends on the Ubuntu/Debian way of doing things under the hood. The fact that it has made me give up Slackware on the desktop still surprises me; I'd been using Slackware almost daily since about 2001 but the last few releases have felt trapped in the past while struggling to catch up to every other distro feature-wise. Maybe that's due to their insistence on remaining systemd-free (something I am proud of them for) but whatever the reason, I now only use Slackware on servers and really old hardware, and only use Elementary on the desktop. Anything else in either setting just doesn't compare.


ElementaryOS looks awesome.

I was going to put it on my Chromebook as my main OS, but theres a silly bug with the legacy BIOS for specifically my chromebook (Toshiba Chromebook 2 2015) that makes installing any Ubuntu flavor, or ElementaryOS, just not work.

I ended up putting Mint on it, since the OS installer would actually render.

Still want to try ElementaryOS someday.


I've actually just bought the brand new XPS 13 developer, and planning to install eOS as soon as I get it! I believe I'll need to upgrade the kernel to get full use of the processor arch, but others have done it, and have mostly been successful.

It looks really good though, and the community behind it seems to be growing, so I'm hoping to become active contributor.


Install the Elem OS DE on another distro?

https://wiki.archlinux.org/index.php/Pantheon


I've tried that and it's just lipstick on a pig. There's so much of Elementary that is more than just the DE itself, that makes it feel so complete and cohesive.


Can you expand on what some of those things are, or link to something that does? It sounds like a great lesson for other distros.


You can read a lot about it on their blog, specifically this post:

http://blog.elementary.io/post/153360513026/busting-major-my...


Do you know if eOS collects any user data during use and sends it home?


It does collect data for use within the OS itself, to assist the user with searching their own system. My understanding is that none of this is ever sent out over the network. You can turn off individual data sources, or disable data collection altogether and use traditional command line tools for searching for your stuff. The linked screenshot is of the default settings under the Privacy tab in Settings, with a tooltip explaining why you would want to turn off collection.

http://i.imgur.com/1FbMQkm.png


> doesn't mean I dislike having nice things like desktop transition effects

While transition effects are pretty, I personally do dislike them: if it's not instantaneous, it's too slow.


> doesn't mean I dislike having nice things like desktop transition effects or transparency

If you're using a DE (like Gnome) they bring it by default. If not, well, you can choice any of the multiple window compositors out there. However if you're using something lightweight enough to not bring a compositor by default, well, you probably asked for it.

Compton is a lightweight alternative BTW.

> or auto-mounting USB drives.

This isn't really a problem since systemd-logind. Just make sure that you're starting X.org in the same TTY that you logged in, or at least make sure you're using a Display Manager. After that, any File Manager that supports auto mounting will work, even without running a DE like Gnome.

Last time I setup my i3-wm workspace it was simply a matter of cloning my configuration from GitHub. Everything DBus related (including auto mounting) worked. Never more I needed to do insane things like:

$ ck-launch-session dbus-launch i3 # or it was dbus-launch ck-launch-session?


> Compton is a lightweight alternative BTW.

I think compton is the only choice, isn't it? As far as I know, xcompmgr and cairo both are not being developed anymore. And even compton is an unhealthy project, see https://github.com/chjj/compton/issues/352.


It'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


I 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".


> but there are little things I find counter-intuitive even in something like GNOME.

I find plenty of counter-intuitive things in OS X and Windows as well. Linux desktops aren't perfect by any means, but I don't find them to be far from Windows or OS X, and they're better in some ways.

I think part of the issue is the number of choices on Linux. There's a wide range of desktop environments/window managers, and of course a wide range of quality too. And with such variety, there's sure to be plenty of options that are not made for "real" people, since many of them were just made for the author.


Yes, 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...


You should try KDE then. It's pretty great, I think it's the best desktop environment on any platform.


Messed with it very briefly while distro hopping, actually. Found that it did a lot of things UX-wise very nicely, but I ended up not keeping the distro for whatever reason, then just never came back to the DE. (I think it was the Kubuntu LTS not playing along with my laptop?)


Try manjaro kde. It has pretty good auto detection and configuration for hardware. Looks like ubuntu messed up release 16 and it rears its ugly head on many ububtu based os. It feels so brittle. Debian based netrunner kde is also nice but I like manjaro better for its excellent ux.


Maybe if it wasn't such resource hog and not segfaulted every few minutes...


Check out the poorly named /r/unixporn subreddit. It's screenshots of people's fancy GUI setups with explanations of what they're using to get things to look that way.


I find elementaryOS rather pleasant and consistent in its UI. I am currently trying to switch away from macOS and eOS seems the only Linux distro that does not make my eyes bleed.


another option that I found to be similar in experience was Gnome3.


times might have changed since I did this last, but go to youtube and look up "compiz linux" (added linux just in case compiz matches something else ).

I used to run XFCE + compiz, which you configure using a program called ccsm. It's not hard, either use apt-get or click on the "software" icon from the start page. Install compiz (and maybe compiz-extras or whatever), and ccsm (again, times may have changed so it might be called something else).

That will get you a 3D accelerated desktop. You can let your desktop be a rotatable cube, rubbery wobbly windows, real opacity/transparency, and an accelerated magnifying glass/zoom effect which I used quite a bit (hold down windows key and the mouse wheel zooms you in/out). It also supports inotify, so its windows-like when you put a USB in you'll get the little dialog box saying "USB stick inserted". Highly recommend you give it a spin.

Over time, I got over the coolness of it, and just switched over to xmonad so I dont even need the mouse (much) anymore.


> I know it's all about the terminal

Thats only true if you want it to be. I would recommend to look into gnome shell. And maybe KDE


Checkout /r/unixporn


If 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)


I 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.


I 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.


> 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.


Docker 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).


Check 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.


I'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/


Snap 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).


Snap 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.


Thanks 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?


I'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.


Awesome, 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?


* if you are using light enough images, this shouldn't be a huge issue. if you have 16/32gb of ram this is a complete non issue for most desktop scenarios

* Thats entire the point. Only programs that you WANT to operate with each other can. This may be inconvenient, you may need to set up a socket or something for ssh-agent to handle and then programs that need the agent would have to hook into it.

* Any files in the container should 100% be program data. Any persistent/user data should be volumized to the host. Which means you can just find files on the volumes rather than in the containers. This may make files MORE centralized (if you use some sort of convention for /volumes/<program> or something)


Very good points. I guess it would need some kind of standardization for `/etc` files, because I definitely want those to be lookable.


Depending on your stance on how configs should be set up for desktop stuff... /etc should be a base part of the image. Any customizations you need in there should be injected at build time. That would be your customized etc configs would be sitting in the directory with your docker file, which would then be searchable.


That's the kind of standardization I had in mind :) Building such a system, we must make sure to have all the etc files in repos, even if we do not edit them, and copy them on build, instead of just having them in repos if we want to make a change, or using `sed` in dockerfile to edit them.

That is, for people who want their etc files easily lookable, of course.


I 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.


Sounds like interesting prior work for the problem at hand (granted, docker is not VM, but I guess they needed to solve the same kind of problems regarding ipc). Do you know of any literature about IBM results?


Not really. Maybe start here if you are curious: https://www.ibm.com/support/knowledgecenter/en/SSAV7B_633/co...

Look for service machines.


Thanks!

So it seems they prefer to run groups of applications as services rather than totally isolating each program. This makes sense : docker bundles could be the next level of meta packages. You could say "I want to write some react-native code" and have the jvm, react-native and android sdk pulled at once and ready to use.

Regarding ipc, they take a good part of this page to describe their z/VM networking features, so I guess it's indeed something needing solving. The interesting part is that docker networking already allows tcp networking, and mounting volumes could help sharing sockets or regular files, kind of like the "single system image feature" they mention.


I 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.


I switched to GuixSD for the same reason.


The Ultimate Linux Desktop will not need a blog post to configure, someday.


I'd argue that Fedora 25 is cutting edge (Wayland) and works pretty well out of the box without any cringy tweaks. YMMV thought.


Except that on a modern nvidia card you can't even start the installer.


Having 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.


...Or even with a laptop with dual videocards like most nowadays.


Why 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.


Just a question of labelling.


"guy"…


I wonder if Qubes OS[1] would be a contender.

[1] https://www.qubes-os.org/intro/


It'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.


I'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.


Hacking 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.


you can run Ubuntu core the pi, which is kinda similar to coreos.


I 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?


Because 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.


I second that.

I would love to see a version of authors desktop built with Ubuntu Core instead.


How about a screenshot, few configs, anything?


check the first link in the post


You should take a look at what the guys on /r/unixporn do.


Edit their window manager configs, play some music, use IRC and their browser, show their anime desktop image?

The percentage of actual "this is the desktop I use to earn money" shots is minute.


> The percentage of actual "this is the desktop I use to earn money" shots is minute.

Fwiw. the desktop I use to earn money looks something out of /r/unixporn, except that it's ugly (no background, etc). Tiling window manager, a few pixel wide borders, firefox (without toolbar, scrollbars, menubar) and a whole lot of xterms with tmux and my favorite 16 colors.

I don't have a pretty background picture, fancy IRC setup or a desktop bar with the song that's playing so it's not worth posting screenshots, but it gets the job done and it's very easy to replicate when I get a new computer (ie. just copy dotfiles over, no need to poke around in config menus of a bunch of applications).


I really need to checkout /r/unixporn because what you describe is exactly what I have on my machine. One day I started thinking about what I started with as a professional programmer (back in the 80s). 80x25 terminal. I was happy with it. What was the new stuff giving me? Eyestrain.

I've got tmux with a 25 point font and 16 colours now :-) Happy as a clam. Would be nice to have a browser that I could bend to my will... Some people will never get it, but this is a very nice setup if you know how to use it.

(but as someone else mentioned, I run compton because I like stupid effects and drop shadows... crazy, right?)


re: dot-files

I have a svn repo that I keep all my dot-files in. Whenever I get a new install I just check it out. I have a script that copies them into place, with some variables where machines need to be different. It works pretty well


i3-gaps + Polybar + random color scheme and a wallpaper?

I'm using the same combo right now, but /r/unixporn just isn't as exciting to me as it was maybe a year ago. Everything posted there seems to follow one specific path nowadays.


Never 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.


SA = System Administrator, SE = Software Engineer?


Systems 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.


I confess I don't really know what a systems engineer is. I know a Sysadmins as "lifesavers who can deal with the monstrosity of modern operating systems and communication between them". But never heard of a Systems Engineer.


This 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.


Yes 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.


I couldn't disagree more, i'm based in the UK.. but I've worked internationally with engineers varying from without college education to people with PhD's... both are competent in their area of expertise and are right in calling themselves engineers.


In some areas use of the title "Engineer" is regulated. I'm not claiming what's right or wrong on this, just stating how things are.

From Wikipedia [1]:

"The practice of engineering in the UK is not a regulated profession [...] In Continental Europe, Latin America, Turkey and elsewhere the title is limited by law to people with an engineering degree and the use of the title by others is illegal."

[1] https://en.wikipedia.org/wiki/Engineer#Regulation


XFCE, a theme, an icon scheme, and Vim, and I feel almost as pretty and almost as productive as any riced-out Linux desktop, and it took me one tenth of the time.


Like 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.


Nice 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.


OK, how is this ultimate? Did I miss something?


Maybe 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?


You 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.


Interesting. 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?


On 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


What 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.


What terminal commands are you running on Linux that don't run on macOS?


perhaps state what you actually hope to achieve in doing this rather than run native in macOS?


I wonder how much time he spends configuring his system as opposed to using it?


She.


Well, 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.


Windows 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).


> Windows is quite configurable if you put the time and effort into it.

The negative side is that Windows configs can't be easily replicated, meaning that you have to put time and effort into it every time you install a new OS to a new computer. Perhaps some kind of snapshot images could work, but when you add OS upgrades to the mix, it becomes a chore.


That bit can be automated, for example with PowerShell. You can export registry entries, you can copy configuration folders, it's harder but it can be done.


Windows 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.


"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...


IIRC 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.


You should have pro for development purposes, and there you can also set 16 active hours.


When you get the little popup, your options appear to be: "ok, update now" and "ok, update at 3am". That stops a mid-day reboot, but it's useless if you want to leave your computer overnight so that it's where you left it the next day. Just because I'm not active, that doesn't mean I want my computer to restart, losing me my place! But MS doesn't seem to have realised this, doesn't let you set 24 active hours in a day, and doesn't let you defer the reboot past the next set of inactive hours.

You can try putting it into sleep mode when you leave, but... surprise! Windows seems to be able to reboot your PC in sleep mode too (don't ask me how - every Windows 10 owner I've spoken to has had this happen to them at least once though).

The only solution I've found is to hibernate at the end of each day, and then restart. Windows can't do its 3am reboot if the PC is off. (You don't need to physically unplug it.)

This has worked for me on most projects, because all I want is to get back in the next day with all my windows where I left them - but I've worked on some projects where you want to leave the computer running overnight, because you need to run a long job, or you want to soak test something, or whatever.

What then? There appears to be no way to disable this stuff without some good degree of Windows IT Person skill. There appear to be multiple recommended methods, all of which seem not to work for at least some people, and all of which get undone for at least some people by at least some future updates. So this is all fine if you work a company that has a Windows IT person to look after this stuff for you, while you do your actual job - but not so much fun if you're trying to do it yourself. (And it's a total shit to test, because upgrades that need reboots don't happen every week.)

My "most hated Windows 10 features" isn't a very long list, but the enforced reboots is definitely #1.


Windows recently added the possibility to suspend updates for up to 45 (or something like that) days.


Thanks for the note. I'll (try to remember to!) take a closer look at the popup next time it pops up.

I know I'll be up to date with the revelant updates, because I've had no damn option ;)


> ...but I've worked on some projects where you want to leave the computer running overnight, because you need to run a long job, or you want to soak test something, or whatever.

Manually run the update check and install all the patches before starting the long job. Problem solved.


Dude.


If you've got good enough discipline to do it routinely, you can always just disable the updates service until you're "free" enough to let it go do it's thing for a bit, at which point you re-enable it until it's done.


It rebooted on my the other night while I was actively using it :(

Granted I was up later than normal (~2:30 AM) but that's pretty bad.


It hasn't happend to me once. You can set 16 active hours (and you really should spend the other 8 sleeping). There is also an option now to suspend updates for up to 45 days (or something like that).


You should google before you naysay.

https://github.com/jessfraz


This is quite the setup. How does the clipboard work?



So the ultimately Linux Desktop starts with Installing Gentoo? Am I on 4chan.org/g


how 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).


Does anybody know if the author has a public portage overlay for her setup?


The post seems abruptly cut-off. It talks a lot about containers and not about applications. Does this person only write code and start servers?


She has a long history of working in container security.

It seems to be an exercise in overengineering.


She has a repository of Dockerfiles, so you can see for yourself the type of thing she does in containers: https://github.com/jessfraz/dockerfiles


Spotify 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.


[flagged]


Please don't do this here.


I don't think figures of speech are sexists.


> 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


[flagged]


The comment you quoted is not considered a criticism or disparagement by any sane person. Nobody is being harmed by the comment you quote.


check your privilege, ANYONE can wear panties!


Wear them in the head. That'll confuse them.


Exactly, although I would not find it a privilege to be as closed minded to think not everyone can wear them. :)


The post I was replying to is something I'd expect to hear about from tumblr rather than HN.


This 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


I 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.


Agreed. What the author is doing is really very cool, and I just can't see anyone running Windows 10 ever doing anything similar.


To 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.


Cool? Absolutely. Time consuming? Probably. Worth it? Well....


'Just because' is reason enough, especially here.


hack-haters

maybe in this case it was not so much directed towards the hack itself, which sure is cool and, erm, hacky, but more towards the clickbaity title announcing something 'ultimate desktop' which indeed isn't what most might consider 'ultimate'


It's ultimate because it gives you complete control and you can build or utilize however you want withou any fear of dependency or environment risk. its the ultimate abstraction.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: