LINUX.ORG.RU
ФорумAdmin

Не запускается браузер через polkit

 


0

1

Здравствуйте.

Не могу победить запуск приложения через polkit.

Для теста попробовал запустить браузер через такой скрипт в /opt/test-run.sh

#!/usr/bin/env bash
xdg-open http://localhost:10000

В файле policy в папке /usr/share/polkit-1/actions написал

<defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/opt/test-run.sh</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>

запускаю этот скрипт от пользователя с административными правами /opt/test-run.sh - браузер открылся

запускаю скрипт как pkexec /opt/test-run.sh - браузер не открывается

Пытался pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/test-run.sh, но не запускается браузер.

Если от root пускаю скрипт /opt/test-run.sh, то браузер открывается.

Через pkaction проверка:

  implicit any:      auth_admin
  implicit inactive: auth_admin
  implicit active:   auth_admin
  annotation:        org.freedesktop.policykit.exec.path -> /opt/test-run.sh
  annotation:        org.freedesktop.policykit.exec.allow_gui -> true

В чем может быть причина, что через pkexec не идет запуск?

Заранее спасибо

Ответ на: комментарий от skilful

А зачем ты это делаешь?

В чем смысл того, что ты хочешь таким образом решить?

Запускать графические приложения из специально урезанных сред типа udev или полкит крайне сложно. Никто даже не предполагает такую возможность.

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

сейчас там duktape, специальный минимальный интерпретатор, как раз предназначенный для встраивания в подобный софт.

Чем это хуже eval заданных юзером команд в самописном декларативном конфиге - а чёрт его знает.

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

Запускать графические приложения из специально урезанных сред типа udev или полкит крайне сложно. Никто даже не предполагает такую возможность.

Чего? Polkit-агенты для этого и нужны, чтобы запускать графические приложения с повышенными правами, например Timeshift.

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

XML и jabascript каким-то образом пробрались в системные компоненты Линукса. Это хорошо, если тебе их не приходится трогать. А если приходится, то удовольствия мало.

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

Готов признать поражение.

Хороший пример. Они в /usr/bin/gparted намутили целую портянку на баше, чтобы запустить саму программу /usr/libexec/gpartedbin через pkexec.

Тем не менее это работает.

action=[Action id=‘org.gnome.gparted’ program=‘/usr/bin/gparted’ user.display=‘root (root)’ command_line=‘/usr/bin/gparted’ user=‘root’ polkit.gettext_domain=‘polkit-1’ user.gecos=‘root’

usermod
()