イーサネット接続時のみホットスポットへの自動接続を設定する


8

私は現在、次の2つの設定を毎日切り替えています。

1)WiFiネットワーク経由でインターネットに接続されている。

2)自分の(Ubuntu 16.04)ラップトップを有線接続でインターネットに接続し、Ubuntuの組み込みのホットスポット機能を介して他のデバイスとこの接続を共有します。

現時点では、1から2に切り替えるには、ネットワークマネージャーの[非表示のネットワークに接続]ダイアログを手動で実行する必要があります。同様に、2から1に切り替えるには、手動でホットスポットから切断してWiFiネットワークに接続する必要があります。たいした作業ではありませんが、自動化させたいと思うほど頻繁にやっていました。

ホットスポットの自動接続を有効にするほど簡単ではありません。それは、有線接続を介して接続されていないときにWiFiネットワークに接続するのではなく、他のネットワークの自動接続機能をオーバーライドし、最終的にホットスポットが発生するためです。インターネットなし。だから私は次の解決策が必要です:

  • 有線接続でインターネットに接続しているときはいつでも、ホットスポットに接続します。
  • イーサネット接続がない場合、ホットスポットから切断されます。
  • 利用可能でイーサネット接続がない場合は常に、autoconnect = trueを使用してネットワークの1つに自動接続します。

これを行う方法の完全な説明はすばらしいでしょうが、これらの種類のルールを設定するための優れた(専門家ではない)マニュアルへの参照も非常に高く評価されます。


1
私はあなたが何をしているのか100%わかりません、あなたはネットワークマネージャーを使用していると思いますか?だからマニュアルを提供するのは難しい。私はになりますpost-up/etc/network/interfaces文脈、偉大な概要があり、ここではpost-up基本的に、インターフェイスが起動した後、コマンドまたはスクリプトを呼び出すだけです。
Robert Riedl

開始するには良い場所のように見えます。ありがとうございます。
Bib-lost

回答:


2

あなたが無線LAN接続に勝るイーサネットケーブルを差し込むと、無線LAN接続が自動的に落ちることは私の理解です。同様に、イーサネットケーブルを切断すると、優先wifiに自動接続します(もちろん、ネットワークマネージャーの[全般]タブでそのWifiネットワークに自動接続するためのチェックボックスがオンになっている場合。Ubuntu16.04.3のデフォルトインストールでテストされています

したがって、私が正しく理解している場合は、イーサネットケーブルが接続されているときにラップトップでホットスポットサービスを自動的に開始し、イーサネットケーブルが切断されているときにサービスを無効にしたいだけです。

これはbashスクリプトで行うのがかなり簡単なはずです。nmcli「nmcli」は強力なnetworknigツールであり、接続を自由に上げたり下げたりして、大量の関連情報を取得できます。

スクリプトを作成する接続を見つけるにnmcli -t monitor| grep primaryは、WiFi経由で接続してイーサネットケーブルを接続するだけで実行できます。起動および停止の対象とnmcliなる接続は、'sで囲まれた接続になります。例:「有線接続1」のロジックは、「接続」が接続されているときにホットスポットを起動することです(コマンドを使用するsleepか、スクリプト内で-w作成するスイッチnmcliは、次のコマンドを発行する前に、コマンドが完了するまで指定された秒数待機します。

接続を切断するのと同じくらい簡単で、接続を確立するのは簡単nmcli 'connection name' downですnmcli 'connection name' up

注:スクリプトを使用して完全に制御するには、少なくともネットワークマネージャーのwifi接続で自動接続オプションを実際に無効にする必要がある場合があります。自動接続オプションは、利用可能な場合は常に自動接続を試み、達成しようとしていることに干渉する可能性があるためです。からの抜粋man nmcli

There may be multiple connections that apply
       to a device, but only one of them can be active on that device at any
       given time. The additional connections can be used to allow quick
       switching between different networks and configurations.

イーサネットが接続されていることを確認したら、コマンドを発行してwifi接続をダウンさせます例: nmcli connection my-wifi down次に、ホットスポット接続をアップさせます例: nmcli connection my-hotspot up

ネットワーク接続に基づいてスクリプトを自動的に実行する方法の詳細については、こちらを参照してください「nmcli」の詳細については、manページを確認してください。ホットスポットの作成方法については、こちらをご覧ください


ウィキリファレンスをありがとう。パワーユーザーではないので、マニュアルページよりも簡単に始めることができます。投稿し続けます
ビブロスト

これまでのところ、良好ですが、自動接続の無効化部分に完全には満足していません。nmcliのマニュアルページを調べていますが、イーサネットケーブルを抜くときに「自動接続可能なネットワークをスキャンする」コマンドはありますか?
ビブロスト

@ Bib-lost私のテストでは、ワイヤレスを自動接続のままにしておくと、イーサネットケーブルが接続されているときにワイヤレスが接続されたままになり、手動で電源を切った場合は自動的に再接続することが示されています。あなたの結果は私のものと異なりますか?
オタク長老

イーサネットケーブルの接続でスクリプトを実行することはまだできません(ただし、Wikiの手順に従っていますが)。手動で接続を切断するように注文した場合(自動接続であっても)、コンソールでテストするだけです。 )再接続しません。
ビブロスト

@ Bib-lost Interesting ..さらにテストを行う必要があります。wifiがNetwork Managerで自動nmcli connection my-wifi down接続するように設定されていて、再接続しないでダウンした場合、
オタク長老

1

私のためにそれをした解決策(オタク長老の助けを借りて見つけた)。

私は、自動接続を保った上で、私は自動的に接続するすべてのネットワークのために、しかし、オフのホットスポットのため。次に、次のスクリプトを(このWikiページで説明されている適切な権限を使用して)フォルダに配置します/etc/NetworkManager/dispatcher.d

!/bin/bash

interf=$1
state=$2

if [ $interf = "my-ethernet-device" -a $state = "up" ]; then
    nmcli connection up 'my-hotspot'
fi

if [ $interf = "my-ethernet-device" -a $state = "down" ]; then
    nmcli connection down 'my-hotspot'
fi

これは今のところ非常にうまく機能しています。イーサネットケーブルが接続されているときはいつでもホットスポットへの自動接続、またはイーサネットケーブルが接続されている状態でコンピュータが起動またはウェイクアップしたとき。


並べ替えていただき、私の回答がお役に立てば幸いです。乾杯!新しいメンバーとしてあなたはこれに気づかないかもしれません
オタク長老2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.