Após alguns dias de testes e perguntas, essa parece ser a implementação mais fácil. Isso pode ser feito com um estado global que o Awesome WM lê, no entanto, para manter previsibilidade e facilidade de implementação, estou mantendo isso.
~ / .bashrc
alias cd='source /home/my_user/.cd_extend'
~ / .cd_extend
#!/bin/bash
command cd "$1"
pwd > ~/.terminal_directory
Depois, posso abrir o terminal, que lê o arquivo .terminal_directory e abre um novo shell do gnome com o diretório de trabalho fornecido.
open_terminal.sh
#!/bin/bash
DIR=$(cat /home/my_user/.terminal_directory)
gnome-terminal --working-directory=$DIR
awesomewm rc.lua
terminal = "/home/my_user/.dotfiles/open_terminal.sh
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end)