Avvia l'istanza X dell'utente normale in Linux come root


2

Quindi, ecco cosa mi piacerebbe davvero fare. Il mio laptop Arch Linux viene messo in sospensione con l'aiuto di pm-utils, alcune app X (trasmissione, banshee, ecc.) Devono essere arrestate manualmente (tramite script in /etc/pm/sleep.d/00script.sh) e riavviato al ripristino del sonno. Tuttavia, poiché gli hook pm sono eseguiti come utente root che esegue un'app X per l'utente normale, AS root è una vera sfida. Tutto dipende dal fatto che DISPLAY e XAuthority sono stati esportati, lo so, ma ho esaurito le idee su come farlo funzionare e ho provato diversi approcci, ma nessuno di loro ha mai funzionato.

Quindi, ho deciso di buttarlo fuori e vedere se qualcuno dei super utenti qui sa cosa si può fare al riguardo :)


Non dovresti chiudere nessun programma: vengono sospesi insieme al resto del sistema. La trasmissione non necessita di alcun trattamento speciale, riprenderà gradualmente i trasferimenti al risveglio.
Grawity,

Se metto un laptop in modalità di sospensione e la trasmissione attivamente legge anche i dati, o il banshee per quella materia, al momento di riprendere succede qualcosa di strano. La migliore illustrazione è la seguente. Se mi trovo su console nella directory / media / disk / tmp e metto il laptop in modalità sleep, quando si riprende l'esecuzione di ls in quella directory non verrà prodotto alcun output. Anche se il disco è montato nella stessa posizione. Lasciare il percorso con cd e tornare ad esso "risolve" il problema. Credo che altre app appendono il laptop per lo stesso motivo. Quindi devo ucciderli prima di passare alla modalità di sospensione.
ILIV,

Risposte:


0

In risposta alla domanda stessa, si desidera impostare il file su SUID root . Come commentato da Grawity, non dovrebbe esserci alcuna necessità di chiudere questi programmi anche se per quando va in modalità sospensione.


Vero, ma succede qualcosa di strano quando lo faccio. Leggi il mio commento sopra, per favore. Non penso che SUID sia un'ottima idea. Non esiste un modo meno rischioso di farlo?
ILIV,

0

Per farla breve, questo è il 'come'

root @ host $ sudo -u joe DISPLAY =: 0 trasmissione-gtk

Nel momento in cui ho posto questa domanda, apparentemente stavo eseguendo un kernel con un brutto bug come bonus, perché molte cose strane stavano succedendo quando ho ripreso il laptop dalla sospensione.

In questo momento, eseguo un'altra versione del kernel e nessuno dei problemi sopra descritti esiste. E adesso sudo funziona e basta. Ho provato di tutto, lo chiami. Niente ha funzionato e non sono esattamente nuovo a scrollare le spalle di Linux.

Funziona ora. Grazie per tutto l'aiuto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.