8 ms·
The destructive desktop — Linux in trouble?
- wisty 15y agotl;dr Linux is getting to be a mess, with all kinds of dependencies. I guess it really comes down to your distro (since Linux is just the kernel, it's the distro which adds in all the bits). He's complaining about using RHEL and Ubuntu on a router. I think those are meant to be run on big servers. I'd guess Slackware and Gentoo are better bets for running a small server. There are also distros designed to be used on routers, if that's what you're after. Big distros are big. They sometimes have a few bits which are over-engineered, because over-engineering makes sense to the people who join GUIs together.
- nodata 15y agoFedora is constantly working to reduce dependencies. They seem to be doing quite a good job.
- JonAtkinson 15y agoCan you provide any links or sources which support this? I'm genuinely interested in how the Fedora people are tackling such a problem.
- darklajid 15y agoSpeaking as someone who has a couple of legacy servers running Gentoo: Don't do that. Usually there's no need to have a compiler on a production machine and certainly not on a router. Unless, well, your package manager wants one. Yes, I know that you can have binary packages for Gentoo, but that kind of defeats the point. I haven't found a serious distribution that doesn't allow you to install a stripped down system and go from there.
- rabbidroid 15y agoI have also been annoyed by the way Ubuntu handles the network management, I was setting up an nfs server at home, a task that should've taken no longer than 10 minutes, ended up eating up a few hours, not to mention the fact that I had to reconfigure the network reboot which I blamed on myself but now blame on networkmanager. I have been using Solaris 11 at work for the past few months, even-though I dislike Oracle, I was surprised by the way they implemented their networking, its a pleasure using it and its the most flexible and configurable networking in all OS's Ive used before. I will still use Linux at home for personal use, I still envy Enterprises that have the financial ability to get these servers running Solaris 11. I know that It's not open source, and that Oracle is the most evil company, I still love their product (which was developed by sun, and was open-source till oracle stuck their nails in-to it) and I hate myself for loving it.
- SaltwaterC 15y agotl;dr Lennart is an ass.
- darklajid 15y agoI really would like to understand/get feedback (if the author is reading here as well or someone agrees with the rant) - what 'services' on a server really depend on NetworkManager I cannot imagine that a server would actually need it (although, on my _desktop_ I most certainly want it and love it). From my vps (granted, not LTS. But did they actually _remove_ a dependency here? I highly doubt that): darklajid@neuland:~$ apt-cache policy network-manager network-manager: Installed: (none) Candidate: 0.9.1.90-0ubuntu5.1 Version table: 0.9.1.90-0ubuntu5.1 0 500 http://de.archive.ubuntu.com/ubuntu/ oneiric-updates/main amd64 Packages 0.9.1.90-0ubuntu3 0 500 http://de.archive.ubuntu.com/ubuntu/ oneiric/main amd64 Packages darklajid@neuland:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=11.10 DISTRIB_CODENAME=oneiric DISTRIB_DESCRIPTION="Ubuntu 11.10" In fact, the Debian package description (couldn't find something for Ubuntu or RH, but the former is probably using the very same thing) says this: "NetworkManager attempts to keep an active network connection available at all times. It is intended only for the desktop use-case, and is not intended for usage on servers." [1] - why you'd have a hard time configuring it If you install it anyway it comes with some tools [2] called nm-tool and nmcli. The latter [3] is, while the man page admits that it isn't meant to replace the applet, described as "The main nmcli's usage is on servers, headless machines or just for power users who prefer the command line." At this point we have the following: The author of this blog posts writes up some evolutionary history of the linux desktop technologies (arguably unrelated? Is he really missing Corba or Orbit?) and then ends with a giant rant about network-manager (which I should've proved as being unnecessary and which, contrary to what he says, _comes_ with a tool to configure it) while punching dbus every now and then. The title is link-bait and - well - weird. The article has no real point. I'm confident it took me a lot more time to write this comment and provide the relevant links than the whole 'problem' of setting up a network connection on a more or less recent Linux system can possible take. If it takes so long - don't blame the tools. 1: http://packages.debian.org/squeeze/network-manager http://packages.debian.org/squeeze/network-manager 2: http://packages.debian.org/squeeze/amd64/network-manager/filelist http://packages.debian.org/squeeze/amd64/network-manager/fil... 3: http://manpages.ubuntu.com/manpages/oneiric/man1/nmcli.1.html http://manpages.ubuntu.com/manpages/oneiric/man1/nmcli.1.htm...
- jay-pinkman 15y ago
- asto 15y agoI've never done any systems programming on Linux (or any other OS for that matter) so I can't comment on most of the article but I HAVE configured a network on a Fedora box on many occasions and it's simpler than the author's making it out to be. On my fedora computer, I can just run system-config-network from the terminal and have a GUI pop up where I can configure network devices and DNS addresses with no need for X11 whatsoever. This is enough for a stable internet connection with no further action from the administrator of the computer such as "periodically calling ifconfig and ip route add until you finally managed to fetch all the data before NetworkManager would mess it up again." Of course, if your router issues the configuration via DHCP, then you don't even need to do this much. You can just boot in on install and access the internet. I believe RedHat and CentOS work the same way. Contrary to his perception, configuring a network is not really a big deal on a Linux computer! :-D
- FooBarWidget 15y agoI suspect that the author is used to the old interface, involving manually writing shell scripts that call ifconfig and friends. And now he's pissed off because he can't do that anymore and concludes that the system must suck, or that his "freedom" is in jeopardy because his old way is no longer supported. Well I see things differently. Users should be free from interference from ancient and non-user-friendly cruft. Yeah so some /etc scripts don't work anymore, but the new way allows displaying GUI dialogs which the old way didn't allow so there are legit reasons supporting the new way.
- dman 15y agoYou can still do all of that. NetworkManager is far from the only way to get your box to connect to the internet.
- regularfry 15y agoIt does have a tendency to intrude if you don't explicitly configure it not to, or remove it if you're not going to use it. I always forget to tell it not to configure /etc/resolv.conf, and always get confused when DNS lookup breaks.
- sagarun 15y agoThis is factually wrong: Then you try to figure out how to configure NetworkManager from the command line. There's no tool in the entire distribution which lets you do that nmcli lets you configure network manager through command line http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.html http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.ht...
- tankenmate 15y agoNot on any current Ubuntu LTS (we are talking primarily about servers here).
- sciurus 15y agoYou still don't need to configure NetworkManager to get a network connection. You can use the old methods (/etc/network/interfaces or /etc/sysconfig/network-scripts) instead.
- lmm 15y agoThose are not the old methods - were they ever portable beyond debian? The old method is ifconfig. I don't care about linux any more, but on FreeBSD ifconfig still works, as it has for at least 20 years. If it becomes impossible to use KDE programs without using networkmanager, that will be a real irritation for me.
- sciurus 15y ago/etc/sysconfig is Red Hat. /etc/network is Debian. Of course ifconfig (or better yet, the ip) still work.
- Confusion 15y agoFactually wrong, effectively right. Between 1998 and 2008 I always configured my networks by hand on Debian machines. Then I switched to Ubuntu for my desktop. After the first upgrade, X wouldn't start. As a result, I had no network connection, because that is set up by the NetworkManager applet (which is completely braindead: you don't need an applet to have a network connection start automatically). Then I found there just wasn't any CLI interface to configure the network. Or at least: I didn't know which one it was. When I found out (it was network-manager-cli or something back then), it wasn't installed. Well gee, thanks, it's not like it doesn't happen regularly with Ubuntu upgrades that you get stuck on the cli...
- deleted 15y ago[deleted]
- marbu 15y agoHaving network manager on the server just doesn't make sence in most cases. I'm running CenOS 6 (community rebuild of RHEL 6) on my vps without network manager and don't see any problems with this setup. I also don't know any service which would not work without network manager, I'm aware only of the opposite ones (eg. Red Hat cluster suite won't work with networkmanager). Moreover I'm quite sure that you can install RHEL, Fedora or Debian in headless mode.
- jakobe 15y agoWhile I don't quite understand the specifics the author describes, I can relate very well to the general problem: Open Source software often depends on packages that are common on the Linux Desktop. This quickly gets you into dependency hell if you try to compile the program/library on a different platform. An example I was recently confronted with was libmdb, a library that reads Microsoft Access databases. For some reason it depends on glib2, which in turn depends on a few other libraries. In the end I needed to compile 5 different libraries because libmdb uses hash tables and arrays from glib2.
- FooBarWidget 15y agoThe alternative would be for libmdb to implement that stuff themselves. That would increase development time, increase the amount of bugs, increase the size and decrease developer happiness.
- repsilat 15y agoOr they could link statically. They're both under the LGPL, and it seems like the sensible thing to do if they're only using the library for hash tables...
- darklajid 15y agoDidn't downvote you, but .. How? The project authors certainly don't care about people with 'special' requirements. For them it just saves time. Now the packagers _could_ do what you suggest, but especially for such a central library it doesn't make sense. You want to have only one version of that thing for a gazillion reasons. The original request for this thread? Well, it seems that person wanted to port a library to a completely different system _and created the binary for that system_. Right, he can statically link it. What does he gain? He still needs to gather all dependencies before and his complaint (as a developer/distributor) of having to meddle with glib would be the same. He didn't complain about distributing another couple .so files as far as I understand the issue.
- 15y ago
- jiggy2011 15y agoNetwork manager is particularly annoying. It doesn't seem to like static IP addresses at all, sure the GUI will allow you to assign them but it doesn't actually seem to affect the system at all. I tried disabling NetworkManager since on my development box I like to have a number of static IPs assigned to it for testing on the LAN. However I also want to be able to easily connect to wireless networks and I can't find an easy way to do that without NM (I tried wickd but had other issues with that). The upshot of this is that I have to use NM with some bash scripts that run on login to overwrite some of it's settings. Don't get me started on sound..
- darklajid 15y agoDid you file a bug for that behavior? It sure doesn't seem to behave like that for me. While I cannot and won't claim that you're wrong, this is not supposed to be the case (and isn't in my private and professional experience). You acknowledge that NM is 'easy' for wifi, but try hard to abandon it for reasons that are unclear. Except for tracking down the real error/filing bugs: Why couldn't you just set up a simple rule on the dhcp server (which I assume you have, at least for your wifi connections) to hand out static leases for your dev box? Mentioning 'sound' in the end, in this way and out of context, is borderline trollish (I might be wrong, but I assume this is a suppressed pulseaudio rant there).
- jiggy2011 15y agoThe issue with static IPs & Network Manager is posted all over the internet (just google "network manager static ip" so I assume they know about it already. Frankly I don't know enough about how NetworkManager works to dig into the source code and isolate the issue, since it's been ongoing for a while and I'm not the only person experiencing it I'm going to assume it would not be a simple fix. I could use dhcp rules but then I sometimes have to move my development machine to other places where of course I will be on a different dhcp server which I may not have admin access to. The workaround of having a shell script that sends a bunch of "ifconfig" commands does the job for me whilst still allowing me to use NM for wifi config but it just seems like something that should be unnecessary. I sort of assume that most experience Linux people have experienced some sound issues at some point. My problem with pulseaudio has always been the slight latency that seems to happen between sound being sent by the program and played by the speakers which means that for example when an MP3 file is paused the sound continues for a fraction of a second. Sure this may not be a huge issue and I didn't even notice it for a while but as soon as I noticed it, it really started to grind on me. Not to mention that it makes the system terrible for doing any kind of audio editing. The solution for this is to uninstall pulseaudio and go back to ALSA which is a bit of a pain in itself, but once you've achieved this you get odd problems like (in ubuntu anyway) the sound control panel applet disappears and you have to run alsamixer to change the volume, also volume control for some programs (such as spotify) stops working completely. There are a number of other various small issues that can make desktop Linux a pain to use sometimes, this is why I am often surprised that canonical seem to prioritize redesigning the GUI every few releases over fixing stuff like this.
- loftsy 15y agotl;dr - Author tries to patch together his/her own distribution; and fails. To provide a good user experience you need to know if the network is up or down; and when it changes. UNIX does not provide this. This is why NetworkManger is now part of the "Linux Platform". The biggest myth in open source: "Linux is about choice".
- fsniper 15y agoif I could downvote. Linux is always about choice. If you have enough information and time you can choose what ever software stack you want with it. You can even change any configuration software that comes with your distribution with any tool you want. Also author does not rant about building a self owned distribution. The rant can even be considered good if you do think Linux is only about graphical desktop applications. Linux software can be configured or used without these but it's getting real hard to disregard their influence over other software.
- Danieru 15y agoOP is referring to this: https://www.redhat.com/archives/rhl-devel-list/2008-January/msg00861.html https://www.redhat.com/archives/rhl-devel-list/2008-January/...
- deleted 15y ago
- bazzargh 15y agoHe blames /dev/initctl not working on systemd - but wasn't that a change in sysvinit? They moved it to /run/initctl because /dev/initctl wasn't portable. Quite recently, too. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638019 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638019
- nailer 15y agoIt's 2012. Who cares? I think Linux on the desktop hit its peak in the early 2000s, when 'Windows, Mac and Linux' was in people's minds, we had Linux companies like Loki and Transgaming etc, commercial games from Epic and ID, proper UX-focused companies like Eazel and Ximian, etc. I think most people have given up, but that's OK: Linux on the desktop, back then, still made a huge difference to today. GNOME had GTKHTML which spawned a rival KHTML which became Webkit which now seems to be the app platform for the thing that came after the desktop - the browser. Now I have more apps open in Chrome right now than I do in the dock, taskbar, gnome panel. So do many users. And the direction is more in the browser than ever. It's not just Linux: worrying about the desktop per se is irrelevant - like worrying about the dominant groupware platform or the dominant LAN manager. OS/2 might be better than NT, but nobody cares anymore.
- jiggy2011 15y agoI'm not sure , if more apps move to the browser then surely the desktop OS becomes more of a commodity as long as it is able to support running the browser itself. One thing Linux does lend itself well to is providing a kernel and basic services for interacting with hardware etc and leaving a fairly blank sheet to build other stuff on top off which could be a very basic consumer system with just a browser or a full fat dev environment, Android is a good example of this. If all I want to do is run HTML5 apps using Chrome I can't think of a good reason to justify a $100 purchase of a Windows license , or paying more for hardware in order to run OSX. In the future I can imagine a huge amount of the population using Linux based devices, they just won't know or care that they are Linux based devices. However I don't forsee a future in which everyone uses KDE or Unity and run only "free as in freedom" software.
- Moschops 15y ago"Who cares?" The guy who wrote it clearly does. Please do not assume that your personal opinion is shared by everyone.
- nailer 15y ago> Please do not assume that your personal opinion is shared by everyone Sorry if you thought I was doing that. Maybe I should explain things better: the guy who wrote the post is indeed concerned with Linux on the desktop. I'm just suggesting that, whether the Linux desktop is good or bad, the desktop OS itself isn't particularly relevant to the state of computing right now and isn't worth being concerned with.
- HerrMonnezza 15y agoI agree with the general trend that the author points out, but he speaks as if this was happening to all Linux distributions alike (he almost always uses the word "Linux" with no qualifications). This is not the case: distributions that have a strong command-line and server-oriented community (think of Debian and Arch Linux) still do support "no DBus" operation.
- rlpb 15y ago"If you don't use NetworkManager, a number of programs will refuse to connect to the Internet or behave in various weird ways. More so, a lot of system services now depend on NetworkManager and won't start unless it is running. And if you run NetworkManager, it starts periodically messing up any local system configuration. So you're basically bound to use NetworkManager. " ... "The effect of all those changes are numerous. For one, it is no longer possible to run the system without a graphical user interface unless you plan to invest a huge amount of work and to throw out most of your system support. If you want to get vendor support, this is not the way you will want to go." Not true. Ubuntu Server does not use a GUI. Nor does it use Network Manager.
- hp 15y agoThis article is not well-informed. I worked on or sat next to people who worked on a lot of the stuff mentioned. So you can take me as biased or as having a clue or both as you wish. A general point, the changes described here have been over the course of something like 15 years. So the article seems to be making a "stuff keeps changing!" point... but we are talking about over 15 years. Think about changes to hardware, the Internet, etc. over that time. And most indicators are that the Linux desktop has moved much too slowly compared to say Windows, Mac, Android, and iOS. Some examples of errors: "So the Gnome developers wanted to reduce the complexity of their protocol as well and started working on a protocol which was supposed to join the advantages of DCOP and CORBA. The result was called the Desktop Bus (dbus) protocol. Instead of complete remote objects it just offers remote interfaces with functions that can be called." This is false on several levels. dbus was mostly a kind of cleanup of DCOP for general use, with no intent to "join the advantages of CORBA" which were essentially none. I can make no sense of "instead of objects it offers interfaces" - it has both objects and interfaces, and pretty much can implement the same kind of API that DCOP does (I believe KDE even did that). Basically this paragraph doesn't mean anything I can relate to the actual technology. "APIs to abstract the uses of OSS, esound and ALSA: gstreamer for Gnome and Phonon for KDE" This is wrong. GStreamer is for making graphs of elements, where elements are decoders, encoders, effects, filters, etc. and can be both audio and video. There is one kind of element ("sound sink") that does abstract sound output, as you would imagine. There are some other elements that use sound APIs too. But GStreamer is not the same thing as a sound API like ALSA, in any way shape or form. It's for building multimedia _apps_, sort of a media toolkit. Moreover, the main reason to replace the older tech here (OSS, esound) was just that it didn't work very well and didn't support a lot of the things sound cards do. It's not like keeping that old stuff was an option, since it could barely play beeps. "it is no longer possible to run the system without a graphical user interface" I'm just not sure what planet that's on. There sure are a lot of headless Linux servers out there in the world, and it's pretty obvious that the large Linux distributions care about this intensely. Re: NetworkManager, if it's somehow needed when headless and not configurable headless, that would be considered a bug by all involved. Just a matter of tracking down the details and reporting them if they have not been. All the Linuxes aspire to (and in my experience do) support headless operation. "they don't implement the original X11 protocol directly and rely on so-called window manager hints." This sentence is total word salad. X11 has had window manager hints for two decades. What's new is "extended window manager hints" which are some new hints in the same spirit ... in order to do new things. They don't "wrap" anything, so "directly" is just gibberish. Kind of like how CSS 2.0 isn't the same as CSS 1.0, you know? This complaint is equivalent to bitching because you can't use IE5 on the modern web anymore. The protocols are documented, and you have to use an implementation that implements something from within the last 5 years. The extended window manager hints range from 6 years old to 10 years old, so that's how old a crap we're talking about. An almost exact translation of this claim to the web is: "they don't implement the original CSS 1.0 directly and rely on so-called CSS 2.0 properties" ... see how that makes no sense? "Writing X11 programs with xcb and proper RPC APIs like SUNRPC or Thrift should be more than good enough." This 100% misunderstands why dbus is used. The first goal of dbus is not to send a message from process A to process B; it's to keep track of processes (help A find B, have them each know when the other goes away). The messaging is important but in many ways secondary. Overall, the article doesn't understand the big picture of why all this new stuff was needed. I think there's one big reason: dynamic change. The old ways of doing things almost all involve editing a text file and then restarting all affected applications. But to implement the UIs that people expect (as you'd find on iOS, Android, Windows, Mac), everything has to be "live"; you change a setting in the dialog, and the whole system immediately picks up on the change. You unplug a cable, everything notices right away. etc. The daemons are because so many pieces of dynamically-updated live state are relevant to more than one process or application. That's why you have a "swarm of little daemons" design. And guess what: some other OS's have the same design. That's (at least one of) the major problems being solved. And the author here gives no indication he knows it exists, let alone his proposed alternative approach. I sort of get the inspiration for the article: Linux has been trying to keep up with modern UI expectations without having enough staffing for that really, and certainly regressions have been introduced and there have been bugs and things that could have been better. On the 6-month distribution release cycles, users are going to see some of that stuff. It's software, people. And it's understaffed open source software to boot. So yeah, legitimate frustration, shit changes, sometimes it breaks. I get it. But there's no need to wrap that frustration up in pseudo-knowledge as if it were a technical problem, or say inane things about getting back to the "unix way"; if someone could show up and make the desktop UI stuff behave well with the "unix way" they would have done it. Or maybe they did do it, and the critics understand neither the problem requirements nor the "unix way." Just saying.
- lambda 15y agoThis looks like it's taken almost directly from 1990sLinuxUser: https://twitter.com/#!/1990slinuxuser https://twitter.com/#!/1990slinuxuser.
- dman 15y agoYou can disable network manager and use /etc/network/interfaces to manage your connections directly - this has the nice side effect of having internet connectivity even before you login. I dont understand the thrust of this article - most people running servers are running linux without a GUI and are doing so without any loss of productivity.
- xxiao 15y agoi must say something for this topic. i fully agree with the author, that linux is becoming a mess these days when you need customize it, e.g for embedded systems or headless servers. and the first thing I _always_ do is to remove network-manager, that's an ass-hole app!
- wazoox 15y agoThe main conclusion of this article: Network Manager is utterly broken. I concur. It's quite good for laptops and basic desktop, and absolutely unusable for any development desktop or server. The main and gravest sin of Network Manager is that is absolutely ignores what's in /etc/network/interfaces (or similar configuration files for other distros AFAIK), and makes most usual stuff (bonding, bridging, vpns, etc) nigh to impossible. It may be relatively easy to fix, dunno. Fortunately from my experience, you can simply remove it altogether without any problem, at least under "reasonable" distros such as debian.