Tag Archives: control

gom: Ten years gone

I joined the Linux crusade well after the advent of ALSA audio, so the old, old days of OSS are mostly lost on me. I think I experimented with OSS with a couple of very old laptops about three or four years ago, but never saw any real advantage to using the old audio subsystem over the new.

That’s vaguely ironic, since now I don’t see any advantage to using JACK or pulse audio over ALSA. 😕

The source files for gom show updates as recent as 2009 though, so it may be that you can still milk the OSS framework and have a viable audio mixer at the terminal.

2015-01-07-jsgqk71-gom

That’s probably not a fair screenshot of gom, since I’ve really only installed the OSS framework in Arch, then force-built gom and gotten into the interface. It’s not really working the audio on this system.

But it should give you a general idea of what gom does, and how it handles itself. No color, nothing flashy, none of the wild craziness of alsamixer (that was a joke 🙄 ). Just channels and data, and the ability to control the audio at hand.

gom is in both AUR and Debian, but I only built the Arch rendition. Like I mentioned, I needed to build oss out of AUR, which was not a huge challenge. I had alsa-oss installed as well, but I don’t think that was necessary.

Using gom reminded me of both rexima and aumix, in that they all seem to take a back seat to alsamixer. It may be that gom had a finer hour ten years ago, but I’d be surprised if there were still OSS fans out there, and if they would put gom to use. 😦

ipbt: A better replay option

I mentioned a lot of terminal recorder options in the past, some good and some bad. ttyrec was one of those, and while it alone didn’t really impress, it is getting a small boost from ipbt.

2014-09-01-6m47421-ipbt

You’ll have to look close at that image to see ipbt’s contribution. What otherwise just looks like a screenshot of a slightly mangled htop session is ipbt’s frame by frame controls and on-screen display.

ipbt adds just about everything you could want to ttyrec playback. Pause and start keys, frame advance, time compression, jump-to-frame and jump-to-end keys, and a bunch more. ipbt will even allow you to search through the text in the frame. It’s not exactly an Esper machine, but it’s clever.

Unfortunately, ipbt can’t do much about ttyrec’s overall quality, and the frame above is a good example. ipbt allows you to step through those recordings and perform a heady acrobatics with them, but I’ve seen very little from ttyrec that wasn’t mangled to start with. So perhaps ipbt is just lipstick on a pig.

Regardless, someone put a lot of effort and time into ipbt and it does make the otherwise less-than-thrilling ttyrec into a proper and usable recording and playback tool. It’s a shame it can’t capture correctly though. 😐

stty: Adjust the intricate details

I mentioned setterm almost a year ago, and in general that’s the tool you should rely on to adjust some virtual console capabilities. Things like color, cursor blink rate and so forth are handled by setterm. (Note: Not for terminal emulators. Emulators are handled elsewhere. 😉 )

stty is a little different, since it’s focused on the intricate line settings — baud rates, dimensions and so forth — for your console.

Ninety percent of what the stty man page describes is total gobbledygook to me. The remaining 10 percent is marginally useful. It does allow for some interesting acrobatics though, such as …

2014-05-10-6m47421-stty-mining_haze

That’s mining-haze, which we’ll discuss another time. I used it here because it absolutely demands an 80×24 terminal screen — and what you see there is 110×38. 😯

I was able to get that punch-out effect by feeding this into the terminal beforehand:

stty cols 80 rows 24

and as you can see, the output arrangement is confined to that area — and more importantly, reported as those dimensions. Otherwise, mining-haze would serve me up a nastygram. 😦

Nothing earth-shattering, but it might save you a little trouble with picky software and unconventional terminal dimensions (think: tiling window managers).

stty can do a lot of other things, but like I said, the preponderance of what I saw in the man and info pages was intended for old-school terminal tweaking.

In that colors and timeouts and blink rates are all handled by setterm, it’s unlikely that I’ll rely on stty for anything but the exceedingly rare console setting. 😐

Oh, I almost forgot: the obligatory coreutils tagline. 😉

netctl: One for the Archers

I count myself as an Arch Linux user, even if more machines in the house run Linux Mint than Arch at the moment.

And after skimming through aptitude and some other Debian-centric tools, it’s time we got one that’s listed among the blue and not among the red. Or magenta. Or whatever color it’s supposed to be. 🙄

netctl isn’t much to start off with though.

2014-02-02-lv-r1fz6-netctl

If you know systemd, and if you’re an Archer you probably do, then you know this is remarkably similar to systemctl. Start. Stop. Restart. Et cetera.

Which only makes sense, I suppose. The self-styled “network control utility based on systemd” doesn’t step on any toes by following suit. And wifi-menu, its wireless corollary, does an admirable job for its part.

I’ve used netctl only briefly though, and only in the most cursory fashion. I’ll be honest and admit that most of my Arch systems, once they’re installed and online, get a healthy injection of wicd, instead of the default tools.

Not that there’s anything wrong with netctl, I just need a little more information than it (or wifi-menu, for that matter) offers, and I like the way wicd-curses presents it.

Other than that, I can tell you I’ve never had any problems with netctl (or wifi-menu, for that matter) and at times when wicd fell flat, both netctl and wifi-menu were there to pick up the slack.

If, and/or when, systemd is drawn into the Debian corpus, it will be interesting to see if netctl is likewise adopted. I have no opinion either way, but I shall get out my popcorn and watch just the same.

cpulimit: You figure out why

I have another one of those programs that I’m not really sure why I would need it.

I can see the how, and I know the what, but the why eludes me. Regardless, this is cpulimit.

2013-09-25-v5-122p-cpulimit

I get the general gist: cpulimit chokes the CPU usage of a process. I did my best to show it in action there, but Firefox had already loaded the page by the time the screenshot snapped.

It did stay under 50 percent, which was the limit I gave it. Whether that’s because of cpulimit or because of dumb luck, I can’t say.

So best I can tell, it works. I know what it’s for, I know how to use it.

But I honestly am not sure when I would put this to use. The home page says batch processing, but usually I’m trying to power through my batch processing, not limit it.

Oh well. There are many things about computers that I don’t understand. I can add one more to the list and it won’t make me feel like less of a person. 😉

alsamixer: The interface we all know and love

I’ve had some adventures with the alsa libraries lately that warrant mentioning them here.

More specificially, alsamixer, the console interface for alsa, et. al.

2013-08-12-v5-122p-alsamixer

You’ve probably seen alsamixer before, either in screenshots or in your own console adventures.

It works more or less as you might expect any other audio control panel to work — q.v., rexima and aumix.

Left and right sliders for each control, preset jumps at the number keys, mute buttons with M, and so forth. There are also some startup flags that will change the interface, or for example, remove the color.

The reason this becomes interesting, particularly to me, is because of the machine I’m typing on, right now.

Before I came across this Acer V5-122P, every computer I’d ever worked with had a simple enough audio card that alsa and company set themselves up without any intervention on my part.

And I will admit that in Linux Mint, which I showed a long time ago, there was also no problem with sound.

Under Arch however, there were some unusual behaviors.

To start, there were two labeled sound cards — HD-Audio Generic 0 and HD-Audio Generic 1.

2013-08-12-v5-122p-alsamixer-noaudio

By default, at boot, Arch latched on to the first available card, and used it as the default for the sound subsystem.

Where’s the harm in that? Well, as you can seen in the screenshot above, there is no audio control attached to card 0.

That, of course, confused the heck out of most audio players. mocp just refused to run. Others would run, but could generate no sound.

Card 1 was still accessible, by me, and I could control it, but there wasn’t a whole lot to be done in other software.

Before this gets too boring, I’ll cut to the solution.

In short, I had to feed the settings to alsa through the .asoundrc file in my home directory. Here are the settings that worked for me.

defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1

I will be honest and say I’m not really sure why each one works there. Linux Mint and other suite distros did this for me automagically.

I just twiddled with the settings until the right card appeared in music players — and in alsamixer when it started up. And so we’re back to alsamixer.

Since then it’s been nothing but happy puppies and sunshine. Isn’t the world a wonderful, musical place? 😀

setterm: Some minor magic

I have setterm on my list of applications to discuss. And I honestly hope you already know how to use it.

Because setterm is the tool you should be going to, to adjust smaller points of console life.

To include, but not limited to: foreground colors, background colors, cursor behavior, brightness, tabs, blanking timeouts, power savings and/or poweroff settings, and a whole spiel of other toys … including the flag to reset the entire business back to normal.

You will have to experiment to get the exact flavors you like out of a virtual console, and be forewarned that some of them (linewrap, for instance) might behave differently than you expect.

And also remember that these tweaks may or may not have an effect inside a terminal emulator. Those applications (in my experience) usually have their own way of adjusting the environment.

“All very nice, K.Mandla, but. … when would this ever be important?” you say. “Why would I care about stopping the cursor from blinking?”

Read on, true believer. …

P.S.: Yes, I know. No screenshot today. But what can I show this time? An unblinking cursor as opposed to a blinking one? Methinks you already knows that. … 😐