[Gelöst] Xfce Mousepad oder anderen Editor mit pkexec starten

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
geier22

[Gelöst] Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von geier22 » 26.11.2017 00:11:12

Durch die vielen Diskussionen über Sudo und Konsorten möchte ich dazu übergehen, die Paar Programme, die ich mit Root - Rechten ausführen will, über das PolicyKit mit Root- Rechten zu starten, um sudo zum Schluss zu ersetzen.

Hintergrund:
Wenn ich in einem Terminal einen Befehl mit Sudo starte, wird einmal das PW abgefragt. Hinterher kann im selben Terminal - Reiter weiter mit Sudo arbeiten, ohne dass ein PW abgefragt wird. Ein zweiter Reiter im selben Terminal fragt das PW erneut ab. Nach dem Schließen des Terminals muss das PW erneut eingegeben werden.

Das wäre an sich nicht so tragisch, da ich Sudo im Terminal nicht benutze. :mrgreen:

Problematisch wird es aber z.B. in Thunar
, wenn ich mit einer "Benutzerdefinierten Aktion" (gksu mousepad %N) eine Datei als Root bearbeiten will. Im Anschluss kann ich beliebig oft Dateien als Root bearbeiten. Da hilft auch nicht das Abwürgen des Prozesses samt Thunar-Daemon.
ich habe quasi für die Sitzung das andauernde Recht, aus Thunar heraus beliebig viele Dateien als Root ohne weitere PW- Abfrage zu bearbeiten.
Die ominösen 15 Min aus Ubuntu habe ich nicht gestoppt, ist auch in der /etc/sudoers nicht vorhanden.

Nicht gerade ein Sicherheits- Feature 8O

Mit dem PolicyKit lässt sich das aber Umgehen (hoffe ich)

In /usr/share/polkit-1/actions/ sind schon eine Menge Policies vorhanden, leider aber keine für Mousepad.

ich hab dann von http://forums.debian.net/viewtopic.php?f=16&t=73497 mir
die Vorlage für Mousepad herausgenommen und als /usr/share/polkit-1/actions/org.freedesktop.mousepad.policy gespeichert

Code: Alles auswählen

<?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-mousepad">
<description>Run Mousepad</description>
<message>Authentication is required to run Mousepad as Root</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/mousepad</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
</action>

</policyconfig>
Das Aufrufen von Mousepad funktioniert damit sowie auch der Aufruf

Code: Alles auswählen

pkexec mousepad /pfad zur datei
Aus Thunar heraus eine Datei als Root zu bearbeiten mit

Code: Alles auswählen

pkexec mousepad %N
Beschert mir aber ein leeres Mousepad (als Root)

Der Befehl in Thunar (Ordner als Root öffnen)

Code: Alles auswählen

pkexec thunar %f
Öffnet aber richtig den markierten Ordner.

Ich habe dann die
/usr/share/polkit-1/actions/org.freedesktop.mousepad.policy nach dem Vorbild von Thunar geändert:

Anscheinend ist es ziemlich egal , was da drin steht bis auf sehr wenige Zeilen (allow und action)
Bei beiden Policies kann ich kein unterschiedliches Verhalten feststellen.

Geänderte Datei:

Code: Alles auswählen

<?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.xfce.mousepad">
<description>Run Mousepad</description>
<message>Authentication is required to run Mousepad as Root</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/mousepad</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
</action>

</policyconfig>
Aber auch hier wird mir aus Thunar heraus nur ein leeres Fenster mit Mousepad als Root angezeigt.

Meine Frage (neben vielen anderen, was die Syntax betrifft) :

Was ist falsch an der Policy - oder dem benutzerdefiniertem Befehl - das ich aus Thunar heraus nur ein leeres Mousepad Fenster bekomme ?
Zuletzt geändert von geier22 am 26.11.2017 23:39:41, insgesamt 1-mal geändert.

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von Revod » 26.11.2017 01:02:17

So direkt über das leere Mousepad kann ich nicht beantworten, lediglich einen Umgang Hinweis geben.

- Ich kopiere, als Benutzer /usr/share/applications/xy1.desktop in $HOME/Extras/Bearbeitung/ > xy1.desktop
- Erst Danach mache ich meinen Editor als Benutzer auf.
- Stimmt alles in xy1.desktop Datei wird diese mit Debianxfe in das entsprechende System Ordner rein kopiert.

Warum:

1. ich bin nur sehr kurze Zeit mit einer Anwendung als root offen
2. Besonders nach dem Editieren will man auch testen, somit mülle ich das root Benutzer Ordner nicht noch mit versteckte Ordner und Dateien zu.
3. Wenn ich Mal " Mist " haben sollte, so passiert bei Test's mit Sicherheit nichts im System, weil ich bei Test's eben als " ~/Mein-Benutzer-Name " Ausführungen durchführe.
4 .. und noch den einen oder anderen Grund...

xfe, hat den eigenen Befehl um einen zweites xfe Fenster, als root zu öffnen.

Willst Du Trotzdem noch gewisse Anwendungen direkt als root ausführen würde ich diese, klassisch mit Terminal > su > Enter > Passwort > Enter > Anwendung Name > Enter ausführen.

Wegen der Sicherheit, root xfe lässt keine Anwendungen starten, dann verhält es sich wirklich nur als Dateimanager.

Zurück zum leeres Fenster, nur ins blaue geschossen, vielleicht erkennt das System noch nicht dass Mouspad als root ausgeführt wird.
Systemd und PulseAudio, hmmm, nein danke.

geier22

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von geier22 » 26.11.2017 02:28:43

Hier mal mitprotokolliert (journalctl -f)

Ausgeführt aus Thunar

Code: Alles auswählen

Nov 26 02:18:35 sparkyxfce polkitd(authority=local)[722]: Operator of unix-session:1 successfully authenticated as unix-user:hans to gain ONE-SHOT authorization for action org.xfce.mousepad for unix-process:13984:578668 [/bin/sh -c pkexec mousepad 'journal-vom-28-10-2017_01:53'] (owned by unix-user:hans)
Nov 26 02:18:35 sparkyxfce pkexec[13985]: pam_unix(polkit-1:session): session opened for user root by (uid=1000)
Nov 26 02:18:35 sparkyxfce pkexec[13985]: hans: Executing command [USER=root] [TTY=unknown] [CWD=/home/hans] [COMMAND=/usr/bin/mousepad journal-vom-28-10-2017_01:53]

Ausgeführt aus dem Konsole

Code: Alles auswählen

Nov 26 02:13:16 sparkyxfce polkitd(authority=local)[722]: Operator of unix-session:1 successfully authenticated as unix-user:hans to gain ONE-SHOT authorization for action org.xfce.mousepad for unix-process:5857:546293 [bash] (owned by unix-user:hans)
Nov 26 02:13:16 sparkyxfce pkexec[6009]: pam_unix(polkit-1:session): session opened for user root by (uid=1000)
Nov 26 02:13:16 sparkyxfce pkexec[6009]: hans: Executing command [USER=root] [TTY=/dev/pts/1] [CWD=/home/hans] [COMMAND=/usr/bin/mousepad /home/hans/journal-vom-28-10-2017_01:53]
Und dasselbe nochmal mit dem alten Befehl von Thunar aus (gksu mousepad ½N) - die Datei wird richtig geöffnet :

Code: Alles auswählen

Nov 26 02:32:37 sparkyxfce su[2636]: Successful su for root by hans
Nov 26 02:32:37 sparkyxfce su[2636]: + /dev/pts/1 hans:root
Nov 26 02:32:37 sparkyxfce su[2636]: pam_unix(su:session): session opened for user root by (uid=1000)
Nov 26 02:32:37 sparkyxfce su[2636]: pam_systemd(su:session): Cannot create session: Already running in a session
Nov 26 02:32:37 sparkyxfce gnome-keyring-daemon[1001]: asked to register item /org/freedesktop/secrets/collection/default/1, but it's already registered
Nov 26 02:32:45 sparkyxfce su[2636]: pam_unix(su:session): session closed for user root
Nov 26 02:32:45 sparkyxfce console-kit-daemon[28368]: console-kit-daemon[28368]: GLib-CRITICAL: Source ID 44 was not found when attempting to remove it
Nov 26 02:32:45 sparkyxfce console-kit-daemon[28368]: GLib-CRITICAL: Source ID 44 was not found when attempting to remove it

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von Revod » 26.11.2017 11:03:14

Als Test mit einen anderen Editor ( Kann auch möglich sein... )

Code: Alles auswählen

su
password
medit /home/geier22/test.txt
und

Code: Alles auswählen

su
password
medit /usr/share/test.txt
Systemd und PulseAudio, hmmm, nein danke.

geier22

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von geier22 » 26.11.2017 12:11:28

z.B.

Code: Alles auswählen

# geany /home/hans/journal-vom-28-10-2017_01:53
ergibt

Code: Alles auswählen

$ ps aux |grep geany
root      2617  1.2  0.2 396904 41960 pts/0    Sl+  11:55   0:01 geany /home/hans/journal-vom-28-10-2017_01:53
oder
mit Leafpad

Code: Alles auswählen

 ps aux |grep leafpad
root     10530  1.4  0.1 352140 27068 pts/0    Sl+  12:00   0:00 leafpad /home/hans/journal-vom-28-10-2017_01:53
oder mit gksu

Code: Alles auswählen

ps aux |grep leafpad
hans     14179  0.1  0.0 177304 14840 pts/2    SL+  12:02   0:00 gksu leafpad /home/hans/journal-vom-28-10-2017_01:53
root     14184  0.1  0.0 126744  6680 pts/3    Ss+  12:02   0:00 /bin/su root -c /usr/lib/libgksu/gksu-run-helper "leafpad '/home/hans/journal-vom-28-10-2017_01:53'"
root     14193  0.0  0.0  11996  1056 ?        Ss   12:02   0:00 /usr/lib/libgksu/gksu-run-helper leafpad '/home/hans/journal-vom-28-10-2017_01:53'
root     14198  0.0  0.0   4284   720 ?        S    12:02   0:00 sh -c leafpad '/home/hans/journal-vom-28-10-2017_01:53'
root     14199  1.1  0.1 197908 26356 ?        S    12:02   0:00 leafpad /home/hans/journal-vom-28-10-2017_01:53
oder eben mit pkexec (da existiert nur die policy für mousepad)

Code: Alles auswählen

$ pkexec mousepad /home/hans/journal-vom-28-10-2017_01:53
ergibt

Code: Alles auswählen

$ ps aux |grep mousepad
root     19272  1.0  0.1 426040 29104 pts/2    Sl+  12:05   0:00 /usr/bin/mousepad /home/hans/journal-vom-28-10-2017_01:53
hans     20144  0.0  0.0  14320   968 pts/0    S+   12:06   0:00 grep mousepad
Nur eben aus Thunar heraus funktioniert das nicht. Und genau da will ich es haben, weil so schön komfortabel :mrgreen: :mrgreen:

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von Revod » 26.11.2017 12:37:57

Also wenn Du unbedingt willst... :mrgreen:

In Debian Distris wird Debiangksu leider mit Sudo Abhängigkeit kompiliert ( Was ich davon halte weisst Du ).

Nun, wenn Du weisst wie zuerst Sudo deaktivieren, dann ist es einfach, zwangsläufig nur auf der Platte. Somit kannst Du Dir dann desktop Dateien editieren, mit dem Befehl,

Code: Alles auswählen

Exec=gksu programmname
Entsprechend bennen, mit passendes Icon und z. B. in

/usr/share/applications/neues-ordner-meinkomfort

rein machen

Danach in Thunar Deine xy Benutzer Aktionen definieren und gut sollte es sein.

Oder Du startest Thunar direkt mit dem " su ... " Befehl aus einen Terminal und damit navigieren. Ich kenne das neueste Thunar nicht, ob dieses einen Knopf " Thunar als root öffnen " so wie xfe hat. Ansonsten würde ich es auch mit gksu

" thunar-root.desktop "

ausführen lassen, oder

xfe benutzen mein beliebtes " Allzweckmesser " für bestimmte administrative Aktionen.

Nur als Testzweck Idee ( Weil gksu in PCLinuxOS nicht von Sudo abhängig ist ) kannst Du für Dich gksu ohne das Sudo versuchen zu kompilieren. Wie und welche Parameter gestellt werden sollen weiss ich leider auch nicht.

Und wenn das nächste Sudo Update folgt darfst Du natürlich Dein eigenes komiliertes und installiertes Paket nicht aktualisieren, was früher oder später zu Konflikte mit apt führen kann.

Oder Du kompilierst es und machst den klassischen Install " make install " Befehl um es an apt vorbei zu installieren.

Klar, vorgängig alles vom Sudo deinstallieren.

Letzteres wollte ich es selber Mal austesten, kam aber nie dazu.

Vielleicht sollte man am Paketmanager von gksu Mal schreiben, dass a) gksu ohne Sudo zu kompilieren möglich ist und b), dass Sudo unter " echte " Linux Distris User nicht sehr beliebt ist, wer weiss...

Debian könnte das Sudo Paket dann nur in den Repos behalten für die die es unbedingt wollen.
Systemd und PulseAudio, hmmm, nein danke.

Benutzeravatar
detix
Beiträge: 1702
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von detix » 26.11.2017 12:51:15

Da ich grundsätzlich tippfaul bin, hab ich mir 3 Dateien dafür angelegt (KDE):
1. ein Skript /usr/local/bin/pn_odus
2. eine Datei /usr/share/polkit-1/actions/pn_odus.policy
3. eine Datei /etc/polkit-1/localauthority/50-local.d/66-pn_odus.pkla
Inhalte der Dateien, ob richtig oder falsch? Es funktioniert:

1. pn_odus

Code: Alles auswählen

#!/bin/bash
PATH=$PATH:/usr/local/bin
# falls KDE Programme zB dolphin als root gestartet keine Icons zeigen:
export XDG_CURRENT_DESKTOP="KDE"
# falls KDE Programme als root gestartet nur ein leeres Fenster darstellen:
export QT_X11_NO_MITSHM=1
# Aufruf mit: pkexec pn_odus [Befehl [Parameter...]]
Befehl="su"
if [ -n "$1" ]; then cmd=$1; shift; Befehl="$cmd $@"; fi
$Befehl
exit 0
2. pn_odus.policy

Code: Alles auswählen

<?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="pn_odus">
    <message>Programmstarts als root ohne Authentifizierung durch /usr/local/bin/pn_odus ...</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>no</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/local/bin/pn_odus</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
  </action>
</policyconfig>
3. 66-pn_odus.pkla

Code: Alles auswählen

[nur user peter darf pkexec pn_odus ... ausführen]
Identity=unix-user:peter
Action=pn_odus
ResultAny=yes
ResultInactive=yes
ResultActive=yes
Damit kann ich (und nur ich!) sämtliche Programme als root einschließlich Parameterübergabe und ohne Passworteingabe starten.
Edith: kleine Korrektur aufgrund meiner bisherigen case -Entscheidungen im Skript gemacht!
Zuletzt geändert von detix am 26.11.2017 20:12:56, insgesamt 1-mal geändert.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von Huo » 26.11.2017 14:08:11

pkexec setzt – anders als gksu – nicht das aktuelle Arbeitsverzeichnis als Referenzverzeichnis sondern "/root". Deshalb muss in der benutzerdefinierten Aktion der Befehlsparameter %f (also nicht %N) für den vollen Pfad gewählt werden:

Code: Alles auswählen

pkexec mousepad %f

TomL

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von TomL » 26.11.2017 20:09:47

Hi

Diese Lösung funktioniert und Du kannst danach die GUI-Apps vom User-Terminal einfach mit "sudo" und damit mit root-Rechten starten. Voraussetzung: Das Paket sudo darf nicht installiert sein, sonst gibts path-Konflikte.

Code: Alles auswählen

nano /usr/share/polkit-1/actions/sudo.policy
chmod 644 /usr/share/polkit-1/actions/sudo.policy
chown root:root /usr/share/polkit-1/actions/sudo.policy

Code: Alles auswählen

<?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="LocalExtPerms.sudo">
    <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">/usr/local/bin/sudo</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
  </action>
</policyconfig>

Code: Alles auswählen

nano /usr/local/bin/sudo
chmod 755 /usr/local/bin/sudo
chown root:root /usr/local/bin/sudo

Code: Alles auswählen

#!/bin/bash

if [[ $EUID -eq 0 ]]; then
    PATH=/usr/local/sbin:/usr/local/bin:$PATH
    export PATH
    [[ ! -z "$@" ]] && $@ && exit $?
fi

exit 1
In die eigene .bashrc am Ende anfügen:

Code: Alles auswählen

alias sudo="pkexec /usr/local/bin/sudo"
Der Password-Keep ist im Polkit aber generell per defaut deaktiviert. Und ich empfehle, das auch nicht zu aktivieren. Man kann also im Terminal die folgenden Befehle eingeben und wird jedesmal zur Eingabe des root-PWD aufgefordert:

Code: Alles auswählen

sudo synaptic
sudo gparted
sudo nanao /etc/fstab
sudo crontab -e
Das Polkit ersetzt sowohl sudo als auch die unnützen Prothesen wie gksudo oder ksudo. BTW, die Policies sind zwar monitored, aber sicherer ist es, sich bei neuen Policies einmal neu anzumelden. Und wenn Du für gewisse Policies die Password-Abfrage abschalten willst, geht das UID oder GID-Bezogen über PKLA-Files. Das polkit ist total klasse.... ich kann überhaupt nicht verstehen, wie man überhaupt an sudo festhalten kann.

Ich selber nutze diesen sudo-Ersatz-Weg nicht, sondern habe explizite Policies für ausgewählte Anwendungen angelegt. Dann kann man das perfekt mit PKLA-Files steuern, wann wer ein PWD eingeben soll.

HTH

geier22

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von geier22 » 26.11.2017 23:20:57

Erstmal vielen Dank für die vielen Anregungen. Ich will noch mal erklären, worum es mir geht:

Ziel ist sudo zu eliminieren, wobei es mir nicht um den Befehl sudo geht den ich eh nicht nutze
(also bekomme ich auch keine Entzugs Erscheinungen :mrgreen: ) sondern um Debiangksu.

Ich brauche z.Z. gksu lediglich innerhalb Thunars.

Alle anderen Programme, die ich als Root aufrufen könnte, haben bereits von Hause aus
policies in /usr/share/polkit-1/actions/ sodass mein Bedarf an Programmen, die ich als Root
ausführen muss / will abgedeckt ist.

Nun zu den Dateimanagern Thunar und Nemo, die ich installiert habe:

Für Thunar und Nemo existieren standardmäßig in Xfce bereits
policies:
org.xfce.thunar.policy
und
org.nemo.root.policy

ich kann von Thunar aus jeden Ordner, den ich anwähle, als Root
per Rechtsklick mit Thunar oder Nemo öffnen
Befehl:
pkexec thunar %f
bzw.
pkexec nemo %f

Was nicht klappt: Eine angewählte Datei als Root mit einem Editor öffnen.

Zwar öffnet sich Mousepad als Root, aber leer.
Gerade habe ich eine Beobachtung gemacht:
Nachdem sich das leere Fenster (ohne Tabs) geöffnet hat, und ich über "zuletzt geöffnet" eine Datei auswähle,
erscheint ein zweiter Tab mit der ursprünglich angewählten Datei, der aber leer ist:
Bild
Befehl:

Code: Alles auswählen

pkexec mouspad %n (oder %N)
Ich habe mir für Mousepad eine Policy angelegt die inzwischen in der
dritten Version, so aussieht (org.xfce.mousepad.policy):

Code: Alles auswählen

 <?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>

<vendor>Mousepad</vendor>
<vendor_url>http://xfce.org/</vendor_url>
<icon_name>accessories-text-editor</icon_name>

<action id="org.xfce.mousepad">

<description>Run Mousepad as Root </description>
<description xml:lang="de">Datei als Root editieren</description>
<message>Authentication is required to run Mousepad as Root</message>
<message xml:lang="de">Legitimierung wird benötigt, um Mousepad als Systemverwalter zu starten.</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/mousepad</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
</action>

</policyconfig> 
Es geht mir einzig und allein darum, eine Datei in Thunar per Rechtsklick Ohne sudo - Verbiegungen
mit einem Editor als Root zu öffnen.

Da die Policies ziemlich resistent gegen irgendwelches Geschreibsel darin sind,
nehme ich an das der Befehl in Thunar

Code: Alles auswählen

pkexec mouspad %n (oder %N)
anders aussehen muss -- aber wie???
Der Befehl In der Konsole

Code: Alles auswählen

pkexec mousepad  Pfad zur Datei 
funktioniert ja, genauso wie der Befehl innerhalb Thunars mit gksu


Wenn das geschafft ist,kann ich sudu und alles was da noch dranhängt zu Grabe tragen 8) 8)

Huo
Beiträge: 614
Registriert: 26.11.2017 14:03:31
Wohnort: Freiburg

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von Huo » 26.11.2017 23:36:09

geier22 hat geschrieben: ↑ zum Beitrag ↑
26.11.2017 23:20:57
Da die Policies ziemlich resistent gegen irgendwelches Geschreibsel darin sind,
nehme ich an das der Befehl in Thunar

Code: Alles auswählen

pkexec mouspad %n (oder %N)
anders aussehen muss -- aber wie???
Wie ich schon oben geschrieben habe, muss der Befehl in Thunar so aussehen:

Code: Alles auswählen

pkexec mousepad %f
Nur der Befehlsparameter %f übergibt den vollständigen Pfad (pkexec braucht den – anders als gksu).
Zuletzt geändert von Huo am 26.11.2017 23:40:09, insgesamt 1-mal geändert.

geier22

Re: Xfce Mousepad oder anderen Editor mit pkexec starten

Beitrag von geier22 » 26.11.2017 23:38:10

Huo hat geschrieben: ↑ zum Beitrag ↑
26.11.2017 14:08:11
pkexec setzt – anders als gksu – nicht das aktuelle Arbeitsverzeichnis als Referenzverzeichnis sondern "/root". Deshalb muss in der benutzerdefinierten Aktion der Befehlsparameter %f (also nicht %N) für den vollen Pfad gewählt werden:

Code: Alles auswählen

pkexec mousepad %f
Du bist der Größte! :THX: :THX: :hail: :hail:
ich hatte den Beitrag erst nicht so ernst genommen, da ich dachte du hättest mich missverstanden.
Aber das war genau die Lösung

Danke nochmal allen :THX:
und eine feierliche Beerdigung für SUDO

Edit.
Gleich die Einlösung des Versprechens dokumentiert: :mrgreen: :mrgreen:

Code: Alles auswählen

root@sparkyxfce:/home/hans# apt purge sudo gksu
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  gdebi-core gir1.2-javascriptcoregtk-3.0 gir1.2-webkit-3.0 libgksu2-0 libgtop-2.0-11 libgtop2-common nvidia-detect sparky-apt
  sparky-grub-theme sparky-keyring sparky-plymouth
Verwenden Sie »apt autoremove«, um sie zu entfernen.
Die folgenden Pakete werden ENTFERNT:
  ddm* gdebi* gksu* sparky-aptus-extra* sparky-core* sparky-core-x86* sparky-live-usb-creator* sparky-locales* sparky-passwdchange*
  sparky-remsu* sparky-timedateset* sparky-usb-formatter* sparky-users* sparky-webbrowser-installer* sudo*
0 aktualisiert, 0 neu installiert, 15 zu entfernen und 5 nicht aktualisiert.
Nach dieser Operation werden 5.699 kB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] j
(Lese Datenbank ... 218904 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von ddm (2.4.1) ...
Entfernen von gdebi (0.9.5.7+nmu1) ...
Entfernen von sparky-webbrowser-installer (20171105) ...
Entfernen von sparky-users (0.1.10) ...
Entfernen von sparky-aptus-extra (0.1.47) ...
Entfernen von sparky-core (5~20171101) ...
Entfernen von sparky-core-x86 (5~20171101) ...
Entfernen von sparky-live-usb-creator (0.1.12) ...
Entfernen von sparky-locales (0.1.3) ...
Entfernen von sparky-passwdchange (0.1.8) ...
Entfernen von sparky-timedateset (0.1.2) ...
Entfernen von sparky-usb-formatter (0.1.10) ...
Entfernen von sparky-remsu (0.1.6) ...
Entfernen von gksu (2.0.2-9+b1) ...
Entfernen von sudo (1.8.21p2-2) ...
Trigger für mime-support (3.60) werden verarbeitet ...
Trigger für desktop-file-utils (0.23-2) werden verarbeitet ...
Trigger für menu (2.1.47+b1) werden verarbeitet ...
Trigger für man-db (2.7.6.1-2) werden verarbeitet ...
Trigger für gnome-menus (3.13.3-9) werden verarbeitet ...
Trigger für hicolor-icon-theme (0.17-1) werden verarbeitet ...
(Lese Datenbank ... 218500 Dateien und Verzeichnisse sind derzeit installiert.)
Löschen der Konfigurationsdateien von sparky-passwdchange (0.1.8) ...
Löschen der Konfigurationsdateien von sudo (1.8.21p2-2) ...
dpkg: Warnung: Während Entfernens von sudo ist Verzeichnis »/etc/sudoers.d« nicht leer, wird daher nicht gelöscht
Löschen der Konfigurationsdateien von gksu (2.0.2-9+b1) ...
Löschen der Konfigurationsdateien von sparky-live-usb-creator (0.1.12) ...
Löschen der Konfigurationsdateien von sparky-aptus-extra (0.1.47) ...
Löschen der Konfigurationsdateien von sparky-users (0.1.10) ...
Löschen der Konfigurationsdateien von sparky-locales (0.1.3) ...
Löschen der Konfigurationsdateien von sparky-webbrowser-installer (20171105) ...
Löschen der Konfigurationsdateien von sparky-usb-formatter (0.1.10) ...
Trigger für menu (2.1.47+b1) werden verarbeitet ...
Trigger für systemd (235-3) werden verarbeitet ...

Antworten