Eu, como posso acreditar em qualquer pessoa ao redor, tenho demitido /usr/bin/startx por décadas, experimentando nada além de 100% de satisfação pelo trabalho que serve.
Se funcionar… não conserte!
O autor do script, no entanto, é explícito:
Os administradores do site são FORTEMENTE encorajados a escrever versões melhores.
Fiquei apenas curioso:
- Alguém sabe quais razões históricas levaram o autor a escrever uma declaração tão forte?
- Alguém já escreveu alguma " versão melhor ", como e para quê?
Nota : vejo vários pedidos para fechar esta pergunta pelo motivo de desencadear respostas baseadas em opinião.
Eu entendo como o qualificador "melhor" poderia sugerir julgamentos de gosto, mas eu simplesmente não consigo imaginar o autor " exortando FORTEMENTE " os administradores a cometerem mudanças estéticas.
Apenas muitas coisas estão abertas a mudanças nesse script, desde forçar argumentos cliente/servidor, honrar/ignorar usuários .*rc até mesmo bifurcar acidentalmente qualquer coisa que não seja /usr/bin/xinit.
Todas essas brincadeiras e muitas outras que nem imagino particularmente no campo da segurança, certamente dependeriam de motivos perfeitamente razoáveis e se encaixariam no propósito de casos de uso especiais. É exatamente sobre isso que esta pergunta se trata.
startx
foi introduzido no X11R3 , em 1988, com a seguinte entrada de changelog :Isso acompanhou uma série de melhorias no
xinit
, como suporte para scripts específicos do usuário.xserverrc
e.xinitrc
para iniciar, respectivamente, o servidor e o(s) cliente(s).startx
não fez muito além disso: adicionou suporte para todo o sistemaxserverrc
exinitrc
scripts (que poderiam facilmente ter sido adicionados axinit
si mesmo) e limpa depois em sistemas A/UX Macintosh II (que foram recentemente suportados no R3) e sistemas solares.Na época, muitos sistemas teriam seus próprios scripts de inicialização do X, seja para iniciar o servidor ou iniciar um conjunto padrão de clientes, apenas porque o X11R2
xinit
era básico e exigiria personalização (ou substituição total) com um script wrapper pelo menos, fornecido pelo fabricante do sistema ( por exemploopenwin
, em sistemas Sun) ou pelo administrador do sistema local.startx
foi efetivamente um modelo muito simples para scripts de inicialização específicos do sistema; era extremamente comum os administradores de sistema no final dos anos 80 e início dos anos 90 fornecerem muito conteúdo local (scripts, páginas de manual, etc.).startx
incluiu recursos suficientes para tornar desnecessário , em muitos casos, fazer alterações nele, já que a personalização de inicialização pode ser totalmente tratada fornecendo locaisxserverrc
exinitrc
scripts. Seu autor presumivelmente imaginou que muitos administradores de sistema já tinham versões melhores, ou “facilmente” escreveriam versões melhores refletindo suas restrições e preferências locais – por exemplo , muitos administradores de sistema não gostariam que os usuários pudessem alterar a inicialização do servidor X fornecendo seus próprios arquivos.xserverrc
.Uma mudança comum foi adicionar mais limpeza ao script, por exemplo , matando processos errantes do Netscape Navigator (pelo menos em SPARCstations, o Netscape Navigator 4.78 tendia a não sair quando perdia sua conexão com o servidor X11, entrando em um loop apertado) .
Eu não tenho arquivos desses scripts, mas havia versões melhores, “melhores” como em “mais apropriadas para uso local” do que a versão padrão. As distribuições Linux também costumam carregar
startx
patches, por exemplo , este no Debian . Mais recentemente,sx
é um substituto para ambosxinit
estartx
, com várias melhorias (inicialização do servidor codificado, melhorxauth
manuseio, manuseio tty mais previsível).startx
em si teve muitas mudanças ao longo dos anos, mas os “administradores do site são FORTEMENTE encorajados a escrever versões melhores”. comentário nunca foi removido, mesmo porque as razões para isso foram removidas progressivamente.A ideia de
startx
ser uma amostra , conforme mencionado no changelog, se encaixa em grande parte do restante da distribuição X11; por exemplo, o servidor X foi descrito como um “servidor de amostra”, com a ideia de que muitos fabricantes forneceriam sua própria implementação com base nele:(citando as notas de lançamento do X11R4 ; estritamente falando, isso deve indicar que as implementações não devem ser usadas como referência em vez dos padrões reais, não que as implementações não sejam destinadas a serem usadas).