by larelli on 2/15/12, 10:25 AM with 76 comments
by rlpb on 2/15/12, 1:46 PM
...
"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.
by sagarun on 2/15/12, 12:18 PM
nmcli lets you configure network manager through command line http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.ht...
by asto on 2/15/12, 12:16 PM
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
by jiggy2011 on 2/15/12, 12:28 PM
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..
by nailer on 2/15/12, 1:12 PM
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.
by marbu on 2/15/12, 12:19 PM
by rabbidroid on 2/15/12, 12:46 PM
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.
by hp on 2/15/12, 2:04 PM
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.
by jakobe on 2/15/12, 12:26 PM
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.
by dman on 2/15/12, 2:17 PM
by lambda on 2/15/12, 2:13 PM
by loftsy on 2/15/12, 12:42 PM
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".
by wisty on 2/15/12, 12:45 PM
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.
by darklajid on 2/15/12, 11:49 AM
- 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
2: http://packages.debian.org/squeeze/amd64/network-manager/fil...
3: http://manpages.ubuntu.com/manpages/oneiric/man1/nmcli.1.htm...
by wazoox on 2/15/12, 9:01 PM
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.
by HerrMonnezza on 2/15/12, 1:25 PM
by bazzargh on 2/15/12, 1:07 PM
by xxiao on 2/15/12, 5:25 PM
by SaltwaterC on 2/15/12, 11:00 AM