Shell-freezing Ctrl-S and other keyboard shortcuts

For a while now I’ve known about the rather annoying Linux shell freezing that happens when you press Ctrl-S. At first, it seems like a connection drop-out if it’s remote (I use the Linux shell a lot, via PuTTY on Windows), but it took me a few months to realise that it was when I pressed a key. A few months later, I learnt it was caused by Ctrl-S, when I meant to press Ctrl-D (EOF).

Apparently, this is intended behaviour – a scroll lock of sorts. Ctrl-S again doesn’t solve it, but Ctrl-Q will.

So, here’s a few other keyboard shortcuts you may or may not find useful – not all of these may work on every unix/linux variant.

Ctrl-A Moves the cursor to the beginning of the line. See Ctrl-E.
Ctrl-B Moves the cursor backward one character. See Ctrl-F.
Ctrl-C SIGINT – interrupts (cancels)
Ctrl-D EOF – end of file character, marks the end of user input. If used on an interactive shell, will log you out. If used on a STDIN stream, will mark the end of the stream so it stops expecting input from you.(These are essentially different angles on the same thing)
Ctrl-E Moves the cursor to the end of the line. See Ctrl-A.
Ctrl-F Moves the cursor forward one character. See Ctrl-B.
Ctrl-H Backspace
Ctrl-L Clears the screen (like the clear command)
Ctrl-N Next item in history. See Ctrl-P
Ctrl-P Previous item in history. See Ctrl-N
Ctrl-Q XON – Resumes screen output. See Ctrl-S.
Ctrl-R Reverse history search.
Ctrl-S XOFF – Suspends screen output. See Ctrl-Q.
Ctrl-U Delete line
Ctrl-W Delete last word
Ctrl-Z SIGTSTP – suspend a process. Can be resumed with either fg or bg

Thanks to and for some of the info here.

Raspberry Pi, and Raspberry Pie


I went to bed early last night cos I knew I had to be up early this morning. Getting up at 05:30 is something that is incredibly rare for me. Unfortunately, it was a bit pointless this time around.

I was trying to get one of these:

Copyright 2011-2012, Raspberry Pi Foundation

It’s called a Raspberry Pi, and it’s essentially a computer the size of a credit card. With an ARM11 processor manufactured by Broadcom, 256M RAM, HDMI/RCA video output, 2 USB ports and Ethernet, powered by micro-USB, with SD for storage. What more could you want for a basic computer system?

Initially, it’ll run a variant of either Debian or Fedora Linux, and my plan is to use it either as a local web server/proxy server/dns server, or maybe running XBMC as a low-power media frontend. It’ll also be good for simply messing about with.

Oh, did I mention the price of this thing? No?

$35 (USD).

In the process of trying to order one, we (everyone who wanted one) brought down not only RS Components’ website, but Premier Farnell too in mere seconds. They were warned about the traffic, but seemingly thought the warning a bit frivolous since both of them didn’t adequately prepare for a HUGE traffic surge.

And now I have a craving for raspberry pie.

Adding yourself to a linux user group without restarting your session

I recently ran into an issue where I wanted to add myself to a new group (hmbprototype) on my server cluster, but really didn’t want to kill all my processes and restart my session to apply the new group settings.

A bit of searching around lead me to this:

$ newgrp hmbprototype

Seems to have added that group to my list of groups for my current session! :D Obviously, you actually need to create the group and add yourself to it before using newgrp. :P

Before using this yourself, I recommend you look at the man page first ofc :)

$ man newgrp

Unplanned downtime 25/11/2010

Hi folks

This is just a notification of downtime that occurred today.

During a security improvement cleanup sweep of the file tree, a few files required by the system monitor Nagios were accidentally hidden away from it’s view. As such, it started reporting errors on several bits of security software at approximately 03:02. In order to protect the system, these “faulty” bits of software were taken down for immediate repair. However, the procedure to disable the security software also disabled the MySQL database server at approximately 03:10.

The loss of the MySQL server had the following effects:

  • Helpmebot lost connectivity and shut itself down.
  • Exim lost connectivity, and shut itself down.
  • Spamassassin was no longer being depended upon, and so was killed.
  • Due to the lack of Fail2Ban, vsFTPd shut itself down.
  • Due to an unfortunate configuration dependency, Apache was also shut down.

This chain of events effectively killed every service that was running on the server. The offending files were moved to a different location, and the majority of services were recovered by 03:21.

vsFTPd was not restored until after all apparent services had been re-enabled, and Nagios was happy (~ 03:30).

Final cleanup from this incident finished at approximately 04:16.

Apologies for the outage everyone, I’ll try not to do that again. :D


Just spotted this online:

Does anyone have any idea what it’s like, does it work? It looks pretty cool from the site, could be a useful graphical subversion tool for those recently swapped to Linux and have been used to using TortoiseSVN.

If anyone does use it, please let me know what it’s like. While I’m on Windows, I’m a huge Linux shell user, so I tend to stick to all the Linux command line stuff, so it’d be nice to know what this is like.