не стартуют программы через pkexec

Доброго времени суток, столкнулся с проблемой при старте gparted... посмотрел с пусковике как он пытается запустится, а именно:

pkexec /usr/sbin/gparted %f

всё вроде бы как замечательно, вылетает логинилка под стиль Gnome 3, вводится пароль после чего gparted вот вот должен запуститься, но ничего не происходит... консольный выхлоп на эту команду выдаёт следующее:

(gpartedbin:23083): Gtk-WARNING **: cannot open display:

игрался с полкитовскими значениями, как при запуске от рута, так и от пользователя тот же результат... запуск чего либо через pkexec валится...
из под gksu и sudo всё запускается...
помогите разобраться в чем проблема, давно хочу избавиться от gksu а стартовать с превилигироваными правами гуи частенько приходится..

Необходимо создать файл

Необходимо создать файл /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy следующего содержания:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>

  <action id="org.freedesktop.policykit.pkexec.run-gparted">
    <description>Run GParted</description>
    <message>Authentication is required to run GParted</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gparted</annot$
    <annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
  </action>

</policyconfig>

После этого GParted будет запускаться через pkexec без проблем (только что проверил).

сотворил шаманский обряд как

сотворил шаманский обряд как Вы сказали... не помогло, всё также валится, всё тоже сообщение в консоли... проблема не только с GParted, пытался начать запускать остальные рутированые приложения вместо gksu, прописанного в десктопнике по дефолту, через pkexec - безрезультатно... куда копать тогда?

профиль, ребилд, упдейт

флаги на предмет конфликта с профильными,профиль, ребилд, упдейт @world
юз полкит нигде не замаскан ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

да вроде как всё

да вроде как всё нормально:

eselect profile list
Пароль: 
Available profile symlink targets:
  [1]   default/linux/x86/10.0
  [2]   default/linux/x86/10.0/selinux
  [3]   default/linux/x86/10.0/desktop
  [4]   default/linux/x86/10.0/desktop/gnome *
  [5]   default/linux/x86/10.0/desktop/kde
  [6]   default/linux/x86/10.0/developer
  [7]   default/linux/x86/10.0/server
  [8]   hardened/linux/x86
  [9]   hardened/linux/x86/selinux
  [10]  hardened/linux/uclibc/x86

/etc/make.conf

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
ACCEPT_KEYWORDS="~x86"
CHOST="i686-pc-linux-gnu"
MAKEOPTS="-j2"
#GENTOO_MIRRORS="http://portage.org.ua/"
USE="-fortran -fam gtk gtk3 gtkstyle gnome -debug mmx sse sse2 acpi apm dbus -qt4 -kde udev icu threads pulseaudio networkmanager bash-completion"
INPUT_DEVICES="evdev keyboard mouse"
VIDEO_CARDS="nvidia nouveau"
LINGUAS="ru"

PORTDIR_OVERLAY="/usr/local/portage"

source /var/lib/layman/make.conf

GENTOO_MIRRORS="http://gentoo.mirrors.tera-byte.com/"

/etc/portage/package.use

app-portage/layman subversion git
app-text/evince djvu
#required by media-video/vlc-1.1.12, required by vlc (argument)
>=sys-libs/zlib-1.2.5.1-r2 minizip
#required by dev-python/tagpy-0.94.8, required by media-sound/sonata-1.6.2.1[taglib], required by @selected, required by @world (argument)
>=dev-libs/boost-1.47.0-r1 python
media-sound/sonata -trayicon lyrics
media-sound/audacity ffmpeg id3tag libsamplerate
media-plugins/audacious-plugins cue ffmpeg lame libsamplerate midi scrobbler wavpack
media-sound/mpd cdio lame lastfmradio mpg123 twolame wavpack
media-sound/shntool alac mac wavpack
media-sound/flacon mac tta wavpack
media-sound/cue2tracks flake mac wavpack
media-sound/puddletag cover musicbrainz
media-gfx/gimp jpeg2k xpm
media-video/vlc qt4
media-video/mplayer vdpau
media-video/mplayer2 vdpau
media-video/ffmpeg vdpau
www-plugins/adobe-flash vdpau
app-cdr/brasero playlist -libburn
app-cdr/furiusisomount brasero
app-admin/conky audacious hddtemp mpd
sys-apps/lm_sensors sensord
gnome-base/gnome-control-center -cheese
sys-block/gparted fat jfs ntfs reiser4 reiserfs btrfs
app-text/hunspell linguas_en linguas_uk
games-fps/quake3 voice
games-fps/doom3 roe
#required by sys-fs/udev-171-r3[hwdb], required by x11-base/xorg-server-1.11.2-r2[udev], required by @selected, required by @world (argument)
>=sys-apps/pciutils-3.1.8 -zlib
app-emulation/virtualbox extensions qt4 -sdk
dev-lang/ruby -rdoc
app-arch/p7zip rar -wxwidgets
app-text/enchant aspell
app-text/goldendict linguas_ru_RU linguas_uk_UA
dev-java/swt webkit
net-ftp/proftpd -ssl linguas_ru_RU
#required by media-libs/mesa-8.1_rc1_pre20120724[xorg], required by x11-libs/cairo-1.12.2-r2[opengl], required by dev-python/pycairo-1.10.0-r2, required by dev-python/pygtk-2.24.0-r2, required by net-analyzer/nmap-6.01[gtk], required by @selected, required by @world (argument)
>=x11-libs/libdrm-2.4.37 libkms
media-libs/mesa g3dvl xa xvmc
#required by sys-devel/prelink-20120628, required by app-emulation/wine-1.5.11[-hardened], required by @selected, required by @world (argument)
>=dev-libs/elfutils-0.154-r1 static-libs
#required by media-video/nvidia-settings-290.10, required by =media-video/nvidia-settings-290* (argument)
=x11-drivers/nvidia-drivers-290.10 -gtk
#required by gnome-base/gnome-shell-3.6.2-r1[i18n], required by gnome-extra/gnome-shell-extensions-3.6.2, required by @selected, required by @world (argument)
>=app-i18n/ibus-1.4.99.20121006 dconf

установлены все последние пакеты, версия гнома 3.6(проблема с гпартедом началась под конец существования гнома 3.4, после чего сложно сказать, знал бы - не спрашивал, а помогал бы сам с этими вопросами другим), ревдеб-ребилд молчит(матерится только на пиджин и не хочет его пересобирать эта проблема я так понял сейчас у всех с новым гноме), на счет замаскеного юза полкита затрудняюсь ответить, покрайней мере вручную как Вы могли увидеть я его нигде не банил... если Вы знаете где именно он должен быть включен - скажите посмотрю, но думаю проблема не в этом... в консоле он хоть и варнингом, но говорит что не может открыть окно... может не хватает какихнить инвироментов или я уж не знаю чего... мне сложно рассуждать, так как я не особо шарю в принципе работы и недрах полкита и всего что с ним связано, курить все его маны думаю бессмысленно так как вроде как всё работает но криво, причем это не локальная проблема вроде как... на трёх разных машинах одни и теже симптомы... и если честно приятно удивлен что у кого то это все таки работает, думал это глобальная очередная неразрешимая бага

к примеру при попытке запустить с консоли рутовский терминал через pkexec вместо дефолтово прописанного gksu, пишет следующее:

pkexec /usr/bin/gnome-terminal
No protocol specified

** (gnome-terminal:4069): WARNING **: Could not open X display
Не удалось  определить аргументы: Не удалось открыть дисплей:

и ещё вопрос...
org.freedesktop.policykit.exec.path
org.freedesktop.policykit.exec.allow_gui
должны быть также файлами и валятся в /usr/share/polkit-1/actions или ещё где?
если да, то у меня их там нет...

Цитата:и ещё

Цитата:
и ещё вопрос...
org.freedesktop.policykit.exec.path
org.freedesktop.policykit.exec.allow_gui
должны быть также файлами и валятся в /usr/share/polkit-1/actions или ещё где?
если да, то у меня их там нет...

Нет, это просто параметры.

У меня с копиастой из терминала глюк вылез: вместо

<annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gparted</annot$

должно быть

<annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gparted</annotate>

Kemaweyan

Kemaweyan написал(а):
Цитата:
и ещё вопрос...
org.freedesktop.policykit.exec.path
org.freedesktop.policykit.exec.allow_gui
должны быть также файлами и валятся в /usr/share/polkit-1/actions или ещё где?
если да, то у меня их там нет...

Нет, это просто параметры.

У меня с копиастой из терминала глюк вылез: вместо

<annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gparted</annot$

должно быть

<annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gparted</annotate>

да Вы правы, теперь Гпартед заработал, я обратил был внимание на annot$, но подумал что так задумано, хотя можно было конечно включить моск и всётаки переписать согласно правилам синтаксиса)

проблема с гпартедом началась

проблема с гпартедом началась под конец существования гнома 3.4, после чего сложно сказать, знал бы - не спраш
ACCEPT_KEYWORDS="~x86"

Девиз пионеров помнишь ? :) Будь готов - всегда готов https://bugs.gentoo.org/show_bug.cgi?id=439892

P.S не в тему, но набор флагов того, избыточен - там все в кучу; посиди, подумаий над ними пол часа с euse -i USE

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga

slepnoga написал(а):
проблема с гпартедом началась под конец существования гнома 3.4, после чего сложно сказать, знал бы - не спраш
ACCEPT_KEYWORDS="~x86"

Девиз пионеров помнишь ? :) Будь готов - всегда готов https://bugs.gentoo.org/show_bug.cgi?id=439892

P.S не в тему, но набор флагов того, избыточен - там все в кучу; посиди, подумаий над ними пол часа с euse -i USE

c флагами вроде как всё нормально, буквально недели две назад перебирал пекеджюз, ничего лишнего... в мейке вроде как тоже как из песни... и выкинуть ничего... и я не вижу ничего предвзятого в использовании ~x86, в некоторых случаях по стабильней будет чем x86, да и отгребов вообще из-за этого давно уже не было, а если и будут пекеджмаск никто не отменял) эту ситуацию я не приписываю к ~x86, а к экспериментам гномушников и ко =)

вопрос общего тогда

вопрос общего тогда характера... я так понял что в /usr/share/polkit-1/actions хранятся правила для запуска чего либо... цель перевести два пакета(рутированую консоль и рутированый zenmap) а также перефичить скриптик openasroot(содержание ниже) на pkexec.

#!/bin/bash

#Open nautilus as root in your home directory
##########################################################################
#                 Nautilus "OpenAsRoot" Script                #
##########################################################################
#----language setting-------------------------------------#

for uri in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
gksu gnome-open $uri &
done

мне придется писать такие же правила для каждого из пакетов и скрипта, или как? и ещё, если есть идеи как переписать скрипт - буду крайне признателен, в лоб решить не получилось, но по идее както так наверно:

pkexec nautilus $NAUTILUS_SCRIPT_CURRENT_URI

я вспомнил почему я не

я вспомнил почему я не использовал nautilus $NAUTILUS_SCRIPT_CURRENT_URI ранее... это открывает только рутированость наутилуса, если я открываю просто файл то этим скриптом я вызову рутированый наутилус с локацией этого файла... скрипт представленный выше более универсальный, но переинтерпритировать его под pkexec никак не выходит... пока что всё работает с через:

/usr/share/polkit-1/actions/org.freedesktop.nautilus.pkexec.policy

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>

  <action id="org.freedesktop.nautilus.pkexec.run-nautilus">
    <description>Run Nautilus</description>
    <message>Authentication is required to run Nautilus</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>auth_admin_keep</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/nautilus</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
  </action>

</policyconfig>

и ~/.local/share/nautilus/scripts/OpenAsRoot

#!/bin/bash

#Open nautilus as root in your home directory
##########################################################################
#                 Nautilus "OpenAsRoot" Script                #
##########################################################################
#----language setting-------------------------------------#

pkexec nautilus $NAUTILUS_SCRIPT_CURRENT_URI

готов выслушать более умные идеи чем эта писанина для скрипта и как отказаться от gksu в остальных требующих его гуи софтах

P.S. в личку посыпались вопросы насчет скрипта... для тех кто в танке, и до сих пор не понял что за скрипт и для чего вообще нужен... в наутилусе выпиляли лет эдак 100-120 назад открыть файл/папку от рута из контекстного меню менеджера, я считаю это полезной фичёй и поэтому пользую этим в качестве башевского скрипта, который написан под gksu а переделать нужно под pkexe

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".