Na verdade, agora eu mesmo encontrei a solução - o problema e a solução são os mesmos que em pergunta . Eu só tinha que adicionar essa linha no meu script:
export TERM=xterm
Meu objetivo aqui é executar o script cmatrix
e bloquear a área de trabalho simultaneamente, para que a cmatrix seja mostrada como um protetor de tela até eu voltar e desbloquear o computador.
Meu script é assim:
gnome-screensaver-command -l & sudo openvt -ws cmatrix
Agora eu queria fazer o script ser capaz de rodar sem a necessidade de inserir a senha do sudo toda vez, então eu mudei o arquivo sudoers ( assim . Está funcionando se eu rodá-lo no terminal, até aí tudo bem.
Em seguida, adicionei-o ao PATH
, porque queria vinculá-lo ao atalho global Ctrl+Alt+L
, mas não funciona se eu invocá-lo pelo atalho. A área de trabalho pisca apenas por uma fração de segundo, como se ela quisesse mostrar cmatrix
, mas depois foi direto para a tela de desbloqueio.
Eu descobri que a parte com openvt
não está funcionando como deveria, mesmo que seja a única coisa no script.
Alguma idéia de como realizar o que eu quero?
EDIT: Na fração de segundo quando a área de trabalho pisca, consegui ler isso na tela:
Error opening terminal: unknown
Veja este tópico: link
Seu PATH está sendo redefinido quando você emite um comando sudo, então o hacker malvado não pode mudar e apontar para o script cmatrix
malicioso. Portanto, modifique seu caminho seguro ou anexe a localização exata do seu programa cmatrix
ao comando sudo.