pkexec για σωστή χρήση root GUI

Πρόσφατα χρειάστηκε να τρέξω μια γραφική εφαρμογή ως root και βρέθηκα μπροστά σε ένα ερώτημα. Πως;

Αν και δεν συνίσταται να τρέχουμε γραφικές εφαμογές ως root, μερικές φορές αυτό το απαιτεί η ίδια η εφαρμογή. πχ. gparted.
Ο τρόπος με τον οποίο παλιότερα, αν θυμάμαι καλά μέχρι και τη 16.04 αν και δεν έχει σημασία, τρέχαμε τέτοιες εφαρμογές ήταν μέσω της εντολής gksu η οποία διαχειριζόταν τις μεταβλητές περιβάλλοντος με τέτοιο τρόπο ώστε να μη δημιουργηθεί κάποιο πρόβλημα στην εφαρμογή.
Γενικά αποφεύγουμε να τρέχουμε γραφικές εφαρμογές ως root και αν αυτό πρέπει να γίνει, ας γίνει με το σωστό τρόπο.

Ο σωστός τρόπος δεν είναι

sudo εφαρμογή

Ακόμη και η

sudo -H εφαρμογή

κάποιες φορές δε λειτουργεί σωστά.

Η gksu έχει αντικατασταθεί πλέον από την pkexec. Ωστόσο τρέχοντας

pkexec εφαρμογή

βρίσκομαι αντιμέτωπος με ένα μήνυμα λάθους. Ανοίγει ναι μεν το παράθυρο για να εισάγω τον κωδικό, αλλά η εφαρμογή δεν τρέχει.

DISPLAY is not set, unable to open the VMware Workstation user interface.

Ναι, στη δική μου περίπτωση ήταν το VMware γιατί ήθελα να αλλάξω κάποιες ρυθμίσεις στη μνήμη και αυτές μπορείς να τις πειράξεις μόνο αν τρέχεις το VMware ως Administrator, όπως χαρακτηριστικά αναφέρει.

Λύση

Ένα alias, έτσι για να θυμηθούμε και τα παλιά, στο ~/.bashrc έδωσε τη λύση.

alias gksu='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY'

Άλλωστε, είναι η συμπεριφορά της pkexec τέτοια. Το γράφουν οι άνθρωποι, αλλά ποιος τα διαβάζει αυτά.

man pkexec

[...] pkexec will not allow you to run X11 applications
       as another user since the $DISPLAY and $XAUTHORITY environment
       variables are not set.[...]
Advertisement

2 σκέψεις σχετικά με το “pkexec για σωστή χρήση root GUI

  1. Στο δικό μου Η/Υ (που «τρέχω» ακόμα την oldstable έκδοση του Devuan), χρησιμοποιώ το kdesu.
    Σε πιο «φρέσκα» συστήματα, (που το kdesu ή το gksu, δε δουλεύουν πια), είτε χρησιμοποιώ το αντίστοιχο του LXQt (το lxsu), σα μια εύκολη γρήγορη λύση, είτε (αν έχω χρόνο και διάθεση, για περαιτέρω), εγκαθιστώ το βασικό πακέτο της Trinity Desktop και χρησιμοποιώ το δικό της kdesu.

    Το αναφέρω, απλά σα μια εναλλακτική προσέγγιση, επί του θέματος.
    Γ.

    1. ΔΙΟΡΘΩΣΗ:
      Το σχετικό utilitάκι της Trinity, είναι το tdesu.
      (Και όχι το kdesu, που εσφαλμένως ανέφερα).
      SORRY για την αφηρημάδα μου!!! 🙂
      Γ.

Συμβάλετε κι εσείς με ένα σχόλιο

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s

Ο ιστότοπος χρησιμοποιεί το Akismet για την εξάλειψη των ανεπιθύμητων σχολίων. Μάθετε πως επεξεργάζονται τα δεδομένα των σχολίων σας.