I’ve had this really nice laptop sitting around for quite some time now:
It’s a dual-core i7 with SSD and USB3, and quite up-to-date still by today’s standards.
The matte 1920x1080 display is really nice (I totally don’t like the high-gloss reflective screens that all MacBooks now have).
Trouble is, this thing runs Windows (it was acquired for exactly that reason: to have a Windows fall-back option for some funky hardware I use - albeit only occasionally). In the past I tried out Oracle’s VirtualBox, and did run Linux for a while that way, but it really didn’t work all that smoothly.
No more. I’ve now resized the Windows partition, which luckily can be reduced in size while live, to create a 75 GB gap on the 128 GB HD. So now, I can gonative-Linux!
Installing Linux next to Windows means you candual-boot into either OS. It turns out that Ubuntu is very careful to keep the “other” OS in its GRUB boot startup screen (but it makes itself the default). Windows also seems not to mind, but updating the BIOS did break this startup logic: I had to manually re-adjust the boot order to get my dual-booting startup window back. What also turned out well, is thatUEFI booting “just works” either way.
This is not the first time I’ve tried to use Linux on a laptop, but itdefinitely was my intention to get a truly usable setup going.
Which isn’t as obvious as it sounds…
- Linux = a moving / evolving target!
- Laptop h/w = a crazy variety of stuff!
- The two together = major tinkering!
I don’t think anything captures the term “a mixed blessing” better than trying to get a (modern) Linux distribution working on (modern) hardware: I have been going through several days of highs and lows.
All the way from the satisfaction of seeing numerous features work out of the box, or trivial to fix, to endless despair when even basic functionality kept refusing to work:
- Ubuntu 17.10 install: mostly just fine
- i3wm i.s.o. Gnome: some googling, since I started from Ubuntu server
- Xorg and display config: just worked
- lid-close suspend: just worked (wow, that used to be really tricky!)
- sound: had to enable alsa and modify two module load settings, it’s still not working in Firefox and other X apps
- screen brightness: messy … I spent hours to get this working, and more still to tie it to the Fn+arrow keys
- clipboard handling is a mess, so far (I’ve installed
xsel
, but still)
Networking was another struggle: wireless worked fine, but adding a wired
connection and avoiding a 2-min boot timeout when either one was off took me
many hours. The problem is that things change in Ubuntu. Hint:/etc/netplan/
+ network-manager
(don’t edit /etc/network/interfaces
!).
In short: Google is your friend. The Stack-overflow site is filled to the brim with good suggestions, and they are (usually) easy to find. It helps that everyone is going through these similar“try-fail-google-fix” cycles.
What I love about the modern Debian- / Ubuntu-based distros, is their immense
range of well-maintained code, especially for development. Languages,
simulators, editors, … it’s all there, and one command line away via “apt
install ...
”.
Now, a few days after having started on this journey of getting that Acer laptop
into shape for development, I’m really pleased with it. The i3
tiling window
manager is great for all command-line bash
and vim
use, which are my two
favourite contexts for code-tinkering, because it comes with many keyboard-based
shortcuts (and they are also very easily re-configured).
And in contrast to “tmux
”, one important benefit of “i3
” is that you can
also launch GUI-based apps, and they’ll “tile right in”, while still allowing
for very easy window switching, moving, resizing, etc - all from the keyboard.
Obviously, most GUI apps themselves prefer mouse/trackpad control, but that’s
okay. IOW, Firefox and Chrome will work smoothly alongside shell panes.
It’s only with i3’s instant window / desktop switching, that I realise just how much all the smooth (slow!) sliding and shifting in MacOS irritates me (and that goes just as much for Ubuntu Gnome and Windows).
Simply because there’s a GPU which can add inertia and shadows doesn’t mean a UI should insert such effects everywhere!
This is not to say that everything is perfect in Linux-land for me: I have deliberately not installed email, note taking, drawing, and other “productivity” apps on this Linux laptop. For me, the contrast with MacOS’s rich consistency + graphic “precision” + streamlining is simply too extreme, and my muscle memory related to those tasks is too valuable to change these habits now.
But for development, Linux rules - IMHO. Plus: not having email and easy smooth YouTube video playback (with sound) is probably a benefit, not a drawback at all - in this world filled with distractions …