O mais próximo de um método padrão para isso que eu posso pensar seria confiar no xrdb.
Você pode usar xrdb -query
e obter os valores de cores usados pela sessão X atual.
Por exemplo, o meu fornece o seguinte:
*background: #151515 *color0: #101010 *color1: #E84F4F *color10: #A0CF5D *color11: #F39D21 *color12: #4E9FB1 *color13: #8542FF *color14: #42717B *color15: #dddddd *color2: #B8D68C *color3: #E1AA5D *color4: #7DC1CF *color5: #9B64FB *color6: #6D878D *color7: #dddddd *color8: #404040 *color9: #D23D3D *foreground: #D7D0C7 ...Infelizmente, devido à maneira como o xrdb funciona, não tenho conhecimento de nenhuma maneira de definir apenas as configurações de um sub-shell, já que o ponto inteiro do xrdb é coordenar as configurações para a sessão x atual. No entanto, você pode "atacar" ao exportar as configurações via
xrdb -query
e, em seguida, recarregá-las quando terminar.