ওয়্যারযুক্ত হলে স্বয়ংক্রিয়ভাবে ওয়াইফাই (ওয়্যারলেস) অক্ষম করবেন?


26

আমি যখনই তারযুক্ত ইথারনেট কেবলটি প্লাগ ইন করি তখনই আমার ওয়াইফাই / ওয়্যারলেস সংযোগটি স্বয়ংক্রিয়ভাবে অক্ষম করার সর্বোত্তম উপায় কী? আমি পরে যখন তারটি প্লাগ করলাম তখন এটি পুনরায় সক্ষম হওয়া চাই।

এছাড়াও, আমি মাঝে মাঝে অন্যান্য ওয়্যারলেস ব্যবহারকারীদের (বা তদ্বিপরীত) এর সাথে তারযুক্ত সংযোগটি ভাগ করতে চাই। ভাল লাগবে যদি আমি কোনওভাবে এই সেটআপগুলিকে ছাড় দিতে পারি।

আমি ১১.১০ ওয়ানিরিক ব্যবহার করছি, যা নেটওয়ার্কম্যানেজার ব্যবহার করে।

উত্তর:


31

নিম্নলিখিত স্ক্রিপ্টটি /etc/NetworkManager/dispatcher.d/99-disable-wireless-when-wiredবেশিরভাগ ক্ষেত্রেই কাজ করে — আমি ওয়্যারলেস বা তদ্বিপরীতের সাথে তারযুক্ত ভাগ করতে চাইলেও এটি ওয়্যারলেস অক্ষম করে।

এটি করতে, টার্মিনালে নিম্নলিখিত কমান্ডটি চালান:

sudo nano /etc/NetworkManager/dispatcher.d/99-disable-wireless-when-wired

এবং নিম্নলিখিত কোডটি টেক্সট এডিটরে পেস্ট করুন।

#!/bin/sh
myname=${0##*/}
log() { logger -p user.info -t "${myname}[$$]" "$*"; }
IFACE=$1
ACTION=$2

release=$(lsb_release -s -c)
case ${release} in
    trusty|utopic) nmobj=nm;;
    *) nmobj=radio;;
esac

case ${IFACE} in
    eth*|usb*|en*)
        case ${ACTION} in
            up)
                log "disabling wifi radio"
                nmcli "${nmobj}" wifi off
                ;;
            down)
                log "enabling wifi radio"
                nmcli "${nmobj}" wifi on
                ;;
        esac
        ;;
esac

তারপরে সংরক্ষণ করুন এবং প্রস্থান করুন।

নেটওয়ার্কম্যানেজার ম্যানুয়াল পৃষ্ঠাতে নথি হিসাবে স্ক্রিপ্টে নিম্নলিখিত শর্তাদি নোট করুন :

প্রতিটি স্ক্রিপ্ট হতে হবে:

  • একটি নিয়মিত ফাইল,
  • মূলের মালিকানাধীন,
  • দল বা অন্য দ্বারা লিখিত না,
  • সেট না করা,
  • এবং মালিক দ্বারা নির্বাহযোগ্য।

বদলে nmcli radio wifi off(অথবা nmcli nm wifi offNetworkManager দ্বারা পুরোনো সংস্করণের জন্য), রয়েছে rfkill block wifi। তবে এর rfkillপরিবর্তে যদি ব্যবহার করা হয় তবে nmcliবুট করার সময় নেটওয়ার্কম্যানেজারের নতুন সংস্করণগুলি ওয়াইফাইটি চালু করবে।


আপনি কোন কনফিগারেশনটি চান তা স্ক্রিপ্ট কীভাবে বলতে পারে? rfkill unblock wifiআপনি সংযোগ স্থাপন করার পরে eth0এবং কেন আপনি ভাগ করে নিতে চান ঠিক তাই কেন , rfkill block wifiকাজ শেষ হয়ে গেলে?
ওয়ালটিনেটর

@ ওয়ালটিনেটর: যখন কোনও সংযোগ আসে, নেটওয়ার্ক ম্যানেজার CONNECTION_UUIDসেই সংযোগের জন্য সনাক্তকারীকে একটি পরিবেশ পরিবর্তনশীল সেট করে। আমি ভাবছিলাম যে স্ক্রিপ্টটি এমন কিছু করতে পারে যেমন সংযোগের জন্য কেবলমাত্র ওয়াইফাই অক্ষম করে যা আমি "স্ট্যান্ডার্ড" তারযুক্ত সংযোগ ঘোষণা করেছি তবে eth0অন্য সংযোগ দ্বারা সক্রিয় করা থাকলে এটি সক্ষম করে ছেড়ে দিন । আমি এটি চেষ্টা করি নি তাই এটি কাজ করে কিনা জানি না। তবে এটি নিজে নিজেই নিয়ন্ত্রণ করার বিষয়ে আপনার বক্তব্যটি একটি ভাল one
রিচার্ড হানসেন

1
eth0|usb0)যখন ইউএসবি টিথারিং সক্রিয় / নিষ্ক্রিয় করা হয় তখন ওয়াইফাই অক্ষম / সক্ষম করতেও ব্যবহার করুন ।
krlMLr

1
সবচেয়ে দরকারী! আরএফকিল ব্যবহার না করে আমি কমান্ড nmcli nm wifi offএবং ব্যবহার করেছি nmcli nm wifi on। তবে এনএমসি্লি কমান্ডগুলি আরও ভাল বলে বিশ্বাস করার কোনও বিশেষ কারণ আমার নেই। আমি কেবল নেটওয়ার্কম্যানেজার উপায়ে সবকিছু করতে চেয়েছিলাম।
জেসি হ্যালেট

3
স্যুইচ স্টেটমেন্টটি "এথ * | ইউএসবি * | এন *)" পড়তে হবে, কারণ udev197 দিয়ে শুরু করে "অনুমানযোগ্য নেটওয়ার্ক ইন্টারফেস নামগুলি" [1] চালু করা হয়েছে। নেটওয়ার্ক কার্ডগুলি এ জাতীয় নামকরণ eno1 / ens1 এবং অনুরূপ এবং পুরানো নীতি * এবং ইউএসবি * নামকরণের সাথে মেলে না। [১] ফ্রিডেস্কটপ.অর্গ
উইকি /
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.