Como posso configurar o Xwayland (para definir NoTrapSignals como o valor correto)

0

Eu criei /etc/X11/xorg.conf .

Section "ServerFlags"
    Option "NoTrapSignals" "true"
EndSection

Ele afeta com sucesso a minha sessão do GNOME se eu iniciar uma sessão do GNOME que use o X e não o Wayland. Eu verifiquei isso matando o servidor X com SIGABRT e verificando se ele não tenta imprimir seu próprio backtrace capturando o sinal.

No entanto, o arquivo de configuração não tem o efeito que eu realmente queria, que é alcançar o mesmo comportamento para a instância do Xwayland, que o GNOME inicia quando eu inicio uma sessão normal do GNOME com o Wayland.

eu não consigo nem encontrar as mensagens de log do Xwayland , para ver se ele menciona alguma coisa sobre onde ele lê a configuração!

Percebo que Xorg tem uma man página, mas Xwayland não. Nenhuma das opções Xwayland está sendo executada com ( -rootless -terminate -core -listen 4 -listen 5 -displayfd 6 ) está documentada em man Xorg , embora, para ser justo, o GNOME também passe -displayfd para Xorg ao executar uma sessão X nativa.

Alguém sabe como fazer isso?

Ambiente

  • Fedora 27
  • GNOME
  • gnome-session-3.26.1-1.fc27.x86_64
  • xorg-x11-server-Xwayland-1.19.6-5.fc27.x86_64

Contexto

Eu tenho um acidente XWayland irritante. Eu estou tendo dificuldade em entender isso do core dump que meu sistema salva. Desejo desesperadamente desativar o gerador de backtrace X embutido. Ele está apenas atrapalhando, o próprio gerador de backtrace é vulnerável a travamentos e, o mais importante, capturando o sinal de erro, acredito que ele pare o Linux de registrando a causa exata do erro SIGBUS no log do kernel .

Eu digo que este é o valor correto para NoTrapSignals , porque é um recurso inerentemente frágil, e o AFAICT é inútil em um servidor Xwayland sem privilégios. Não é como nos velhos tempos da configuração do modo de usuário, em que o kernel não podia redefinir a exibição para o modo de texto, então você esperava desesperadamente que o servidor X ainda fosse capaz de fazer isso se falhasse.

    
por sourcejedi 24.03.2018 / 01:15

1 resposta

0

I say this is the correct value for NoTrapSignals, because it's an inherently fragile feature, and AFAICT it's pointless in an unprivileged Xwayland server. It's not like the bad old days of user mode setting, where the kernel couldn't reset the display to text mode, so you desperately hoped the X server would still be able to do so if it crashed.

Se isso é certo, a resposta é que este é um bug no Xwayland, e o Xwayland deve ser corrigido para se comportar corretamente sem precisar de algum arquivo de configuração.

Comparar tentativas de executar Xorg e Xwayland em strace sugere que Xwayland não procura nenhum arquivo de configuração, apenas arquivos de dados XKB.

Tanto /usr/libexec/Xorg quanto /usr/bin/Xwayland imprimirão os conselhos de uso, se você passar --help como uma opção. O Xorg inclui uma seção "Uso Dependente do Dispositivo" com opções para definir o arquivo de log ou o arquivo de configuração. Xwayland não menciona nada disso. Então Xwayland não parece ser configurável como o Xorg é.

Tecnicamente, o Xwayland parece ser executado com -core "generate core dump on fatal error". O Xorg não, embora afirme apoiar a mesma opção. A partir das evidências até agora, parece que isso é irrelevante, especialmente porque o NoTrapSignals não afeta se um dump principal é gerado ou não.

Option "NoTrapSignals" "boolean"

This prevents the Xorg server from trapping a range of unexpected fatal signals and exiting cleanly. Instead, the Xorg server will die and drop core where the fault occurred. The default behaviour is for the Xorg server to exit cleanly, but still drop a core file. In general you never want to use this option unless you are debugging an Xorg server problem and know how to deal with the consequences.

    
por 24.03.2018 / 02:06