Não tenho certeza do que você está tentando fazer, mas a razão pela qual o comando sudo
está falhando é porque você iniciou o servidor X como pandya
e não está exportando as variáveis de ambiente do pandya que permitem a comunicação com a sessão do Gnome em execução.
Então, isso permitirá que você mate sua sessão do Gnome:
sudo -E -u pandya gnome-session-quit
De man sudo
:
-E, --preserve-env
Indica a política de segurança que o usuário deseja servir suas variáveis de ambiente existentes. A segurança política pode retornar um erro se o usuário não tiver permissão para preservar o meio ambiente.
Se você quiser ter um script que execute alguns comandos como root e, em seguida, quiser que seja capaz de fazer logout, você pode fazer isso da seguinte maneira:
-
Crie o script, sem
sudo
para os comandos privilegiados, mas comsudo
para o logout. Por exemplo:#!/bin/bash apt-get install firefox sudo -E -u pandya gnome-session-quit
-
Execute o script com
sudo -E
:sudo -E /path/to/script
O sudo -E script.sh
garante que suas variáveis env estejam disponíveis para o script e o sudo -E -u pandya
garante que elas sejam passadas para a chamada gnome-session-quit
.