UbuntuまたはLinux Mintを使用している場合(私が試したことのある2つのフレーバーで確実に機能することがわかっている場合)、次のように実行できます。
wayne@myhost$ ssh [email protected]
また、名前は、ローカルネットワーク上のotherhostのIPが何であっても自動的に解決されます。
他のディストリビューションへの分岐を開始することに決め、Archをラップトップで実行しました。ただし、前のコマンドを使用するとCould not resolve hostname otherhost.local: Name or service not known
この種の自動名前解決(?)を実行するには何が必要ですか?
ウェイン自身の答えは今ではかなり古いです。 Archはそれ以来、initスクリプトの代わりにsystemdを使用するように切り替えました。 Archウィキの Avahi ページが更新され、以下の手順が必要な理由の詳細が含まれています。つまり、Avahiはzeroconfツールです。つまり、LANのすべてのマシンにインストールすると、Avahiは設定する必要がありませんが、残りのソフトウェアを設定して、実際にAvahiに情報を要求する必要があります。
これらをrootとして実行するか、必要に応じてターミナルでSudo
を前に付加し、nano
を任意のエディターに置き換えます。
pacman -S avahi nss-mdns
AvahiサービスデーモンとマルチキャストDNSリゾルバーをインストールします。nano /etc/nsswitch.conf
このファイルは、Cライブラリにネームサービス情報を取得する方法を伝えます。hosts: files dns myhostname
からhosts: files mdns_minimal [NOTFOUND=return] dns myhostname
、 保存して終了。systemctl start avahi-daemon
すでに起動しているため、Avahiサービスを手動で開始します。エラーがないか確認してください)systemctl enable avahi-daemon
起動時にAvahiサービスを有効にします。私はArchラップトップでこれらの手順を実行しただけで、他のマシンが数秒以内にそれを検出し、ラップトップにサービスを検出させるために、他のサービスやwifiインターフェイスを再起動する必要はありませんでした。
まだgggの答えにはコメントできないので、ここではスタートアップスクリプトでこれを行う必要がないことを指摘したいと思います。それがsystemdでサービスを有効にするためのものです。一度やって、それを忘れてください。
Ulrich DangelからのAvahiに関する Arch Wiki 記事へのポインターのおかげで、これは私がやったことです:
$ Sudo pacman -S avahi nss-mdns
/etc/rc.d/avahi-daemon start
をrc.local
の末尾に追加しますdhcpcd
を実行しているので、/etc/dhcpcd.conf
でnoipv4ll
行をコメント化しました。$ Sudo /usr/sbin/avahi-autopid -D wlan0
も実行しました。再起動はしたくないので、手順3が必要だったかどうかはわかりません。/etc/nsswitch.conf
で、hosts: files mdns4_minimal dns mdns4
を読み取るように行を設定しました。$ Sudo /etc/rc.d/dbus restart
を実行してdbusを再起動しました。その後、単にssh [email protected]
を実行するだけでうまくいきました。
必要ないと思いますavahi-daemon
使用するために実行中.local
。これが、起動スクリプトにあるものです。これはArch Wikiの方法に比べてはるかに簡単です。
systemctl enable avahi-daemon
avahi-set-Host-name $(hostname)
systemctl disable avahi-daemon