Вы должны явным образом вызвать окно терминала, если вы хотите использовать программу терминала. "With_shell" в awful.util.spawn_with_shell() не означает, что он делает это, но отличие от awful.util.spawn() заключается в том, что первый вызывает sh -c <program> а второй просто вызывает <program> (то есть spawn_with_shell() выполняет расширение оболочки, spawn() - нет).
Следующее должно сделать трюк:
awful.key({ modkey, }, "m", function () awful.util.spawn("xterm -e mutt") end)
Обратите внимание, что большинство ™ awesome -configs (например, по умолчанию, поставляемое с awesome) определяют переменный terminal , поэтому вы можете (и, вероятно, должны) также использовать:
[…] awful.util.spawn(terminal .. " -e mutt") […]
Таким образом, вам нужно изменить определение terminal в том случае, если вы хотите перейти, например, с xterm на urxvt (что я действительно мог бы посоветовать;)