Isso funcionou (graças ao comentário de J. Starnes)
#!/bin/sh
systemd-inhibit --type=sleep --mode=block optirun "$@"
Eu consegui configurar os drivers bumblebee + bbswitch + nvidia depois de um pouco de trabalho duro. A questão restante é tudo o que eu corro com optirun parece desligar depois de retomar de suspender ou hibernar, e eu não posso descarregar o driver nvidia e desligar a placa discreta até a reinicialização. Uma boa solução temporária é inibir a suspensão e a hibernação quando estou usando o cartão discreto.
Até agora, eu tenho um pequeno wrapper que invoca optirun "$@"
e faz um loop movendo o mouse com xdotool até que o optirun termine. Isso faz o truque, mas não quero impedir que a tela diminua. Eu gostaria de uma solução para evitar suspensão e hibernação apenas, espero evitar qualquer coisa envolvida com o gconf ou escrever arquivos de configuração.
Isso funcionou (graças ao comentário de J. Starnes)
#!/bin/sh
systemd-inhibit --type=sleep --mode=block optirun "$@"