A alteração do nome do host perturba o sistema e o DE como o KDE, o Gnome, etc… O que posso fazer para permitir isso?

4

Há muito tempo comecei a desenvolver algum tipo de demônio stealthmode em c ++. Parte disso é para ser executado apenas como root e outra parte é, para alterar o nome do host para um gerado aleatoriamente. Eu experimentei que qualquer alteração no meu hostname (seja via terminal virtual ou via stealthdemon ou através de um recurso dhcp) de alguma forma atrapalha o sistema. Um exemplo é que, de repente, todos os aplicativos do KDE não podem ser iniciados, nem por atalhos nem por cliques. Se eu redefinir meu nome de host para o original, tudo parece funcionar perfeitamente.

Minhas perguntas são:

  1. O que mais é invocado ao emitir o nome do host via bash?
  2. O que mais é invocado ao emitir o nome do host em um código c / c ++?
  3. Qual é o motivo do comportamento estranho? (Embora eu acho, pode ser que o xorg ou o próprio kde estivesse de alguma forma ligado ao antigo hostname, mas depois da mudança eles não estão mais ligados)
  4. O que pode ser feito para manter o sistema estável, mas ainda permitindo alterar um nome de host, por shell ou por código?

Thx antecipadamente.

    
por icbytes 07.10.2015 / 12:40

2 respostas

2

  1. O arquivo X auth ( ~/.Xauthority , /tmp/xauth-* , etc.) contém o nome do host do sistema. Se for diferente do nome do host real (conforme mostrado por hostname(1) ), um aplicativo X não será iniciado.

No meu caso, ele imprime "Nenhum protocolo especificado Não foi possível conectar para exibir: 0 ”. Mas a mudança do nome do host no arquivo X auth para o valor real corrige o problema. (Eu usei um editor hexadecimal para testar isso; bem, deveria haver uma maneira melhor de mudar isso)

    
por 26.02.2016 / 20:58
1

Eu tive o mesmo problema com o KDE 4.13.3. Eu fiz várias coisas para corrigi-lo (alguns podem ser redundantes, mas isso definitivamente funcionou para mim). Você pode ter que fazer essas coisas na linha de comando enquanto o KDE não está rodando.

  1. Remova o arquivo .Xauthority do seu diretório pessoal.
  2. Vá para a pasta .kde no seu diretório pessoal.
  3. Renomeie cache-<your old hostname> para cache-<your new hostname> .
  4. Renomeie socket-<your old hostname> para socket-<your new hostname> .
  5. Renomeie tmp-<your old hostname> para tmp-<your new hostname> . Remova todos os arquivos neste diretório.
  6. No diretório .kde , navegue até .kde/share/config/ . Remova todos os arquivos kwin* , por exemplo usando rm kwin* .
  7. Dentro do mesmo diretório, remova o diretório session .

Reinicie o servidor X (ou o computador) e o KDE deve funcionar.

    
por 21.09.2016 / 11:34

Tags