Доступ к экрану входа в систему X Display для Ubuntu GDM

В целом я пытаюсь вводить нажатия клавиш на экран входа в Ubuntu из отдельной оболочки. У меня есть машина (под управлением Ubuntu 10.04) на стандартном экране входа в систему, и я также подключен к машине по SSH. Я пробовал следующее (из оболочки SSH):

$ ps ax | grep X
 2844 tty8     Ss+    0:01 /usr/bin/X :0 -br -verbose -auth /var/run/gdm/auth-for-gdm-Gp2Rlq/database
$ export DISPLAY=:0
$ xdotool key Return
No protocol specified
Error: Can't open display: :0
Failed creating new xdo instance

Этот точно тот же метод работает после входа компьютера в Ubuntu, но он не работает для экрана входа в систему.

В идеале я хочу иметь возможность завершить вход из другой оболочки. Я НЕ хочу использовать автоматический вход. Я просто хочу иметь возможность получить правильный дисплей и выполнять нажатия клавиш, необходимые для входа в систему.

Любая помощь будет принята с благодарностью.

Отредактировано:

Благодаря подсказке от n.m. Я смог заставить это работать с:

export DISPLAY=:0
sudo xdotool key Return

Это выполняет то, что я хотел, но теперь мне интересно, есть ли способ сделать это без «sudo»? Есть ли флаг, который я могу включить/отключить, чтобы обойти это?

Спасибо еще раз за помощь.


person furtypajohn    schedule 23.05.2012    source источник


Ответы (1)


Для подключения к дисплею необходимы полномочия. Обратите внимание на параметр -auth команды X. Вот где власть.

Попробуй это:

export XAUTHORITY=/var/run/gdm/auth-for-gdm-<whatever-it-is>/database 
export DISPLAY=:0 
xdotool key Return

Вы должны быть пользователем root, чтобы получить доступ к авторитетному файлу.

См. man xauth для (много) дополнительной информации.

person n. 1.8e9-where's-my-share m.    schedule 23.05.2012
comment
Спасибо! Как оказалось, все, что мне было нужно, это быть root, чтобы выполнить это... - person furtypajohn; 23.05.2012