Então, quando tento usar o comando Xorg como um usuário normal, este é o erro que me dá:
/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server
mas eu não entendo, quais são os "usuários do console"? e quando mudo para root me dá outro erro:
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
Então, o que está acontecendo e qual é a razão para cada um desses erros?
UPDATE: e a saída do comando netstat -ln | grep -E '[.]X|:6[0-9][0-9][0-9]
é:
unix 2 [ ACC ] STREAM LISTENING 18044 @/tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 47610 @/tmp/.X11-unix/X1
unix 2 [ ACC ] STREAM LISTENING 18045 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 47611 /tmp/.X11-unix/X1
Se você tem certeza das implicações de segurança (qualquer um pode iniciar o X-Server com direitos de root, o que, por ter acesso privilegiado ao hardware e acessar muitos arquivos pode abrir uma grande brecha de segurança) e se preocupar apenas com a funcionalidade, não com segurança, para
o seguinte pode ajudar:
Você pode adicionar a
a linha
De
man Xorg.wrap
:Isso significa que você precisa estar executando a partir do console de texto do Linux , na verdade não importa qual usuário você é. (Exceto que
root
é sempre permitido). Confuso :).Existem dois exemplos diferentes de alternar para o console de texto do Linux (e vice-versa) aqui, dependendo exatamente de como seu sistema está configurado:
Mudar para um console de texto no Fedora
Os detalhes podem variar, como quais consoles numerados (Ctrl+Alt+F1, Ctrl+Alt+F2, etc) permitem um login de texto e quais são usados para sessões gráficas (ou não são usados).
Como isso diz, há mais informações sobre o que
:0
,:1
,:2
significa, imediatamente acima da seção citada:https://www.x.org/wiki/FAQErrorMessages/#index5h2
(Observe que você está usando uma configuração de servidor X mais moderna, que não escuta em nenhuma porta TCP. É por isso que seu erro ocorre em _XSERVTransSocket UNIX CreateListener, em vez de _XSERVTransSocket Inet CreateListener. Mas o princípio é exatamente o mesmo).
A-ha, sim :-D. Xorg é um servidor gráfico. Se você quiser mostrar alguns gráficos nele, precisará executar alguns programas clientes.
O Xorg também inicia com um cursor vazio hoje em dia. É deliberadamente sem recursos, para evitar flashes / inconsistências ao iniciar suas coisas gráficas. Isso mudou - quando usei o Xorg pela primeira vez, o plano de fundo e o cursor padrão eram bastante intrusivos. Se quiser ver como ficou, pode passar a
-retro
opção :-).Tradicionalmente - e acho que esse é o comportamento do Xwrapper - o Xorg pega um console não utilizado e muda para ele. Nesse caso, você pode voltar para o console anterior (veja acima). Claro que você pode voltar novamente para o servidor Xorg, assim que descobrir qual console de número ele pegou :-).
Se você estiver executando uma máquina virtual no Linux, sua VM fornecerá algum método para injetar a combinação de teclas Ctrl+Alt+F1 ou qualquer outra, porque pressionar essa combinação de teclas provavelmente alternará os consoles em sua máquina real .
Eu diria para você comparar
startx -- :2
, que (espero) lança alguns clientes, bem como um servidor X :-). No entanto, as GUIs modernas mais populares agora explicitamente não suportam várias sessões. Portanto, certifique-se de fazer logout de sua sessão GUI existente antes de executar ostartx
. Caso contrário, pode parecer que funciona, mas depois dá errado de maneiras estranhas que você não entende.Eu estava usando o comando startx para iniciar o DWM e inseri-o no meu bashrc para não precisar digitar o comando startx manualmente toda vez que eu fizer login foi quando comecei a obter o 'somente usuários do console têm permissão para usar o servidor x' erro SO eu removi o comando startx do bashrc, o que significa que tenho que iniciar o servidor manualmente, mas agora não recebo mais o erro