![호스트 이름을 변경하면 시스템 및 데스크탑 환경(예: KDE, Gnome 등)이 중단됩니다. 이를 허용하려면 어떻게 해야 합니까?](https://linux55.com/image/74602/%ED%98%B8%EC%8A%A4%ED%8A%B8%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%A9%B4%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EB%B0%8F%20%EB%8D%B0%EC%8A%A4%ED%81%AC%ED%83%91%20%ED%99%98%EA%B2%BD(%EC%98%88%3A%20KDE%2C%20Gnome%20%EB%93%B1)%EC%9D%B4%20%EC%A4%91%EB%8B%A8%EB%90%A9%EB%8B%88%EB%8B%A4.%20%EC%9D%B4%EB%A5%BC%20%ED%97%88%EC%9A%A9%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
오래 전에 나는 C++로 일종의 스텔스 모드 악마를 개발하기 시작했습니다. 이 중 일부는 루트로 실행되고 일부는 호스트 이름을 임의로 생성된 호스트 이름으로 변경하는 것입니다. 내 호스트 이름을 변경하면(가상 터미널, Stealthdemon 또는 dhcp 기능을 통해) 어떤 방식으로든 시스템이 엉망이 되는 것을 경험했습니다. 한 가지 예는 바로가기를 통하거나 클릭해도 갑자기 모든 KDE 응용프로그램이 실행되지 않는다는 것입니다. 호스트 이름을 원래 호스트 이름으로 재설정하면 모든 것이 완벽해 보입니다.
내 질문은 다음과 같습니다
- Bash를 통해 호스트 이름을 발급할 때 또 무엇을 호출하나요?
- c/C++ 코드에서 호스트 이름을 발행할 때 또 무엇을 호출합니까?
- 이상한 행동의 이유는 무엇입니까? (내 생각에는 xorg 또는 kde 자체가 어떻게든 이전 호스트 이름에 연결되었을 수 있지만 변경 후에는 더 이상 연결되지 않습니다.)
- 시스템을 안정적으로 유지하면서 쉘이나 코드를 통한 호스트 이름 변경을 허용하려면 어떻게 해야 합니까?
미리 감사드립니다.
답변1
- X 인증 파일(
~/.Xauthority
등/tmp/xauth-*
)에는 시스템 호스트 이름이 포함되어 있습니다. 실제 호스트 이름과 다를 경우(그림 참조hostname(1)
) X 응용 프로그램이 시작되지 않습니다.
내 경우에는 "지정된 프로토콜 없이 디스플레이에 연결할 수 없습니다: 0"이 인쇄되었습니다. 그러나 X 인증 파일의 호스트 이름을 실제 값으로 변경하면 문제가 해결됩니다. (테스트를 위해 16진수 편집기를 사용했습니다. 음, 변경하는 더 좋은 방법이 있어야 합니다)
답변2
KDE 4.13.3에서도 같은 문제가 발생했습니다. 나는 그것을 고치기 위해 많은 일을 했습니다(어떤 것은 중복되었을 수도 있지만 이것은 확실히 나에게 효과적이었습니다). KDE가 실행되고 있지 않을 때 명령줄에서 이러한 작업을 수행해야 할 수도 있습니다.
.Xauthority
홈 디렉터리의 파일을 삭제합니다 ..kde
홈 디렉터리의 폴더 로 이동합니다 .cache-<your old hostname>
로 이름이 변경되었습니다cache-<your new hostname>
.socket-<your old hostname>
로 이름이 변경되었습니다socket-<your new hostname>
.tmp-<your old hostname>
로 이름을 바꿉니다tmp-<your new hostname>
. 이 디렉터리의 모든 파일을 삭제합니다.- 디렉토리 의 .
.kde
로 이동하여.kde/share/config/
모든kwin*
파일을 삭제합니다(예rm kwin*
: . - 동일한 디렉토리 내의 디렉토리를 삭제하십시오
session
.
X 서버(또는 컴퓨터)를 다시 시작하면 KDE가 작동합니다.