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 ★☆
()

А, ну и на всякий случай, никакой браузер ты НЕ запускаешь.

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

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

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

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

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

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

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

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

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

Ну я ни разу не видел, чтобы графические приложения запускались через полкит. Даже представить не могу, где бы такое применялось.

gparted?

jfs
()
Ответ на: комментарий от 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 ★☆
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария