LINUX.ORG.RU

Не могу запускать приложения от sudo через xrdp

 , ,


1

1

При подключении к домашнему компьютеру с kubuntu 13.10 через rdp (xrdp) пытаюсь о рута запустить приложение открывается серая рамка вместо окна Скриншот
в самой консоли выдает

avkutyrev@System164:~$ X Error: BadAccess (attempt to access private resource denied) 10
Extension: 130 (MIT-SHM)
Minor opcode: 1 (X_ShmAttach)
Resource id: 0x119
X Error: BadShmSeg (invalid shared segment parameter) 128
Extension: 130 (MIT-SHM)
Minor opcode: 5 (X_ShmCreatePixmap)
Resource id: 0xe0
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x4200026
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x4200026
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x4200026
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x4200026
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x4200026

Как эту проблему победить? Раньше такое было только при подключении через x11rdp сессию, сейчас и при vnc-session такое же. При этом локально от этого же пользователя все нормально запускается. Единственная нормально запускающаяся программа таким образом это xretm вот он грузится как положено, а вместо всего остального - как на скрине. Если залогиниться к xrdp от рута то все тоже работает.

Подозреваю, что-то недоделано с Xauthority или выбором X сервера (переменная DISPLAY), хотя работающий xterm (если я правильно перевёл) намекает, что кривизна в приложении, а не в системе.

Elyas ★★★★★ ()
Ответ на: комментарий от truf

truf

попробуй через kdesudo

Прошу прощения забыл указать, что уже пробовал и kdesudo, и gksudo. Результат тот же. Вывод по дебагам по этим командам прилагаю.
Дебаг x11rdp-session

avkutyrev@System164:~$ kdesudo konsole

kdesudo(17828) KDESu::KDESuPrivate::KCookie::getXCookie: No X authentication info set for display  ":12.0" 

QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.

avkutyrev@System164:~$ gksudo konsole

X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x4a00026
X Error: BadPixmap (invalid Pixmap parameter) 4
  Major opcode: 54 (X_FreePixmap)
  Resource id:  0x4a00026
X Error: BadShmSeg (invalid shared segment parameter) 128
  Extension:    130 (MIT-SHM)
  Minor opcode: 2 (X_ShmDetach)
  Resource id:  0x4a00026


Дебаг тех же команд в vnc-session

avkutyrev@System164:~$ gksudo konsole
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x4a00026
X Error: BadPixmap (invalid Pixmap parameter) 4
  Major opcode: 54 (X_FreePixmap)
  Resource id:  0x4a00026
X Error: BadShmSeg (invalid shared segment parameter) 128
  Extension:    130 (MIT-SHM)
  Minor opcode: 2 (X_ShmDetach)
  Resource id:  0x4a00026

  
  avkutyrev@System164:~$ gksudo konsole
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
Xlib:  extension "XInputExtension" missing on display ":13.0".
X Error: BadAccess (attempt to access private resource denied) 10
  Extension:    129 (MIT-SHM)
  Minor opcode: 1 (X_ShmAttach)
  Resource id:  0x4200010
X Error: BadShmSeg (invalid shared segment parameter) 128
  Extension:    129 (MIT-SHM)
  Minor opcode: 5 (X_ShmCreatePixmap)
  Resource id:  0x4200017
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x4200018
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x4200018
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x4200018
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x4200018
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x4200018
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x4200018
X Error: BadPixmap (invalid Pixmap parameter) 4
  Major opcode: 54 (X_FreePixmap)
  Resource id:  0x4200018
X Error: BadShmSeg (invalid shared segment parameter) 128
  Extension:    129 (MIT-SHM)
  Minor opcode: 2 (X_ShmDetach)
  Resource id:  0x4200017
avkutyrev@System164:~$ kdesudo konsole
Xlib:  extension "XInputExtension" missing on display ":13.0".
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x0
kdesudo(18875) KDESu::KDESuPrivate::KCookie::getXCookie: No X authentication info set for display  ":13.0" 

X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x0
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x0
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
Xlib:  extension "XInputExtension" missing on display ":13.0".
avkutyrev@System164:~$ 

akutyrev ()
Ответ на: комментарий от truf

А можно по подробнее?
man не очень помог.
Вот что у меня выдают xhost и xauth локально

avkutyrev@System164:~$ sudo xhost 
access control enabled, only authorized clients can connect
SI:localuser:avkutyrev
avkutyrev@System164:~$ sudo xauth 
Using authority file /home/avkutyrev/.Xauthority

А вот что при подключении через xrdp

 avkutyrev@System164:~$ sudo xhost 
access control disabled, clients can connect from any host

avkutyrev@System164:~$ sudo xauth 
xauth:  timeout in locking authority file /home/avkutyrev/.Xauthority
тоже самое от рута

root@System164:~$ sudo xhost 
access control disabled, clients can connect from any host

root@System164:~$ sudo xauth 
xauth:  timeout in locking authority file /home/avkutyrev/.Xauthority

пробовал добавить

sudo xhost + si:localuser:root
не помогло :(
с xauth вообще не понял что надо вводить когда заходишь в него man и внутренний help крайне скудны на информацию.

akutyrev ()
Ответ на: комментарий от akutyrev

в общем так: xhost + разрешает подключаться всем хостам, выполняется на машине где запущены иксы (ssh client). Далее после ssh user@server -XY, в дело вступает xauth. Чтобы из под sudo окошки могли подключаться к твоему X серверу, нужно пробросить куки. Их список можно вывести командой xauth list. Задача состит в том чтобы добавить их в рутовский .Xauthority. В итоге должны выполнить что-то вроде:

client@user1 $ xauth +
client@user1 $ ssh user@server  -XY
server@user $ xauth list | xargs -n 3 sudo xauth add
server@user $ sudo program

поначалу может ругнуться на отсутствие .Xauthority у рута, достаточно создать пустой файл

truf ()
Ответ на: комментарий от truf

ничего не понял. Причем тут ssh? Я его не использую нигде. Подключаюсь к серверу по rdp. Запускаю konsole и от туда уже через sudo запускаю необходимые программы.
По поводу приведенного примера с кодом, не понял что и где надо выполнять.

akutyrev ()
Ответ на: комментарий от akutyrev

видимо меня смутило, что ты пытался всё через sudo запустить, ну да ладно. после kdesudo konsole в /tmp появляются файлы kdesudo-*-xauth? там как раз должны храниться куки. а что показывает kdesudo xauth list?

truf ()
Ответ на: комментарий от truf

в /tmp появляются файлы kdesudo-*-xauth?

avkutyrev@System164:~$ ls -al /tmp/ | grep xauth
avkutyrev@System164:~$ 

а что показывает kdesudo xauth list?

avkutyrev@System164:~$ kdesudo xauth list
Xlib:  extension "XInputExtension" missing on display ":11.0".
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x0
kdesudo(8875) KDESu::KDESuPrivate::KCookie::getXCookie: No X authentication info set for display  ":11.0" 

X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x0
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x0
xauth:  file /tmp/kdesudo-TT8875-xauth does not exist
akutyrev ()
Ответ на: комментарий от mos

Спасибо, но...

Спасибо за совет, но если я правильно понял, x2go требует собственный клиент по windows. Это не подходит. Нужен доступ через RDP.

akutyrev ()
Ответ на: комментарий от akutyrev

Ложная тревога... Все как не работало так и не работает... :(

akutyrev ()
Ответ на: комментарий от Elyas

как раз таки это изменит ситуацию, в отличие от плясок вокруг неподдерживаемого набора костылей.

anonymous ()
Ответ на: комментарий от aeX1pu2b

А чем вас ssh не устраивает, тем более konsole запускаете.

Не устраивает тем, что я удаленно запускаю графические приложения. И запускать их нужно от рута. Konsole я для примера запустил.

Вопрос по поводу x2go открыт - он требует установки клиентского ПО на компьютере откуда будет осуществляться подключение? Если да - то это не подходит, не всегда есть возможность установить доп ПО, а доступ иногда бывает из неожиданных мест.
Пробовал удалять ~/.Xauthority ничего не изменилось.
Очевидно, что проблема с достатком прав где-то, но где и как это пофиксить мне не понятно.

akutyrev ()
Ответ на: комментарий от Elyas

Не уверен что он у меня включен
В папке /etc/selinux/ нет файла config

avkutyrev@System164:~$ ls -a /etc/selinux/
.  ..  semanage.conf

В корне нет папки selinux - отключить его через /selinux/enforce тоже не могу

avkutyrev@System164:~$ sudo ls -a /selinux/
ls: невозможно получить доступ к /selinux/: Нет такого файла или каталога


avkutyrev@System164:~$ sudo ls -a / | grep s
lost+found
sbin
srv
sys
usr
Остается через grub, но есть подозрение что он у меня и так не включен и менять что-то в грабе просто так не хочется.

akutyrev ()
Ответ на: комментарий от akutyrev

Ничего не понимаю!!

Товарищи обнаружилась непонятная особенность. Дома есть ноут с Win7 HB, так вот при подключении с этого ноута sudo под vnc-session работает. При этом даже с самого «сервера» при подключении к саму же себе (127.0.0.1) sudo не работает, и при подключении с другого компьютера sudo не работает.
У кого какие соображения, почему так происходит? Как различные ОС могут влиять на привелегии запуска в удаленном терминале?
Для информации, ноутбук на котором sudo работает находится в одной локальной сети с сервером. Но если дело в сети, то почему не работает при подключении сервера к самому себе через 127.0.0.1??
Вывод дебага при запуске sudo с ноута

avkutyrev@System164:~$ sudo konsole
[sudo] password for avkutyrev: 
Error: "/var/tmp/kdecache-avkutyrevUGKYuS" is owned by uid 1000 instead of uid 0.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
Xlib:  extension "XInputExtension" missing on display ":12.0".
avkutyrev@System164:~$ 
при этом окно программы (konsole в данном примере) запускается нормально

akutyrev ()
Ответ на: Ничего не понимаю!! от akutyrev

УРА!!

Причина найдена. На клиентах где sudo не работало была выставлена глубина цвета 16 бит, изменил на 24 бита и под vnc-session sudo заработало.
Проблема осталась для x11rdp-session. «Игры» с глубиной цвета не помогают.

akutyrev ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.