저는 KDE4/Plasma, wpa_supplicant, networkmanager, systemd를 사용하여 아치 시스템을 실행하고 있습니다.
# cat /proc/version
Linux version 5.0.0-arch1-1-ARCH (builduser@heftig-18825) (gcc version 8.2.1 20181127 (GCC)) #1 SMP PREEMPT Mon Mar 4 14:11:43 UTC 2019
/etc/hostname
내가 읽은 것 localhost
. 시작 후 쉘 명령은 hostname
이제 localhost
더 정확하게 다음을 출력합니다.
# hostnamectl
Static hostname: localhost
Transient hostname: localhost.localdomain
Icon name: computer-laptop
Chassis: laptop
Machine ID: 7e0a101cd2f0406497a6e4354fc9b3b7
Boot ID: a1424a0995da4e84b1e55b7f79df957e
Operating System: Arch Linux
Kernel: Linux 5.0.0-arch1-1-ARCH
Architecture: x86-64
WiFi를 켜면 Network Manager가 WiFi 네트워크에 연결되고 호스트 이름이 변경됩니다. 예를 들어:
# hostnamectl
Static hostname: localhost
Transient hostname: localhost.localdomain
Icon name: computer-laptop
Chassis: laptop
Machine ID: 7e0a101cd2f0406497a6e4354fc9b3b7
Boot ID: a1424a0995da4e84b1e55b7f79df957e
Operating System: Arch Linux
Kernel: Linux 5.0.0-arch1-1-ARCH
Architecture: x86-64
hostname
이제 쉘 명령 이 localhost.localdomain
.localhost
따라서 KDE 잠금 화면을 잠금 해제할 수 없으며 KDE 터미널(또는 다른 데스크톱)에서 X 응용 프로그램을 시작할 수 없습니다. 일반적인 오류 메시지는 다음과 같습니다.
$ gvim
Invalid MIT-MAGIC-COOKIE-1 keyE233: cannot open display
루트로 실행 하면 hostnamectl set-hostname localhost
동작이 정상으로 돌아옵니다.
일부 다른 WiFi에서는 연결 후 호스트 이름이 무작위가 아닙니다 localhost.localdomain
(대부분 대기업 네트워크에서는 WiFi 공급자가 결정하는 호스트 이름인 것 같습니다). WiFi 제공업체에 내 호스트 이름을 설정할 권한이 있는 이유는 무엇입니까? 어떻게 든 바뀔 수 있습니까?
답변1
이바니반의 답변(조정 dhcpcd.con
) 합리적으로 보이지만 내 경우에는 작동하지 않습니다. 그래서 나는 이것이 DHCP와 아무 관련이 없다고 생각합니다. 나는 우연히 우연히 발견했다이 게시물이는 문제가 DHCP가 아니라 NetworkManager에 있음을 알려줍니다. 다음을 추가하면 /etc/NetworkManager/NetworkManager.conf
내 문제가 해결되었습니다.
[main]
plugins=keyfile
hostname-mode=none
man 5 NetworkManager.conf
이 옵션에 대한 자세한 내용은 을 참조하십시오 hostname-mode
. none
내 경우에는 NetworkManager가 임시 호스트 이름을 설정하지 못하도록 이를 설정합니다 .
답변2
몇 가지 가능한 수정 사항. 어쩌면 당신은 (지구상의 다른 모든 것과 마찬가지로) localhost
항목이 있지만 /etc/hosts
항목이 없을 수도 있습니다 localhost.localdomain
. 하나를 추가하면(또한 127.0.0.1을 가리킴) "집에서" 문제가 해결될 수 있지만 "대기업" 네트워크에서 발생하는 "무작위" 문제에는 효과가 없습니다.
그러나 "더 나은" 옵션은 DHCP 클라이언트 구성을 확인하는 것입니다. /etc/dhcp/dhclient.conf
(또는 dhcpcd.conf
배포판에 따라) 라인 찾기 request
-
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
옵션 을 제거하면 됩니다 host-name
.