What I'm curious about is how much control they are willing to give their developers over their workstations. At a previous company they had trouble because the developers needed administrator access to their Windows systems because they needed to install a lot of different software and run many things in administrative mode (server development). It was a constant tension between developers and security. I wonder how it is with Linux, which might have more fine-grained controls and an easier way to install per-user software.
I'm surprised xmonad got a mention. I interpreted it as a window manager that didn't have much traction outside of the Haskell community, particularly with all the configuration being done in Haskell. Perhaps it was just an example of an one of the more strange requests.
That said, I love xmonad. People keep asking me for help with their Gnome desktops and I have to shrug and point out I don't really use Gnome if I can get away with it.
A few employees in particularly security-sensitive positions don't have full root, and have to use "sudo" with a whitelist of commands, allowed packages, and so on. It's fairly easy to get packages added to the whitelist, by filing a request with the security team.
Users who need to run insecure operating systems, or need to install arbitrary packages, use heavily sandboxed VMs.
Two members of my current team used xmonad before I got here, and I've helped two more to convert. I anticipate there will be more conversions after Precise comes along and forces everyone off GNOME 2. To my knowledge, none of them know anything about Haskell.
What I am fascinated is the widespread migration caused by unity. In my circle, users have moved distributions to mint and debian, changed to using twm, dwm and xmonad. The despair at unity was caused by the bugs, and the fact that the ubuntu android distro required a proper screen to be utilised properly. It was not caused by the concept, but the implementation. If the user unfriendliness caused by unity was intended to support smartphones and smaller screen devices, why does the mobile unity require an external screen? Baffling! The user decisions made were relatively permanent. The users who made changes don't seem to be swayed by assertions that more recent versions of ubuntu have better implementations of unity.
Why did you feel forced to switch distros? My company just switched from RHEL to Ubuntu so we developers could have a < 7 year old OS release for our daily desktop use, and Unity was installed by default on our new Ubuntu desktops. I don't like Unity, but I simply replaced it with my two favourite window managers via 'apt-get install fluxbox awesome'. There is no need to replace your whole distro because you don't like the default window manager.
You're right in jumping to the conclusion that I also switched. I didn't feel forced to switch, but I did feel like trying something else out. I can't speak for anyone else's reasoning. I have a perception that if I'm not using the defaults, I'm more likely to run in to problems with more difficult solutions.
The other question I asked myself: "If they are going to make changes in this manner, what else will they do?"
I figured there'd be less hassle in future with something more stable. I put Debian on out of curiosity as to how different Debian is from Ubuntu. I'd gone with Mint before but the one I got logged me in with no password required, which was a bit unsettling.
> There is no need to replace your whole distro because you don't like the default window manager.
It's... a Google thing.
I haven't gotten around to planning around Unity yet, but I'm not surprised by this. It's classic Google culture to just throw the baby out with the bathwater and build the damn thing over, (presumedly) better. Funny to see it happen on an individual level!
I know I am planning on using Unity 12.04 to push desktop Linux on some relatives who still are running XP. Considering getting them over to 7 would be just as much labor and 8 is significantly worse than Unity ever was, now is prime time for switching them off the sinking M$ ship.
GNOME Classic is really just a thin skin over GNOME 3; it doesn't have any of the useful features that the GNOME team removed from their software.
XFCE and KDE just aren't very popular in my area, though I don't know why. I have seen people discuss moving to KDE on internal mailing lists, so there is some interest elsewhere in the company.
The two people I helped convert have, to my knowledge, not bothered with customising xmonad. They just copied my config, changed a keybinding or two, and then left it alone.
Could you point out some of the useful features removed in GNOME 3 not available in fallback mode?
I switched from GNOME 2 -> GNOME 3 -> GNOME 3 fallback + Xmonad. I tried to find a suitable alternative to GNOME 3 (Cinnamon, Unity, KDE, XFCE) but was excited to find out about fallback mode.
It essentially behaves like GNOME 2 for me, except now I use Xmonad for WM instead of Mutter / Metacity.
A few of my personal pet peeves (note: every disgruntled user has their own, largely disjoint set):
1. The applet to inhibit screen sleeping went away. Without it, I often look up from working on a hard problem to discover that my screens have been blanked out.
2. Something GNOME-ish keeps grabbing my mouse, and won't let it go until I log in with SSH and start killall-ing anything with "gnome" in the process name. It happens once a day or so, I haven't been able to purposefully reproduce it, and it's really annoying.
3. The settings applet was neutered. It now looks like a cheap knockoff of MacOS's system settings, except somehow with even less functionality. It also seems like the GNOME developers simply forgot about it until about a month before the release, because many features that appear to be present are barely functional. For example, Appearance -> Theme only changes gtk3 themes, and most of the gtk2 themes don't have a gtk3 counterpart, so now about half of my apps don't look like the other half. Another example: the new settings applet stores network proxy settings somewhere weird now, so neither Firefox nor Chrome find my proxy settings any more.
4. About half of the GNOME configuration has moved to gconf to dconf, but there's no rhyme or reason as to which half. When I discovered the new settings applet, I tried to change stuff with gconf/dconf, except I have no idea how to figure out which applications use what settings storage backend.
5. A lot of applications don't have key bindings any more, or had them greatly reduced. GNOME 2 was pretty good about this, but many GNOME 3 applications are completely unusable without using the mouse.
> 1. The applet to inhibit screen sleeping went away. Without it, I often look up from working on a hard problem to discover that my screens have been blanked out.
The Presentation Mode shell extension fixes this - adds an option to the drop-down menu on the power meter to turn on presentation mode, disabling screen blanking & locking.
> 4. About half of the GNOME configuration has moved to gconf to dconf, but there's no rhyme or reason as to which half. When I discovered the new settings applet, I tried to change stuff with gconf/dconf, except I have no idea how to figure out which applications use what settings storage backend.
I think finishing this migration is a work-in-progress.
Don't have immediate solutions for the rest of your gripes. Gnome 3 seems to be a love-it-or-hate-it thing; I find it to be great (modulo a few bugs and quirks, but it isn't everyone's cup of tea.
"2. Something GNOME-ish keeps grabbing my mouse, and won't let it go until I log in with SSH and start killall-ing anything with "gnome" in the process name. It happens once a day or so, I haven't been able to purposefully reproduce it, and it's really annoying."
That is a bug, I've not seen that on Ubuntu 12.04 using Unity or GS all through the testing period.
I gathered from what jmillikin said that it is certainly a bug, but it was probably not reported during the testing period for the same reason jmillikin didn't report it: it appears to be hard to reproduce.
Is there a tool (akin to xev) that would display which process currently has control of the mouse? I would think that tracking down the process that has grabbed the mouse would be the necessary first step toward stopping it from doing so.
I wasn't able to figure out how to remove the top and bottom panels (the window list thing at the bottom and the shutdown button thing on top).
I like vertical real estate (would like to merge them into one, like I could with Ubuntu 10.10). And I like no toolbars on on top (to make it easier to click on my firefox tabs (see below)).
My favorite GUI customization is to remove the "decorations" (window frame, title bar etc) of maximized windows (to get a little more vertical space). This also makes firefox's "tabs on top" feature look the same on Linux and Windows.
You can do it with Compiz+XFCE (which I did in 10.10). Compiz isn't working for me under XFCE in 12.04, so I'm using a PyGTK script I found on the Net to do this.
If you're using Gnome 3 fallback you can add / remove applets like Gnome 2. The only difference is you have to alt + right-click on a panel / applet instead of just a regular right-click.
Most of what you want is available via extensions. The Panel Settings extension lets you turn on autohide, which addressed my primary gripe. devilspie works great with gnome3 to get rid of decorations.
I think it's largely a feeling of "what will they remove next"?
Say an engineer is a a daily user of ten particular GNOME 2 features. GNOME 3 removes four of them, and hides three more. At that point, the engineer is wondering what will happen to the rest when GNOME 3.3 comes out.
In contrast, environments which are explicitly intended to be customised very rarely disable or remove features. Someone who's been using the same configuration for ten years can know that if it works in release N, it'll probably work (maybe with a few minor tweaks) in release N+1.
It's worth noting that XMonad has many more features than Metacity; it's not bare-bones by any means. Converting to it isn't like converting to a minimalist WM.
That is an interesting way of looking at the situation; Jef Raskin's idea of 'monotony' in the interface (one way of doing everything and that way fixed) is clearly not what you guys want.
I take your point about Xmonad, and if you know Haskel you can add stuff as needed
The thing is that Gnome3 is relatively highly integrated, and contains implementations of various functionalities. Using a 3rd party tool tends not to work well, because the Gnome implementation conflicts.
Using a bare bones window manager doesn't cause the same issues. It's not as integrated, but you can mix and match parts more easily.
I see it as risk avoidance. The learning curve with the basic WMs is steep but a one-time cost. With richer WMs, You pay a tax with your time and productivity every time the UI designers f* with your s*. It seems like UI designers these days are about making BOLD MOVES without apologies.
Look into the Mate desktop - it's a rebuild of Gnome 2 with maintainable code. Best way for a test spin now is get the Linux Mint Debian Mate iso and try it in a VM. I actually like Unity, but in Mint the Mate desktop is my favorite, looking forward to Mint 13 with it as a default.
> Would Gnome 2 -> XFCE or Gnome 2 -> Gnome Classic not make more sense?
In my experience, the more minimal window managers such as XFCE, Open Box and so on required lots of configuration to get right. Furthermore, they don't give you a big advantage over something like Gnome or KDE, except for being more configurable. I'm using the tiling window manager dwm with minimal changes to the default config (added 2 shortcuts and changed some colors) for almost 3 years now. I think the pure simplicity and stability of the software is compelling compared to a minimal version of Gnome.
Amazingly, I moved from dwm/dmenu back into Unity a couple of months ago and don't see any need to move back too quickly (Ctrl-Super-left-arrow and Ctrl-Super-right-arrow provide a basic, way basic, tiling behaviour on Unity).
If you have a numpad, in Unity you can use ctrl-alt-[0-9].
Ctrl-Alt-Numpad 7 - Place window in top left corner of screen.
Ctrl-Alt-Numpad 8 - Place window in top half of screen.
Ctrl-Alt-Numpad 9 - Place window in top right corner of screen.
Ctrl-Alt-Numpad 5 - Center/Maximize the window in the middle of the screen. In 12.04 this toggles between maximize and restore state
Ctrl-Alt-Numpad 1 - Place window in the bottom left corner of the screen.
Ctrl-Alt-Numpad 2 - Place window in the bottom half of the screen.
Ctrl-Alt-Numpad 3 - Place window in the bottom right corner of the screen.
Ctrl-Alt-Numpad 0 - Maximize the current window.
i used to use xmonad + gnome2 (gnome2 for the desktop environment, xmonad as a replacement for the gnome window manager). now that gnome has dropped the ball, i've switched to xmonad + xfce. in either case, xmonad just replaces the window manager for me, not the entire desktop environment.
There's no contradiction between wanting to use Gnome and wanting to use XMonad. Personally, I think I slightly prefer the default Unity experience over Gnome 2, Windows 7, or Max OS - but its hard to customize in the ways I want. However, with a simple
sudo aptitude install xmonad suckless-tools gnome-session-fallback
sudo vim /usr/share/gnome-sessions/gnome-classic.session
and change the window manger to xmonad I'm happy as a clam.
My question is: why XMonad over one of the other tiling window managers, eg AwesomeWM? Just curious what XMonad has to offer that I may not know about (I personally use Musca).
Because XMonad is library for writing your own window manager rather than just a pre-built window manager. That means that everything will always work exactly how you want it to because you're the one programming it.
I don't use awesome myself so I don't know about it crashing, but it appears to be a base to build your own system from, in the sense that most of the functionality comes from extensions written in Lua.
Musca, my window manager of choice currently (though I am beginning to try out others too, just in case I'm missing something), is a very small WM with very few features, but a very simple way of extending it through scripting (in any language).
Musca itself is tiny: little under 4K lines of C (including whitespace and comments), the binary is about 190KB. It delegates its "menu" to dmenu. If you want anything else, you use external scripts or programs.
Well, personally I switched from AwesomeWM to XMonad and the main reasons were that I liked the way that XMonad handled multiple screens better, compile time checking of the configuration file, and better community documentation (though awesome's is decent).
The default widgets in awesome are nice, but if I'm going to be using a tiling WM as a drop in replacement in a desktop environment I just have to remove them in the config file.
I wanted to like Unity. However, until Ubuntu 12.04 it always was very slow.
In the past, I've found that compositing desktops (as implemented wit Gnome over the years, and now Unity) would interfere with some applications. I would assume they also interfere with games that want to use the GPU heavily. So, I spent quite a while trying to use Unity2d. While I was able to badger it mostly into working, it always felt very second class. On 12.04, it feels even more second class, and of course it is going to be removed in 12.10 anyway.
I do like the idea of a side bar. When I use OSX, I put the dock on a side. When I use Windows 7, I put the start bar on the side. I also love the idea of the HUD. On OSX I use Quicksilver, and on Windows I navigate the start menu by searching it. In the past I've used Gnome Do. When it comes to Unity's implementation though, I've found making .desktop files for applications I want to use that don't already come with them to be cumbersome and error prone. If I don't make a .desktop file, I can't launch it from the HUD, nor can I lock it to the launcher.
When it comes to altering the menus to place the menu bar at the top, this is a decent idea, but again the implementation feels poor. I don't like that the menus disappear until you hover over the bar. That makes it hard to know where I will want to point the mouse until I get over the bar to make it show me the menus. I suspect that this is one of the changes that makes this such a large fork of Gnome 3 BTW. I would have prefered that they put out a proof of concept first, then try to work with Gnome and GTK to make it an option that is merged in.
Despite all that, I still use Unity since I like Gnome3 and KDE even less. I recently tried LXDE and XFCE, but I they seem like an unpleasant jump back to the 90s. For one thing, I don't want to go back to managing my Start/Application menus, I want to keep search. For another thing, I like largish icons on the left or right.
I am currently watching the Cinnamon project. I think they look promising. I haven't gotten around to trying it out in a VM though.
I used for about a year IceWM and I loved everything in it (I always have a single window in full screen) besides the fact that it resized a simple modal boxes (e.g. firefox asking for proxy credentials) to full screen, which was really ugly.
If I would switch (from XFCE) to xmonad, would it do such strange things to small modal boxes? I don't like to split my screen, I always have windows if full screen.
Do you know about XFCE and Alt-F11? The Alt-F11 keyboard shortcut (and the corresponding title bar menu command) in XFCE remove the window decorations and maximise what is left, so you get (say) the Web browser menu bar right at the top of the screen and the window covers any panels top and bottom.
I hated that concept too when I first switched to Xmonad, but after a few months I've come to appreciate that behavior. It allows me to keep one screen static while working on another.
This allows me to dedicate a workspace to communication (email, IM, etc), server, development, documentation, etc and move among them easily.
I've been using XMonad in a dual-monitor setup since I started working at Google in January... haven't had any problems with it. My general (rough) impression from walking around the New York office is that about one fifth of engineers here are using XMonad.
Really? I have not seen one other person that uses it. I haven't even heard it discussed, and I asked around a lot when I started. I'm surprised we have never discussed this, actually :)
Lurking along this thread (google engineer), this is exactly what I want for my multi monitor setup! Chrome on one screen, everything else on another, programmable WM to make organizing that other screen natural.
I don't know too much about the Linux desktop scene, and I'm plenty productive as-is, so I didn't even bother looking. Thanks!
At my company almost everyone uses Windows (it's the official supported sytem) but I installed Linux on my box and no one had issues with this (I didn't ask for any permission, I just did it - as long as I do my work there shouldn't be any issues). We have some internal page for people using alternative OSes (Linux and MacOs, didn't see any other) and there is some kind of support with the availability of an VM image with all the office software that we use.
I really love that my company supports Windows only, because if they would support Linux it would mean that they would force me to use packages that I don't want to or take away my root access.
Not "easy", but a real, functional option- compile from source in your home folder, targeting ~/bin, ~/lib, etc. The onus is entirely on the user, of course.
I'm surprised xmonad got a mention. I interpreted it as a window manager that didn't have much traction outside of the Haskell community, particularly with all the configuration being done in Haskell. Perhaps it was just an example of an one of the more strange requests.
That said, I love xmonad. People keep asking me for help with their Gnome desktops and I have to shrug and point out I don't really use Gnome if I can get away with it.