[Risolto] [sudo] Impostare ambiente grafico e lingua per applicazioni eseguite come super user

Installazione, configurazione e uso di programmi e strumenti.
Scrivi risposta
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

[Risolto] [sudo] Impostare ambiente grafico e lingua per applicazioni eseguite come super user

Messaggio da rai »

Bentrovatə :ciao:

Su kubuntu non riesco ad impostare lingua e tema per le applicazioni grafiche del super user (ogni tanto mi scapperà di chiamarlo root)
Non so se i DE basati su GTK siano esenti da questa "problematica" per questo posto in sezione Applicazioni.
Il mio obbiettivo è di avere le stesse impostazioni grafiche e la stessa lingua del mio utente per finestre, notifiche etc di applicazioni che devo eseguire con sudo. Non è necessario che mi sconsigliate l'uso di applicazioni grafiche da super user. Ho i capelli grigi, nel senso che sono un utente relativamente avvertito e consapevole dei rischi connessi. Si tratta di app scritte da me che per avere i privilegi richiesti devono girare come uno specifico gruppo oppure proprio come root (per esempio per andare a leggere una password non accessibile diversamente, oppure per fare il backup).

Ho provato a linkare in /root le cartelle rilevanti della mia home:

Codice: Seleziona tutto

sudo -i
mv .local .local.old
mv .config .config.old
mv .kde .kde.old
ln -s /home/$(logname)/.local /root/
ln -s /home/$(logname)/.config /root/
ln -s /home/$(logname)/.kde /root/
Ma nessun risultato sulla grafica delle finestre di root

Ho provato in diversi modi ad usare da super utente l'applicazione grafica Impostazioni di sistema

Codice: Seleziona tutto

$ /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu systemsettings5
org.kde.kdesu: Daemon not safe (not sgid), not using it.

$ 
Impostazioni di sistema si apre, scelgo il tema voluto, premo il pulsante [Applica] ma non ci sono effetti visibili.
Stesso comportamento e risultato usando sudo -H oppure sudo -i nvece di kdesu

Invece

Codice: Seleziona tutto

$ sudo su -
# systemsettings5
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland-org.kde.kwin.qpa, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Annullato (core dump creato)
# 
#
#
# /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu systemsettings5
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland-org.kde.kwin.qpa, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Annullato
#
in questi modi la GUI non si apre per niente

# ----------------

Per quanto riguarda la localizzazione italiana loggato come super user ho questo:

Codice: Seleziona tutto

# locale
LANG=it_IT.UTF-8
LANGUAGE=it_IT.UTF-8
LC_CTYPE="it_IT.UTF-8"
LC_NUMERIC="it_IT.UTF-8"
LC_TIME="it_IT.UTF-8"
LC_COLLATE="it_IT.UTF-8"
LC_MONETARY="it_IT.UTF-8"
LC_MESSAGES="it_IT.UTF-8"
LC_PAPER="it_IT.UTF-8"
LC_NAME="it_IT.UTF-8"
LC_ADDRESS="it_IT.UTF-8"
LC_TELEPHONE="it_IT.UTF-8"
LC_MEASUREMENT="it_IT.UTF-8"
LC_IDENTIFICATION="it_IT.UTF-8"
LC_ALL=it_IT.UTF-8
Quindi sembra tutto a posto e però la lingua default nelle gui aperte con sudo resta l'Inglese
Confrontate gli screenshot allegati
Senza sudo
Senza sudo
Con sudo
Con sudo
Grazie per l'attenzione
Ultima modifica di rai il martedì 30 novembre 2021, 13:01, modificato 1 volta in totale.
caturen
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 17948
Iscrizione: giovedì 8 aprile 2010, 18:41
Desktop: diversi
Distribuzione: debian

Re: Impostare ambiente grafico e lingua per applicazioni eseguite con sudo

Messaggio da caturen »

rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Impostare ambiente grafico e lingua per applicazioni eseguite con sudo

Messaggio da rai »

Grazie per l'intervento. Ho fatto come nel tuo link sudo cp -r /etc/skel/ /root ma non è cambiato niente anche dopo un riavvio. D'altronde non so come avrebbe potuto funzionare dato che tutti i file e cartelle che ho copiato in /root con quel comando erano già presenti prima (comunque ora ho ripristinato quelli originali)
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2872
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: Impostare ambiente grafico e lingua per applicazioni eseguite con sudo

Messaggio da DoctorStrange »

A giudicare dal messaggio di errore che ti da qui:

Codice: Seleziona tutto

org.kde.kdesu: Daemon not safe (not sgid), not using it.
Sembra che l'utenza che stai usando in questo momento non abbia privilegi a sufficienza. Non mi è chiaro, in tutto il discorso che hai fatto quale utenza vorresti usare per avviare la tua applicazione grafica con utenza notevole ma, a giudicare dall'errore che ti ho riproposto, questa utenza sembra non avere il bit "set group id" = SETGID.

Visto che dici che sei consapevole dei rischi di queste attività, e che l'applicazione l'hai sviluppata tu stesso (complimenti !! :) ) allora, puoi provare a settare il bit setgid alla directory che ti interessa, per l'utenza che stai usando, e vedere se ottieni qualche miglioramento.
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Impostare ambiente grafico e lingua per applicazioni eseguite con sudo

Messaggio da rai »

DoctorStrange ha scritto:
sabato 27 novembre 2021, 12:32
A giudicare dal messaggio di errore che ti da qui:

Codice: Seleziona tutto

org.kde.kdesu: Daemon not safe (not sgid), not using it.
Sembra che l'utenza che stai usando in questo momento non abbia privilegi a sufficienza.
...
allora, puoi provare a settare il bit setgid alla directory che ti interessa, per l'utenza che stai usando, e vedere se ottieni qualche miglioramento.
Ciao, grazie per l'interessamento.
Se leggi bene, il warning riguardante kdesu é uscito quando ho eseguito il comando systemsettings5 che é un'applicazione di sistema non la mia.
Spoiler
Mostra
E comunque, credo che ciò a cui manca il bit sgid sia il file eseguibile del demone kdesud che quindi non è stato usato per memorizzare la password per le eventuali successive chiamate. Infatti il comando ha correttamente aperto da super user le impostazioni di sistema.
Insomma credo che questa non sia la strada giusta.

Non mi è chiaro, in tutto il discorso che hai fatto quale utenza vorresti usare per avviare la tua applicazione grafica con utenza notevole
Ti faccio l'esempio reale di una applicazione ABCapp che deve avere accesso a un server SMTP e, per non tenere le credenziali facilmente leggibili, le tengo in chiaro ma in un file leggibile solo da root e da un gruppo XYZgroup che esiste solo a tale scopo.
La app ABCapp ha user:group $USER:$USER ma può leggere le credenziali che le servono se la eseguo così:

Codice: Seleziona tutto

sudo -g XYZgroup ABCapp
Dunque in questo caso la app, anche se con un gruppo differente, viene eseguita col mio utente. Non capisco cosa bisogna fare con il comando sudo per modificare le restrizioni che crea all'ambiente in cui esegue i comandi.
Ecco perché cerco di uniformare l'ambiente grafico di root e del mio utente.
Ecco qua :lol: magari ora esce qualcuno che mi insegna a usare sudo e si svela che si trattava di un problema XY
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Impostare ambiente grafico e lingua per applicazioni eseguite con sudo

Messaggio da rai »

Evidentemente è proprio una questione che riguarda l'ambiente ristretto con cui sudo esegue il comando richiesto.
Infatti questo problema non esiste proprio quelle rare volte che apro "dolphin as root" usando pkexec

Quindi sto studiando come modificare /etc/sudoers per consentire le variabili di ambiente necessarie https://stackoverflow.com/questions/8633461
Poi resta da capire quali sono queste variabili da mettere come eccezione. Benvenuti suggerimenti :)
Avatar utente
wilecoyote
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 15387
Iscrizione: giovedì 20 agosto 2009, 16:21
Desktop: Kubuntu et alii
Distribuzione: 9.04 32bit 14/18/20/22.04 LTS 64bit
Sesso: Maschile
Località: Ceranesi - Ge

Re: Impostare ambiente grafico e lingua per applicazioni eseguite con sudo

Messaggio da wilecoyote »

) Salve, in Kubuntu, e KDE 5 in generale, l'agire come superutente per via grafica è interdetto.

Puoi provare da terminale ad avviare le impostazioni di sistema pel superutente col comando:

Codice: Seleziona tutto

sudo -H systemsettings5 
Occhio che è come ballare una pizzica in una vetreria.

Oppure puoi usare il file manager a doppio pannello Krusader, avviabile come superutente, per copiare le impostazioni dell'utente rai, o quello che usi, nella directory root.

Anche qui stai attento, l'allocazione dev'essere speculare come path, quindi /home/rai/.kde = /root/root/.kde, /home/rai/.bimbumbam = /root/root/.bimbumbam, ecc.

Poi per modificare i contenuti puoi usare Kate o Kwrite, che al salvataggio diranno che non possono farlo, digli d'insistere e chiederanno la password, datagliela salveranno il tutto.

:: Ciao

P.S. segnalo per spostamento in sezione Kubuntu.
ACER Extensa 5230E 2,2 Ghz cpu Celeron 900 hdd 160 GB Ram 1 GB scheda video Intel GM500
ACER Extensa 5635Z 2,2 Ghz cpu Celeron T3100 hdd 320 GB Ram 4 GB scheda video Intel Mobile 4
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Avatar utente
giulux
Amministratore
Amministratore
Messaggi: 25426
Iscrizione: domenica 10 gennaio 2010, 12:17
Desktop: ubuntu 18.04
Distribuzione: Ubuntu 18.04.3 LTS x86_64
Sesso: Maschile
Località: Roma

Re: Impostare ambiente grafico e lingua per applicazioni eseguite con sudo

Messaggio da giulux »

Spostato in KDE
"Non è una segno di buona salute l'essere ben adattato ad una società malata". (Jiddu Krishnarmurti)
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Impostare ambiente grafico e lingua per applicazioni eseguite con sudo

Messaggio da rai »

rai ha scritto:Evidentemente è proprio una questione che riguarda l'ambiente ristretto con cui sudo esegue il comando richiesto. Infatti questo problema non esiste proprio quelle rare volte che apro "dolphin as root" usando pkexec
ci avevo preso: la soluzione è proprio fare in modo che sudo esegua il comando richiesto preservando le variabili d'ambiente dell'utente.

Ottenerlo è talmente facile che è un po' imbarazzante averlo scoperto solo ora: basta usare l'opzione di sudo --preserve-env
-E, --preserve-env
Indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the user does not have permission to
preserve the environment.

Quindi tutti i rischiosi magheggi per modificare le impostazioni di /root non servono a niente: con

Codice: Seleziona tutto

sudo -E [altre opzioni facoltative di sudo] <COMANDO>
il comando <COMANDO> viene eseguito nella lingua dell'utente e con le di lui impostazioni grafiche.

Notare che se il problema si risolve usando l'applicazione sudo come da manuale, vuol dire che non dipende da KDE ma è DE-agnostico, per cui segnalo ai mod per lo spostamento della discussione nella sezione applicazioni.
Avatar utente
giulux
Amministratore
Amministratore
Messaggi: 25426
Iscrizione: domenica 10 gennaio 2010, 12:17
Desktop: ubuntu 18.04
Distribuzione: Ubuntu 18.04.3 LTS x86_64
Sesso: Maschile
Località: Roma

Re: [Risolto] [sudo] Impostare ambiente grafico e lingua per applicazioni eseguite come super user

Messaggio da giulux »

sposo in applicazioni su richiesta di rai.
"Non è una segno di buona salute l'essere ben adattato ad una società malata". (Jiddu Krishnarmurti)
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 31 ospiti