Ubuntu ships with a neat GNU screen enhancement called byobu. One of the nice features is to run custom scripts. The output of your custom byobu scripts are shown in the status line of your byobu session.
Byobu runs custom commands
I’ve converted my former screen script to run as a custom script in byobu, but it suddenly stopped working. I was wondering why and found a way to see what the problem was.
What you need
My script scans my mail directory and checks for new mail. I placed it in my home directory under:
$ ls /home/roman/.byobu/bin
The following points should give you a clue why your custom script won’t work with byobu:
- Check if you have enabled custom scripts in byobu (press F9 in a byobu session).
- Run the custom command by itself from the plugins directory, not from your home directory. The plugins directory is located under Ubuntu in /usr/lib/byobu/custom.
- The output of custom scripts are written to a cache file under /var/run/screen. Check what the cache files tell you.
I recently upgraded to Ubuntu Karmic Koala. The only glitch I was stumbling over quite often, was a problem in my terminal. It allowed me to type in a few characters before the cursor continues. A bit like the digraph mode in vim to enter special characters.
Now I accidentally stumbled over the Smart Common Input Method Platform (SCIM) Setup. The default hotkey is ‘CTRL+Space’, the hotkey I’m using for switching windows in screen is ‘CTRL+A+Space’. In case I slipped a bit I triggered the default input method, which terrorised my programming hours. You can’t move in vim any more, you can’t navigate in mutt anymore you can’t even hardly navigate in your file-system, because every key-press is swallowed by the default input methods. WTF?
Don’t get me wrong. The problem is not the input methods setup here, it’s just that there is now way of figuring out what is triggering the different input methods. If you need to tweak or change the default hotkey, you can find the setup program for SCIM under ‘System/Preferences/SCIM Input Method Setup‘.