私は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
。 1つを追加すると(また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
。