উত্তর:
কমপক্ষে দুটি আপসার্ট কাজ রয়েছে যা ডিফল্ট ওয়্যারলেস রাষ্ট্রকে প্রভাবিত করে:
/etc/init/rfkill-restore.conf
রেকর্ড অনুসারে, সর্বশেষ শাটডাউনে যা ছিল তার সমস্ত রেডিওর জন্য সফট ব্লক অবস্থা পুনরুদ্ধার করে /var/lib/rfkill/saved-state
।/etc/init/network-manager.conf
নেটওয়ার্ক ম্যানেজার শুরু হয় যা ঘুরে তার থেকে বেতার অবস্থার ধারণাটিকে পুনরুদ্ধার করে /var/lib/NetworkManager/NetworkManager.state
।আপনি যদি এই দুটি কাজের কনফিগারেশনটি লক্ষ্য করেন তবে দেখতে পাবেন যে তাদের কোনও অস্থায়ী সম্পর্ক নেই , যা আমার কাছে কোনও ডিজাইনের ত্রুটির মতো বলে মনে হয়। আমি অনুমান করছি এই রেসের অবস্থাটি খুব কমই একটি সমস্যা কারণ /etc/init/rfkill-restore.conf
এটি খুব সহজ এবং শুরুর শর্ত খুব কম।
সকল ব্যবহারের একটি বেতার বন্ধ ডিফল্ট যে আমি দেখা করেছি চেষ্টা প্রয়োগ সমাধান /etc/rc.local
সহ, "আধুনিক" সমাধান যে @Lekensteyn এবং @ rubo77 নিয়ে এসেছেন। দুর্ভাগ্যক্রমে, আমি যে দুটি ল্যাপটপের চেষ্টা করেছি সেগুলির সমাধান আমার পক্ষে কার্যকর হয় না। এই প্রবণতা বিশেষ করে বিস্ময়কর নয় কারণ /etc/rc.local
এছাড়াও রয়েছে কোন সময়গত সম্পর্ক যে আমি হয় এর খুঁজে পেতে পারেন /etc/init/rfkill-restore.conf
এবং /etc/init/network-manager.conf
। একটি /etc/rc.local
জারি করার আগে দীর্ঘ ঘুমের মধ্যে নিক্ষেপ করা rfkill block wifi
এই রেসের শর্তের জগাখিচুড়ি জন্য কুৎসিত কাজ, তবে দেরি যদি দীর্ঘ হয় তবে এটি কাজ করে।
একটি ভাল সমাধান আমাদের মধ্যে আমাদের কাঙ্ক্ষিত রাজ্যের আরোপ করার জন্য হবে /var/lib/rfkill/saved-state
এবং /var/lib/NetworkManager/NetworkManager.state
সামনে ঐ দুই ভুঁইফোড় কাজ এমনকি চালানোর জন্য অনুমতি দেওয়া হয়েছে। আমরা আমাদের নিজস্ব আপস্টার্ট কাজ তৈরি করে এটি অর্জন করতে পারি। প্রকৃতপক্ষে, আমাদের প্রয়োজনীয় সময়টি অর্জন করতে আমাদের দুটি কাজের কনফিগারেশন ফাইলের প্রয়োজন হবে।
আমাদের প্রথম কাজের কনফিগারেশনটি আমাদের প্রয়োজনীয় প্রকৃত ফাইল পরিবর্তনগুলি করে। এটি যত তাড়াতাড়ি সম্ভব চলবে এবং কেবল একবার চালানো হবে। /etc/init/radio-silence.conf
এই বিষয়বস্তু দিয়ে তৈরি করুন :
# radio-silence - Ensure radio silence on startup
#
# Override default startup behaviour of radios to ensure they are all
# disabled until the user deliberately enables them. This job requires
# radio-silence-wait to delay start of any services that may depend on
# resources manipulated by this job.
description "Disable all radios by default"
start on local-filesystems
pre-start script
sed -i -re "s/^(.+[[:space:]]+)[01][[:space:]]*\$/\11/" /var/lib/rfkill/saved-state
sed -i -re "s/^(WirelessEnabled=).*\$/\1false/" /var/lib/NetworkManager/NetworkManager.state
end script
আমার ল্যাপটপ শুরু হওয়ার সাথে সাথে আমি মোট রেডিও নীরবতাটিকে প্রাধান্য দিচ্ছি, আমি কেবল বেতার নয়, সমস্ত রেডিওগুলিকে নরম করে দেই তবে আপনি sed
যে কোনও ওয়্যারলেস ডিভাইসগুলি সফ্ট ব্লক করতে চান তাতে এই কাজের প্রভাব সীমাবদ্ধ করতে উপরের প্রথমটি পরিবর্তন করতে পারেন ।
আমাদের দ্বিতীয় কাজের কনফিগারেশন ফাইলের পরিবর্তনগুলি সম্পন্ন করার আগে rfkill-restore
এবং network-manager
চাকরির কোনওটিই শুরু হবে না তা নিশ্চিত করার জন্য দায়বদ্ধ radio-silence
। /etc/init/radio-silence-wait.conf
নিম্নলিখিত হিসাবে তৈরি করুন :
# radio-silence-wait - Helper task for radio-silence
#
# Delays the start of all jobs that may depend on resources manipulated
# by radio-silence job. Avoids the need to modify job configuration of
# those other jobs.
description "Assist radio-silence by delaying jobs it affects"
start on (starting rfkill-restore or starting network-manager)
stop on (started radio-silence or stopped radio-silence)
instance $JOB
normal exit 0 2
task
script
status radio-silence | grep -q "start/running" && exit 0
start radio-silence || true
sleep infinity
end script
এই সমাধানের সাথে আমি আর দৌড়ের অবস্থার সমস্যাগুলি দেখতে পাচ্ছি না, যদিও আমি rfkill-restore
এবং এর মধ্যে তাত্ত্বিক জাতিটির দিকে নজর দিইনি network-manager
।
এই কাজগুলি কীভাবে আমাদের অস্থায়ী লক্ষ্য অর্জনের জন্য একসাথে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, আমার প্রশ্ন এবং উত্তরটি দেখুন, "আমি অন্য দুটি কাজ শুরুর আগে গ্যারান্টিযুক্ত একক-প্রয়োগকারী আপস্টার্ট কাজ কীভাবে তৈরি করব?"
নেটওয়ার্ক ম্যানেজার ব্যবহার করে "আধুনিক" সমাধান: কেবলমাত্র নেটওয়ার্ক ম্যানেজার অ্যাপলেট (কেডিএ: নেটওয়ার্ক ম্যানেজমেন্ট) এর ওয়্যারলেস সক্ষম সক্ষম বিকল্পটি চেক করুন che কমান্ড nmcli nm wifi off
সমান। আপনি যদি বিক্ষিপ্তভাবে Wi-Fi সক্ষম করেন তবে পড়া চালিয়ে যান, তবে পুনরায় বুট করার সময় এটিকে অক্ষম করে তুলতে চান।
ওয়্যারলেস স্টেটটি ফাইলটিতে মনে আছে /var/lib/NetworkManager/NetworkManager.state
। বুটে ওয়াই-ফাই নিষ্ক্রিয় করতে, নিশ্চিত হয়ে নিন যে কীটি WirelessEnabled
চালু রয়েছে false
। আপনি নেটওয়ার্ক ম্যানেজারের init স্ক্রিপ্ট সম্পাদনা করে বা /etc/rc.local
নীচের কৌশলটি ব্যবহার করে এটি করতে পারেন । আপনার যে আদেশটি প্রয়োজন তা হ'ল:
sed s/^WirelessEnabled=true/WirelessEnabled=false/ -i /var/lib/NetworkManager/NetworkManager.state
rfkill block wifi
এটি আগে রাখুন exit 0
(নীচে বর্ণিত হিসাবে) rfkill block wifi
কমান্ড এখনো নেটওয়ার্ক ম্যানেজার (NM) প্রারম্ভে সঙ্গে একটি জাতি কারণে প্রয়োজন হয়। একবার এনএম শুরু হয়ে গেলে, স্টেট ফাইলটিতে পরিবর্তনগুলি কার্যকর হয় না।
(পুরানো উত্তর যা কমান্ডের /etc/rc.local
ব্যাখ্যা সহ ফাইল সম্পাদনা জড়িত rfkill
)
কিছুটা হ্যাকি, তবে এটি কাজ করা উচিত। rfkill
কমান্ডটি ব্যবহার করে একটি ওয়্যারলেস কার্ড অক্ষম করা যায় । আরএফকিলে ব্যবহৃত সমস্ত ডিভাইস ব্যবহার করে দেখানো যেতে পারে rfkill list
। নমুনা আউটপুট:
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
Hard blocked
এটি একটি হার্ডওয়্যার সেটিংয়ের উপর নির্ভরশীল, যেমন একটি নোটবুকের একটি বেতার সুইচ। Soft blocked
ওএস (উবুন্টু) দ্বারা নিয়ন্ত্রিত হতে পারে।
এটা কিভাবে কাজ করে? এটিতে কোনও ম্যানপেজ নেই, চালানো rfkill
এই ক্ষেত্রে একটি সহায়তা পাঠ্য সরবরাহ করে:
Usage: rfkill [options] command
Options:
--version show version (0.4)
Commands:
help
event
list [IDENTIFIER]
block IDENTIFIER
unblock IDENTIFIER
where IDENTIFIER is the index no. of an rfkill switch or one of:
<idx> all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm
আহ, এখন আমরা কোথাও পাচ্ছি। rfkill block wifi
ওয়্যারলেস ডিভাইসটি অক্ষম করতে আপনাকে রুট হিসাবে চালানো দরকার । (WLAN ওয়াইফাই একজন ওরফে হয়, দেখতে সোর্স কোড এর rfkill )।
এখন, আপনি যদি বুটটাইমের সময় ওয়্যারলেস ফাংশনগুলি অক্ষম করতে চান, তবে চালিয়ে কমান্ডটি /etc/rc.local যোগ করুন sudo nano /etc/rc.local
। লাইনের আগে নেভিগেট করতে exit 0
এবং যুক্ত করতে তীর কী / পৃষ্ঠা আপ / ডাউন কীগুলি ব্যবহার করুন rfkill block wifi
, যাতে ফাইলটি এর মতো শেষ হয়:
# By default, this script does nothing
rfkill block wifi
exit 0
শেষ হয়ে গেলে, Ctrl+ টিপুন X, তারপরে Yএটি সংরক্ষণ করতে টিপুন Enterএবং ফাইলের নামটি স্বীকার করতে টিপুন ।
আপনি পরে ডিভাইসটি সক্রিয় করার জন্য সিদ্ধান্ত নেন, সঞ্চালন করুন: sudo rfkill unblock wifi
। আপনি যদি বেতার কার্ড ব্যবহার করার সিদ্ধান্ত নেন তবে /etc/rc.local থেকে লাইনটি সরাতে ভুলবেন না।
/etc/rc.local
স্ক্রিপ্টটি রুট অনুমতি নিয়ে চালিত হওয়ায় আপনার সুডো দরকার নেই । রুট অনুমতি ব্যতীত আপনি ওয়াইফাই অক্ষম করতে পারবেন এটি খুব সম্ভবত। যদি আমি চেষ্টা করি rfkill block wifi
বা rfkill unblock wifi
, আমি "আরএফকিআইএল নিয়ন্ত্রণ ডিভাইসটি খুলতে পারি না: অনুমতি অস্বীকার করা হয়েছে" get
$ rfkill block wifi
নেটওয়ার্ক ম্যানেজার অ্যাপলেটটিকে "ওয়্যারলেস অক্ষম করা আছে" $ iwconfig
প্রদর্শন এবং প্রদর্শন করার কারণ করে Tx-Power=off
। $ rfkill unblock wifi
এই প্রভাবটিকে পূর্বাবস্থায় ফেলেছে।
/etc/rc.local
। পরিবর্তে এটি ব্যবহার করুন:/bin/sleep 10 && rfkill block wifi
/var/lib/NetworkManager/NetworkManager.state
ফাইল রয়েছে যা সেটিংসকে বহাল রাখে, সেগুলির মধ্যে একটি WirelessEnabled=false
। আমি আপনার প্রশ্নে পোস্ট করব ..
আপনার ওয়্যারলেস কার্ডটি অক্ষম করার সহজতম উপায় হ'ল নেটওয়ার্ক ম্যানেজার সূচকটি (প্যানেলে শীর্ষে ডানদিকে ছোট আইকন) টিপুন এবং আনটিক করুন Enable Wireless
। এটি ( ifconfig wlan0 down
) ইন্টারফেসটি নীচে আনবে এবং এটি আর স্ক্যানিং সম্পাদন করে না।
tlp
তবে দয়া করে পুরো উত্তরটি পড়ুন।এই প্রশ্নের সমস্ত উত্তর এখন বেশ পুরানো এবং নতুন উবুন্টু রিলিজ যা সিস্টেমেড ব্যবহার করে কাজ করে না। ফ্রুজের উত্তর আমার জন্য 14.04 এ কাজ করেছিল তবে 16.04 এ কাজ করে না।
সিস্টেমড systemd-rfkill.service
শাটডাউন চলাকালীন আরএফকিিল স্যুইচ অবস্থা সংরক্ষণ করতে এবং প্রতিটি বুটে পুনরুদ্ধার করতে ব্যবহার করে।
প্রতিটি বুটে আরএফকিিল স্যুইচ অবস্থা পুনরুদ্ধার করতে আপনাকে কার্নেল কমান্ড লাইন প্যারামিটারটি পাস করতে হবে।
/etc/default/grub
আপনার পছন্দসই পাঠ্য সম্পাদক দিয়ে খুলুন ।systemd.restore_state=1
একটি প্যারামিটার হিসাবে যুক্ত করুন GRUB_CMDLINE_LINUX
। সেই লাইনটি এখন পড়া উচিত GRUB_CMDLINE_LINUX="systemd.restore_state=1"
। আপনি এটি যুক্ত করতে পারেন GRUB_CMDLINE_LINUX_DEFAULT
। তাদের উভয়ই কাজ করে। আরও তথ্যের জন্য এই প্রশ্নটি দেখুন ।এটি নিশ্চিত করবে যে প্রতিটি বুটে আরএফকিিলের অবস্থা পুনরুদ্ধার হবে। পুনরায় চালু করার আগে ব্লুটুথ এবং ওয়াইফাইটি বন্ধ করে দেওয়া নিশ্চিত করুন।
tlp
:tlp 0.8-1
যা 16.04 সংগ্রহস্থলগুলিতে উপলব্ধ। tlp 0.9-1
লিনারার পিপিএ ব্যবহার করে আপডেট করার পরে , সমস্ত ইসসেসগুলি সমাধান করা হয়েছিল।আসল উত্তর:
tlp
"সংঘাতগুলি এড়াতে এবং টিএলপির রেডিও ডিভাইস স্যুইচিং বিকল্পগুলির যথাযথ পরিচালনার নিশ্চয়তাsystemd-rfkill.service
দিতে " মাস্ক / অক্ষম করে । ( সূত্র -১ , উত্স -২ )
এর অর্থ কার্নেল প্যারামিটারটি পাস করা আপনার পক্ষে কার্যকর হবে না।
Tlp এর ডিফল্ট কনফিগারেশন ফাইল ( /etc/default/tlp
) থেকে এখানে একটি ছোট স্নিপেট (লাইন নং 195 এর চারপাশে ) রয়েছে।
# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
# on system startup: 0=disable, 1=enable.
# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
# are ignored when this is enabled!
RESTORE_DEVICE_STATE_ON_STARTUP=0
# Radio devices to disable on startup: bluetooth, wifi, wwan.
# Separate multiple devices with spaces.
#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
# Radio devices to enable on startup: bluetooth, wifi, wwan.
# Separate multiple devices with spaces.
#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
আপনি দেখতে পাচ্ছেন বিকল্পটি RESTORE_DEVICE_STATE_ON_STARTUP
ডিফল্টরূপে অক্ষম করা আছে। তবে এই বিকল্পটি সক্ষম করা কোনও লাভ করে না।
আপনি অপশনটি সক্ষম করার পরেও RESTORE_DEVICE_STATE_ON_STARTUP
, ওয়াইফাই এবং ব্লুটুথ (ব্যবহার করে rfkill block all
) অক্ষম করুন এবং পুনরায় চালু করতে থাকুন, প্রতি ২ য় বা তৃতীয় বুটে কোনওভাবেই ওয়াইফাই সক্ষম হয়ে উঠবে। পরবর্তী বুটে ওয়াইফাই অক্ষম হবে এমন কোনও গ্যারান্টি নেই। আশ্চর্যজনকভাবে
tlp
প্রতিটি বুটে ব্লুটুথ অক্ষম রাখতে পরিচালনা করে।
স্নিপেটে একই বিকল্পটি দ্বিতীয় বিকল্পের জন্য যায় DEVICES_TO_DISABLE_ON_STARTUP
, এটি ডিফল্টরূপে অক্ষমও থাকে। এটি সক্ষম করা কোনও কাজ করে না। Network Manger
দেখায় যে ওয়াইফাই অক্ষম আছে তবে ওয়াইফাইতে rfkill list
কোনও সফট-ব্লক দেখায় না।
দ্রষ্টব্য: আমি লাইনটি পড়েছি
"Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below are ignored when this is enabled!"
।বিরোধগুলি এড়াতে
RESTORE_DEVICE_STATE_ON_STARTUP
সক্ষমDEVICES_TO_DISABLE_ON_STARTUP
করার আগে আমি অক্ষম করেছিলাম ।
tlp-rdw
প্রত্যাশার মতো কাজ করে না।tlp
ব্যবহারকারীদের জন্য সমাধান :tlp 0.9-1
লিনার পিপিএ ব্যবহার করার আপডেট Updateআসল উত্তর:
DEVICES_TO_DISABLE_ON_STARTUP
এটি ব্লুটুথ এবং ওয়াইফাই অক্ষম করার জন্য এটি সক্ষম ও সেট করা আপনার পক্ষে কাজ করতে পারে (( এটি এই ব্যক্তির পক্ষে কাজ করেছে )
এই প্রশ্নের askubuntu এখানে। এটি এই প্রশ্নের একটি পুরানো উত্তর অনুরূপ। তবে দয়া করে মনে রাখবেন যে আমি নিজে চেষ্টা করে দেখিনি। এটি নাও কাজ করতে পারে।
অন্যান্য উত্স: systemd-rfkill , tlp- কনফিগারেশন
GRUB_CMDLINE_LINUX
এবং GRUB_CMDLINE_LINUX_DEFAULT
প্লাস (নিঃশব্দ) sudo update-grub
কমান্ডের সংশোধন করে জবাব দিয়েছি এবং আমি এটি পপ_স-এ কাজ করতে পারি না! 19.10 (যা উবুন্টু 19.10 এর উপর ভিত্তি করে)। মতে systemctl status systemd-rfkill
, এই পরিষেবাটি ইতিমধ্যে প্রতিটি বুটে চলছে এবং যেহেতু ডিফল্ট মান হয় 1
, তাই এই প্রচেষ্টার প্রয়োজন হবে না। তথ্যের ভিত্তিতে man systemd-rfkill
, "প্রারম্ভিক বুট করার সময়" রেডিওর অবস্থা মনে রাখা ডিফল্ট আচরণ হওয়া উচিত, যা আমাকে বিশ্বাস করতে পরিচালিত করে যে এই উপাদানটি কোনওভাবে ভেঙে গেছে।
আমি ব্যক্তিগতভাবে আমি বৃহস্পতিটি আমার ল্যাপটপে ওয়্যারলেসটি অক্ষম করতে পাওয়ার ম্যানেজমেন্ট অ্যাপলেট ব্যবহার করি কারণ এটি একটি বিশেষ বোতাম দ্বারা নিয়ন্ত্রিত হয়। আমি মনে করি না যে মূল রেপোতে আমাকে এটি পেতে ওয়েবআপড 8 এ অ্যান্ড্রু থেকে পিপিএ যোগ করতে হয়েছিল।
আশাকরি এটা সাহায্য করবে.
আপনি যোগ করতে পারে
ifconfig wlan0 down
যাও /etc/rc.local
, কিন্তু প্রথম,
নিশ্চিত করুন যে আপনি যদি নেটওয়ার্কম্যানেজারটি ব্যবহার করেন (আমার কাছে সংস্করণ 0.8.4 ~ git.20110319t175609.d14809b-0ubuntu3) রয়েছে, আপনি মেনুতে " সংযোগগুলি সম্পাদনা করুন " -> " ওয়্যারলেস " ট্যাবটিতে যান, সংযোগে ক্লিক করুন, " সম্পাদনা " ক্লিক করুন , এবং নিশ্চিত করুন যে " ওয়্যারলেস " ট্যাবে, " স্বয়ংক্রিয়ভাবে সংযুক্ত করুন " চেকবক্সটি চেক করা হয়নি।
rfkill
।