Greek and Hebrew Keyboards for Linux

There are lots of good tutorials out there for getting Greek and Hebrew keyboards on Windows and Mac, but there's not anything clear and direct about getting them on Linux. Part of the problem for Linux is that there are about a hundred different ways to do it. Although there are ways to have multiple keyboards just in your text editor (Vim has this capability), I personally prefer to use system-wide configurations. This is my simple process, but if you want more detailed information, Vern Poythress has put together a much longer guide. Poythress's guide is helpful, but it's almost ten years old and Debian/Ubuntu centered. The steps below are distro-agnostic.

Getting Greek/Hebrew Keyboards

  1. Download the appropriate keymaps from STEP Bible here. The keymaps are at the bottom of the page. Be sure to select linux.
  2. Navigate to your downloads directory and tar -xf Tyndale_keyboards_for_Linux.tgz
  3. cd Tyndale_keyboards_for_Linux
  4. sudo cp Tyndale-il /usr/share/X11/xkb/symbols/
  5. sudo cp Tyndale-gr /usr/share/X11/xkb/symbols/
  6. setxkbmap -layout "us,Tyndale-gr,Tyndale-il" -option "grp:win_space_toggle"

Now, if you press Super+Space (assuming you don't have conflicting keybinds), the keyboard layout will switch. Of course, you can set the keybind to anything you'd like by changing the setxkbmap option.

Note also that setxkbmap sets the layout for the current X session. If you want a persistent configuration, put the command in your .xinitrc. Additionally, I would also write an alias or a short script to rerun the command in case anything catches. For example, you'll need to rerun the command if you plug in an external keyboard.

A Warning

I have noticed that sometimes the X keyboard freaks out on me and freezes DWM. It seems to happen mostly when I'm very quickly switching between keymaps. I'm not sure what the cause of this is, but just be warned. I have not tested this with other window managers.