O que esse script está fazendo?
#!/bin/bash
xhost +local:
xhost +si:localuser:root
Qual é a lista padrão xhost
?
xhost +SI:localuser:root
permite que o root
usuário acesse o servidor X em execução. O servidor X atual é indicado pela DISPLAY
variável de ambiente. xhost +local:
faz o mesmo para todos os usuários; portanto, a root
linha não é de muita utilidade.
A página de manual tem razoavelmente boas explicações:
[+]name The given name (the plus sign is optional) is added to the list
allowed to connect to the X server. The name can be a host
name or a complete name (See NAMES for more details).
...
NAMES
A complete name has the syntax ``family:name'' where the families are
as follows:
...
local contains only one name, the empty string
si Server Interpreted
...
The local family specifies all the local connections at once. However,
the server interpreted address "si:localuser:username" can be used to
specify a single local user. (See the Xsecurity(7) manual page for more
details.)
E a página de Xsecurity
manual diz:
SERVER INTERPRETED ACCESS TYPES
The sample implementation includes several Server Interpreted
mechanisms:
IPv6 IPv6 literal addresses
hostname Network host name
localuser Local connection user id
localgroup Local connection group id
Com um pouco de contexto: Existem duas maneiras comumente usadas para permitir o acesso a um servidor X. Uma é através de um Xauthority
arquivo, que é compartilhado pelos clientes, e não precisa de nenhuma configuração adicional do lado do servidor. O outro é através da xhost
lista, onde a configuração é feita no servidor em tempo de execução (portanto, essa não é uma alteração permanente).
Portanto, localuser
é uma palavra-chave a ser mantida como está ( root
é o nome de usuário aqui). É como adicionar a um grupo, pois os grupos estão no entendimento de autorização do servidor. No entanto, nenhum grupo ou usuário do sistema é afetado. Somente a configuração de tempo de execução do servidor X é alterada.
O comportamento padrão de xhost
quando executado sem argumentos é imprimir a lista, como diz a página de manual:
nothing If no command line arguments are given, a message indicating
whether or not access control is currently enabled is printed,
followed by the list of those allowed to connect.
Por exemplo:
$ xhost
access control enabled, only authorized clients can connect
SI:localuser:muru
( muru
é o meu nome de usuário.)
(Do meu post no Unix e Linux )