impostazione xhost all'avvio


8

Sono in grado di impostare xhost all'avvio in Fedora modificando /etc/gdm/Init/Defaulte ad esempio aggiungendo:

/usr/bin/xhost +local:

Come si può fare simile in Ubuntu? Voglio che il

/usr/bin/xhost +local:

il comando viene eseguito quando il sistema è seduto al prompt di accesso.

Risposte:


11

Il xhostcomando richiede l'esecuzione di un server X attivo, può essere eseguito nella schermata di accesso, ad esempio quando viene lightdmcaricato. È possibile abilitarlo modificando /etc/lightdm/lightdm.confe aggiungendo la riga:

display-setup-script=/home/user/bin/xhost.sh

/etc/lightdm/lightdm.conffile di esempio :

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/home/user/bin/xhost.sh

/home/user/bin/xhost.shfile di esempio :

#!/bin/bash
xhost +

Funziona su Ubuntu 12.04.1 LTS ed era necessario per abilitare un'applicazione Java che aveva bisogno di X ed era gestita da Tomcat 6.


1
potresti dover rendere eseguibile lo script xhost.sh con: chmod + x /home/user/bin/xhost.sh
George Litos

Funziona in Xubuntu 18.04, ma assicurati che lo script sia eseguibile come indicato da @George Litos, altrimenti il ​​tuo sistema non si avvierà.
José Tomás Tocino,

2

Questo ha funzionato per me:

Modifica ~/.xinitrc:

export DISPLAY=":0.0"
xhost +
openbox

Nota: nella mia configurazione specifica, eseguo solo openbox . Normalmente quel file è vuoto o mancante in Ubuntu. La mia ipotesi è che potresti rimuovere la linea "openbox" e funzionerebbe, ma non ho modo di provarlo adesso. Se non funziona, sostituire l'ultima riga per il comando del gestore finestre.


1

~/.xinitrcnon ha funzionato per me su Ubuntu 14.04, ma ha fatto quanto segue ~/.profile. Ad ogni accesso, GUI / terminale / SSH / ecc ..., lo script verrà eseguito, quindi reindirizzerò stdoutper silenziare l'output.

xhost +local: > /dev/null


1

Ho avuto lo stesso problema con Ubuntu 17.10. È possibile che il mio sistema non sia stato configurato correttamente. Comunque, nel mio caso, ho aggiunto

xhost + SI:localuser:root > /dev/null

in fondo al mio ~/.bashrcfile e ha funzionato. Non so se questo è un rischio per la sicurezza. Condivido che nel caso in cui qualcun altro si trovi nella stessa situazione e confido che l'aggiunta di root all'elenco degli utenti del server X prediletti dovrebbe essere OK.

È suggerito qui http://ubuntuhandbook.org/index.php/2017/10/ubuntu-17-10-tip-graphical-apps-doesnt-launch-via-root-sudo-gksu/

Puoi testarlo prima direttamente sul terminale:

$ xhost + SI:localuser:root
$ xhost -

La seconda riga assicura che solo quelli nell'elenco abbiano accesso al server X. Quindi provare "Modifica come amministratore", dopo aver fatto clic con il tasto destro su un file o eseguirlo direttamente

$ pkexec gedit

Se questo non funziona, è inutile rendere permanente il comando in ~ / .bashrc.

Per essere più precisi, ho eseguito prima

$ xhost

per vedere quali utenti hanno avuto accesso al server X. Ho visto che il formato era SI:localuser:dominicdove dominicè il mio nome di accesso. Quindi, ho usato lo stesso formato SI:localuser:root per aggiungere l' rootutente.


0

Ecco una variante della risposta di @ GeorgeLitos, con queste modifiche:

  • Non modificare direttamente /etc/lightdm/lightdm.conf, poiché si tratta di un file di proprietà del sistema che può essere sovrascritto dagli aggiornamenti di sistema. Utilizzare invece la directory delle estensioni/etc/lightdm/lightdm.conf.d/ . Questo significa anche che non è necessario duplicare altre impostazioni.
  • Non è necessario uno script shell separato; il comando può essere inserito direttamente nel file di configurazione.

Basta creare un file (come utente root) /etc/lightdm/lightdm.conf.d/xhost.confcon questi contenuti:

[SeatDefaults]
display-setup-script=xhost +

Funziona su Ubuntu 16.04.5 LTS.


-1

Modifica il file /etc/rc.local(con sudo) e aggiungi il comando prima dell'ultimo comando ( exit 0).


1
Questo non funzionerà (e non ho mai provato di meno e non funziona). Perché quello script non avrà i diritti di accesso per cambiare l'impostazione al primo posto. Deve essere fatto come utente lightdm?
yurtesen,

-1

Aggiungi la seguente riga a /etc/xdg/lxsession/LXDE/autostart

xhost +local:
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.