This long, tiresome week, I’ve opted to conduct an experiment: working out of my Windows partition. Since shoving my Chromebook in a closet ages ago, I’ve usually booted Stark  from my Debian partition. Well, this week I tried a little insanity.

So what worked? Well the important stuff. Namely WSL2 and Docker for Windows now enable me to do the things my Debian partition offers that actually matter. Yay for that. Being a busy week, I kind of put that part of the system through five hundred laps of abuse without a problem.

A very large part of my time revolves around command line environments one way or another, so a lot of my client machine’s job is being a glorified X-Terminal on steroids. Most GUI software I rely on is cross-platform within the desktop family trees, pardoning proprietary bits. Most parts I really care about are terminal friendly; most GUI parts involve interaction with others or specific tasks.

In particular I found it pleasant to have a Evernote’s desktop client. The web client’s not my cup of tea, beyond some of the editing shortcuts it shares with the Android and iOS clients. While most of what I do on my Linux partition was direct and to the point thanks to WSL, Evernote was a big shift.

What didn’t work so hot?

In a very unsurprising shortfall was Bluetooth. Twice I had to totally start from scratch pairing my Bluetooth keyboard and mouse. To be fair, W10 20H1 launched with problems that are supposedly resolved. To be honest I’ve always had trouble with NT and Bluetooth: going as far back as the XP era. By contrast in a decade of combing Bluetooth and Linux: the only issue I’ve had is changing batteries 🤣.

Another is the networking side. Seems like W10 is happy enough to use my static/dns setup for Wi-Fi at work, and DHCP for my Wi-Fi setup at home. It’ll even deal with the DNS suffix at home. But sometimes it thinks my home network has no Internet connectivity because it’s trying to use my work DNS servers with my home connection. I suppose, considering the era NT comes from: I should just be glad that W10 has a concept of different configurations for different wireless connections. But annoying.

Shifting from Davmail / Thunderbird to the various Microsoft things, I mostly have two comments. One: easier setup. Second: different quirks. On the flipside, Davmail has a spectacularly accurate manual. And Thunderbird probably has more bugs and quirks than it’s competition, lol. I could actually replicate my Linux setup on W10, but would rather not during the experiment.

Explorer is probably the gold standard of file managers. Compared to Thunar, it sure is. But I found it amusing how it was a sticking point. On occasion Explorer total death hangs until I eject my SD card. In the kill explorer from taskkill /f and then restart the damned thing just to get my panel back kind of hangs. Although, I’ve probably seen more crashes from X file managers than you can shake a stick at, it’s compensated by *nix having a far superior command line environment.

More minor were things like my internal web server. Easy enough to replicate my simple lighttpd setup in IIS, and to lock it to my connection at work. Most of my stuff is either static, Perl CGI, or bash based; so the only thing that’s not operational with trivial effort is a few CGI scripts done in bash.

And then there’s the part that should really scare me: I didn’t hate the experience. By comparison using Windows 7 and its predecessors generally lead to cursing and gnashing of teeth.

Some time ago, I setup DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 Gateway on my development laptop to connect Thunderbird to my mail account at work. Handling email was the largest change of swapping from my Android centric work station back to regular desktop Linux.

Give or take my generally meh feelings towards today’s desktop mail clients, Thunderbird especially: this has worked out pretty well, and with pretty minimal pain, thanks to the Actually Worth Reading setup guides.

Today, I finally got around to connecting the address book and calendar functions, and much to my surprise: those actually, Just Work ™. Which is kind of nice: because I’ve been switching to my tablet for those functions. Thunderbird collected addresses thing, also helpful.

When the rise of the S-Pen made me upgrade tablets, I had to contend with the loss of video output during my otherwise painless Tan S2 -> Tab S3 conversion. Eventually, I traded in some old hardware and got a cheap assed Chromebook that was new enough to do Android apps, and serve as a replacement for docking my tablet. That mostly worked, give or take that Chrome OS is like 10 x buggier and more restrictive than native Android. But eventually that combined with the crappy performance lead me to replace it with using my development laptop directly, rather than using SSH and SMB to access it. The performance grumbles, such as Play Music stuttering whenever opening heavier web pages, made more powerful hardware worth the coin—the quality of Chrome OS as an Android replacement, made using a Linux or NT based system a better option. Thus rather than increment debt, I said screw out and started using my development laptop directly because that was the simplest, cheapest way to kill both birds with one stone.

So, I guess I’ll get to see how well Thunderbird’s calendar works. For my pen use cases, typically my synced to all my devices taste in calendars are used; and I maintain several. My exchange calendar, basically exists purely for dealing with meetings and events going through Exchange users. Since meetings are inescapable, dealings with Exchange calendars.

Coincidentally, Microsoft Outlook for iPad rather sucks as a mail client if you have any significant volume of mail to process, and it’s calendar function is little better than typing cal into an xterm. But it at last syncs with little fuss.

After a good while, I’ve finally upgraded my main laptop from Debian Stretch to Buster. Unless your name is OpenBSD, I don’t do zero day upgrades; and it’s been a few months since Buster shipped. Enough for me to feel comfortable that any big, scaries about the new Debian stable would have made it to my ears by now.

It’s long been my policy to upgrade a less important machine before pushing a major upgrade to one I don’t want to wipe and restore from backups.

My guinea pig was a desktop that’s been running Debian stable releases since Squeeze without a serious problem. The only issue I experienced with it on upgrade was that the antique nVidia card requires a very legacy driver version that doesn’t really want to work with the current OS. But aside from that everything was peachy.

My laptop on the otherhand was a fairly painless experience. I only encountered two issues.

One is it looks like consolekit has been ejected in favour of systemd-logind. Frankly, I don’t care. But I also am a weirdo who still likes to run XDM. Because beyond configuring PAM or my X session script, I don’t give a flying floop about the modern login managers–my session still trucks through ~/.xsession and I don’t need fancy stuff in my login screen. A small change to the xfce4 specific part seems to be enough to resolve that, or at least I can still reboot my laptop through the xfce4 menu instead of using sudo.

Second case was for whatever reason, apache2.service wanted to be enabled during the upgrade and was preventing lighttpd.service from starting and running my tweaked configuration. So when I saw my /var/www/html/index.html file about altering an NSA surveillance unit, I knew that was happening. That’s actually why that file exists. If you’re not using my configuration that makes content go to /srv/{hostname}, you get the cheaky file I left myself for being able to tell.  Because I know if I stick my shit in /srv/{hostname} rather than /var/www/html, probability of packages mucking with my webroot goes down :P. A simple disable + stop apache2.service and restart lighttpd.service, and bingo.

Over the years I have uttered many words at the software I deal with, mostly profanity.

I’m pretty sure the loving to hateful words ratio between me and ALSA is about 0 : 1,000,000. Or in short if I ever say “I effing love ALSA”, it’s a pretty safe bet that I’ve been replaced by a bodysnatcher or something.

Generally I have used ALSA directly as much as possible over the years because at the end of the road on Linux systems you will always, sadly, end up with that. But I also find that configuring and living with it tends to be a bitch on wheels of fire the more complicated people make things. Let’s say that ALSA is something I suffer not something I love.

Well, recently I’ve had a bit of a pain in my arse dealing with ALSA, GStreamer, and trying to do audio passthrough. And I’ve learned that I really do like PulseAudio.

mpv is able to do passthrough but that doesn’t suit my purposes, or let’s just say scripting that ain’t my real objective.

$ mpv –aid={track #} –audio-device=alsa/{device} –audio-channels=5.1 {my file with fancy audios}

GStreamer is smart enough to passthrough audio if you send the bits to the sink. Most elements that manipulate audio expect audio/x-raw data like you would get out of your audio decoder. But the sinks can also take other formats–much like my surround system knows how to decode pretty much anything.

What I ran into was alsasink never reporting any of the compressed formats my graphics card supports, after GStreamer tries to decipher what the device is capable of.

Enter PulseAudio!

$ gst-launch-1.0 filesrc location=”{my file}” ! queue ! {demuxer} ! audio/x-ac3 ! queue ! parsebin ! pulsesink

Where I had no luck getting this to work with alsasink it was easy as pie with pulsesink.

Deciphering the documentation to configure the default profile for my card via pactl and add the formats I want to passthrough to my surround sound system was a snap that only took 15~20 minutes. Figuring out the device names used for pulsesink based on pactl list was a bit tricker. I spent 2~3 days screwing with ALSA before that.

For bonus points: I could test ahead of time using my laptop’s HDMI port and pavucontrol to configure the outputs, letting me know if this would be possible at all before I started learning how to do it with pactl.

I can’t say that I’m a big fan of the guy who wrote PA, or that I truly gave a flying hoot when the Linux desktop world went to PA and we all threw out things like aRts and ESD. My only horse in that race was I wanted audio to work in applications like mplayer and firefox without having to screw around.

In retrospect: I should have just learned how to use PulseAudio a long fucking time ago instead of dicking with /etc/asound.conf and amixer and all that BS. Because those aspects of PA really do suck less in my honest experience.

And then I find myself remembering FreeBSD and its OSS, in which the only issue I ever really had with audio was whether or not there was an suitable driver for my card, lol.

Forbes: The New Pinebook Pro Will Challenge Google Chromebooks For $199.

Can’t say that I’ve ever cared a lot about Rockchip’s SoCs but that actually sounds pretty damned tempting. The chipset should deliver a really nice bang for the buck. Very tempting indeed!

At least as far as 14″ laptops with anything weaker than a Core i7 and 32 GB of RAM can go, and for those you would have to shift the price tag over a decimal place. Let’s just say for $200: you have no right to complain about the horse power that a Cortex A72/A53 like that can deliver.

Intel’s chipsets targeting that $200 price point tend to struggle just playing my music and opening tabs without stuttering. In fact getting tired of that is the number one reason my Chromebook will likely get retirement this year or next year.

Hmm, I wonder for the hell of it how bad the Graphics driver is for the RK3399’s GPU. Last time I tried a Mali it was on an Exynos 5 and I was most unimpressed by the desktop graphics performance. But that was quite a few generations ago.

Alice just proved her ROI lol. When I left work yesterday, I just unplugged her, closed the lid and slipped alice in my backpack. There it sat until getting to work just now—with 2:35 hours remaining on the battery!

This thing is energy efficient enough to take several times my laptops battery life, when under a normal load. Let it go into restrained sleep and it’s pretty darn long lived; I have Linux programmed to prefer using more power then is strictly necessary when on battery as well.

Using a custom window manager with Gnome / Ubuntu 11.04

I kinda expected that the upgrade to Natty Narwhal would be a bit bumpy, but it was pretty painless. Really all I use GNOME for is a way to get a system tray into my XMonad session with the least possible fuss. I also use a few GTK+Gnome oriented apps like evince and geeqie but have no real connexion to the old Gnome.

The only real bump that I have faced, is that overriding WINDOW_MANAGER and calling gnome-session is no longer enough to run GNOME with XMonad. Ubuntu 11.04 as of current update status, is overwriting this with compiz! Not even overriding the gconf key helps, it just gets reset to gnome-wm; which is what is *supposed* to be picking up the exported WINDOW_MANAGER variable from my X session file.

Solution? Found a helpful hint on the XMonad wiki. However rather than modify things at the system level (I am a BSD lover after all), I opted to instead setup a session file in $XDG_CONFIG_HOME/gnome-session/sessions/$LOGNAME.session. The default value for $XDG_CONFIG_HOME is ~/.config, $LOGNAME is another variable for $USER (your users’ login name).


[ terry@alice ]$ cat ~/.config/gnome-session/sessions/terry.session
[GNOME Session]
Name=Classic GNOME
Required=windowmanager;panel;filemanager;
Required-windowmanager=gnome-wm
Required-panel=gnome-panel
Required-filemanager=nautilus
DefaultApps=gnome-settings-daemon;
[ terry@alice ]$

Then updated my X session to run this with commit 3e92fc91040573ba40ac20ad75a594d6eeef60b6. And for good measure, I unset the gconf key.

Now everything worky 🙂

Well, it looks like alice is now fully operational: and my fingers are adjusting to her keyboard rapidly. Fortunately, I am finding myself more often hitting fn+key in place of ctrl+key on dixie, then I am on alice. Whew.

I’ve installed Ubuntu Netbook Edition, and set it up to behave as dixie has been used all these years: a workstation rather than a terminal. I don’t have time to fiddle further with making OpenBSD play nice with Windows 7 on this rig. This does pretty much net me all that I desire: a bourne shell, decent terminal multiplexer, XMonad, Chrome, Pidgin, Dropbox, and a system tray area. I can live with the (ugh) GNU and Ubuntu parts.

The only real difference between the Desktop and Netbook editions of Ubuntu, the former comes with a customised GNOME where as the latter comes with a custom GNOME shell called “Unity“. I have really got to say that Unity SUCKS!!!!!! I seriously cannot fathom anyone getting real work done with Unity because you’ll have to set it up to do anything more useful than launch Mozilla, it feels so useless, that I think I would trade GNU/Linux for MS-DOS 2/3, and old DOS really, really did suck. Once I found the GNOME shortcut for the run dialog didn’t work, I decided instantly it would have to Go.

But to be fair, Unity does do some Very Good Things, and I commend the engineers behind it for breaking away from the Windows norm, that every GUI app tends to follow. The focus on full-screening the apps also is a feature that I like. The whole dock/sidebar thing is also quite nice, if kind of restrictive. Not even KDE4 offered as much nice “Wow, this looks integrated” kind of warm and fuzzies.

But I don’t want to take hours to try and restructure the thing, nor do I want to constantly grep programs by their menu pretty names, or have to push a button for just about every darn thing. OK, I still live in a command prompt 75% or more of the time, so sue me.

Hmm, it seems that updating Xfce4 has borked the install—in so much as none of the panel plugins work. Xfce4 itself seems to be O.K. but I can’t even get the Xfce Menu to appear in the panel, after using the option to migrate my panel settings almost nothing works o/. Guess whoever it was on the Zenwalk mailing list was right about the new Xfce not being ready for the lime light.

Giving KDE 4.5.4 a clean shot, results in an almost two minute wait to load, before it finally crashes back out to my XDM screen. To be fair on a second run (after rm -rf ~/.kde && sudo reboot) it is closer to 1 minute >_>.

Next up, using GNOME. Less than 30 seconds for the *first* run and I had a usable desktop. At least, something in this world works. After rebooting, going from log in to a usable desktop was approximately the same time frame. That’s cool.

I have never been a big fan of the old GNOME but I will usually be the first to admit, it gets the fuck out of your way and lets you get shit done. But Xfce4 is faster!!!

So I guess for right now, the old GNOME is my defacto-standard desktop :-/. Hey, if it works. Hell, all I really use the “Desktop” for amounts to a system tray, wall paper, and a way to switch between windows. 90% of what I do, is done in an X Terminal anyway.

The thing that I do care about, is that It Just Works and Doesn’t Annoy Me Constantly.