जवाबों:
मैंने एक बेहतर तरीका ढूंढ लिया है जो मेरे लिए काम करता है। कम से कम एक क्लीनर रास्ता। जाहिरा तौर पर उबंटू बदल नवोदय के लिए systemd उबंटू 15.04, उबंटू 16.04 में, और शायद अगले संस्करण भी। मैं दोनों प्रणालियों के लिए नया हूं लेकिन यह मेरे लिए काम कर रहा है।
मैं इस पोस्ट कर रहा हूँ क्योंकि, जबकि googling उबंटू 16 wol और अन्य मिलती-जुलती खोजों मैं इस पोस्ट को कई बार साथ भर में आया था। यह किसी और की मदद कर सकता है।
WOL को काम पर रखने के लिए, मुझे हर बार सिस्टम बूट होने पर इसे फिर से सक्षम करना पड़ा। मैन्युअल रूप से ऐसा करने से बचने के लिए मैंने इस उद्देश्य के लिए सिस्टमड का उपयोग किया। यह जो मैंने किया है:
सबसे पहले, फ़ाइल बनाएं /etc/systemd/system/wol@.service
(@ प्रतीक रखें)। इसे इसमें डालें:
[Unit]
Description=Wake-on-LAN for %i
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
बूट पर इंटरफ़ेस के लिए इसे सक्षम करें, निम्न कमांड चलाएं (अपने इंटरफेस के साथ eth3 बदलें):
systemctl enable wol@eth3
आपको कुछ इस तरह से देखना चाहिए:
Created symlink from /etc/systemd/system/multi-user.target.wants/wol@eth3.service to /etc/systemd/system/wol@.service.
यदि यह सक्षम है, तो जांच करने के लिए, निम्न कमांड चलाएं (अपने इंटरफेस के साथ eth3 बदलें) और इसे वापस आना चाहिए enabled
:
systemctl is-enabled wol@eth3
इसका परीक्षण करने के लिए, रिबूट और रन करें (अपने इंटरफेस के साथ eth3 बदलें):
ethtool eth3
आपको निम्नलिखित के साथ एक पंक्ति देखनी चाहिए:
Wake-on: g
सूत्रों का कहना है:
कल का नवाब:
अपस्टार्ट / sbin / init डेमॉन के लिए एक इवेंट-आधारित प्रतिस्थापन है जो बूट के दौरान कार्यों और सेवाओं की शुरुआत को संभालता है, शटडाउन के दौरान उन्हें रोक देता है और सिस्टम चालू होने पर उनकी देखरेख करता है।
- अपस्टार्ट - ईवेंट-आधारित इनिट डेमॉन
systemd:
systemd एक Linux सिस्टम के लिए बुनियादी बिल्डिंग ब्लॉक्स का एक सूट है। यह एक सिस्टम और सर्विस मैनेजर प्रदान करता है जो PID 1 के रूप में चलता है और बाकी सिस्टम को शुरू करता है। (...)
- सिस्टमड
उबंटू में 16.04 WOL_DISABLE=N
में /etc/default/tlp
टीएलपी पावर मैनेजमेंट द्वारा वीओएल को अक्षम होने से बचाने के लिए सेट किया गया है।
http://linrunner.de/en/tlp/docs/tlp-configuration.html
जोड़े NETDOWN=no
में /etc/default/halt
शटडाउन के दौरान नेटवर्क कार्ड पावर बंद करने को रोकने के लिए
/etc/network/interfaces
स्थिर नेटवर्क कॉन्फ़िगरेशन का उपयोग करने पर LAN पर जागो सक्षम करें ।
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
up ethtool -s eth0 wol g
BIOS में लैन पर वेक सक्षम करें, BIOS सेटअप में प्रवेश करें और "पीसीआई इवेंट पर वेक अप", "लैन पर जागो" या इसी तरह की चीज को देखें। इसे बदलें ताकि यह सक्षम हो। अपनी सेटिंग्स सहेजें और रिबूट करें।
https://help.ubuntu.com/community/WakeOnLan
कुछ मदरबोर्ड / नेटवर्क नियंत्रकों को चेतावनी दें कि कोल्ड बूट (S5 स्थिति, जहां सिस्टम की शक्ति को भौतिक रूप से बंद कर दिया गया है और वापस फिर से) पर WOL का समर्थन नहीं करता है। उस स्थिति में, कम से कम एक शक्ति चक्र (पावर अप, शटडाउन) का प्रदर्शन करना होगा। समस्या को कम करने के लिए, AC को पुनर्स्थापित करने पर BIOS को पावर अप करने के लिए कॉन्फ़िगर किया जा सकता है और बाद में उबंटू के अंदर एक शटडाउन शेड्यूल किया जा सकता है। आगे के विवरण के लिए मदरबोर्ड के मैनुअल का संदर्भ लें।
WOL को काम करने के लिए, सुनिश्चित करें कि जब आप पॉवरऑफ करते हैं, तो आपके ईथरनेट इंटरफेस को आपके सिस्टम द्वारा ठीक से बंद किया जा रहा है।
निम्नलिखित प्रयास करें:
/Etc/rc6.d/ निर्देशिका पर wol_poweroff.sh नामक एक बैश स्क्रिप्ट बनाएं :
sudo nano /etc/rc6.d/wol_poweroff.sh
इस कोड को इसमें डालें:
#!/bin/bash
ifconfig eth0 down
poweroff
इसे /etc/rc0.d निर्देशिका पर कॉपी करें (इसलिए यह भी रुके हुए काम करता है ):
sudo cp /etc/rc6.d/wol_poweroff.sh /etc/rc0.d/wol_poweroff.sh
उन दोनों को निष्पादन योग्य बनाएं:
sudo chmod 755 /etc/rc6.d/wol_poweroff.sh
sudo chmod 755 /etc/rc0.d/wol_poweroff.sh
अब यह देखने के लिए परीक्षण करें कि क्या यह एक जादुई पैकेट भेजने के लिए WOL टूल का उपयोग कर रहा है sudo shutdown now
या sudo poweroff
नहीं।
बस यही एक चीज थी जो मेरे लिए काम करती थी। मुझे लॉन्चपैड.नेट पर एक बग रिपोर्ट में वे चरण मिले।
लेखक के अनुसार, रॉबी विलियमसन, यह निम्नलिखित के कारण काम करता है:
WOL को काम करने के लिए ईथरनेट इंटरफ़ेस को सिस्टम शटडाउन के हिस्से के रूप में ठीक से नीचे लाया जाना चाहिए। इसे रन स्तर rc0 और rc6 के भाग के रूप में प्रदर्शित किया जाना चाहिए, यह ध्यान में रखते हुए कि लिनक्स में आमतौर पर 7 अलग-अलग रन स्तर होते हैं (या अन्य मोड):
rc0.d - सिस्टम रुका हुआ
rc1.d - एकल उपयोगकर्ता मोड
rc2.d - नेटवर्किंग के साथ एकल उपयोगकर्ता मोड
rc3.d - बहु-उपयोगकर्ता मोड - पाठ मोड में बूट करें
rc4.d - अभी तक परिभाषित नहीं है
rc5.d - बहु-उपयोगकर्ता मोड - एक्स विंडोज में बूट करें
rc6.d - शटडाउन और रिबूट
स्रोत: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461
टर्मिनल में निम्नलिखित चलाएँ:
sudo ethtool -s {your network interface} wol g
sudo ethtool {your network interface}
आपको दूसरी कमांड लिखने के बाद लैन पर जागने के लिए अगले जी को देखना चाहिए
यदि आप NetworkManager का उपयोग करते हैं, तो आप WOL को इसके माध्यम से सक्षम कर सकते हैं nmcli
:
nmcli connection show
ब्याज के मूल्य के लिए "802-3-एहर्नेट" TYPE के कनेक्शन का NAME याद रखें। इसे नाम दें "वायर्ड कनेक्शन 1"। फिर इसे ठीक से संशोधित करें:
nmcli connection modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic
इसका मैक एड्रेस पाने के लिए:
nmcli connection show "Wired connection 1" | grep 802-3-ethernet.mac-address
अब से आप इसे बंद कर सकते हैं और wakeonlan 1a:2b:3c:4d:5e:6f
कमांड द्वारा उसी लैन पर दूसरी मशीन से चालू कर सकते हैं , जहां 1a:2b:3c:4d:5e:6f
पिछले चरण से लैन कार्ड का मैक पता है।
@Nkef द्वारा सुझाए गए मापदंडों के अलावा, आप निम्नलिखित को / etc / नेटवर्क / इंटरफेस में सेट कर सकते हैं यदि आप LAN एडाप्टर के लिए स्थिर IP सेटिंग्स के बजाय DHCP का उपयोग करते हैं (यहाँ eth0 नाम दिया गया है):
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
ethernet-wol g
(उबंटू 16.04 एलटीएस पर परीक्षण किया गया)।
यह सिर्फ मुझे उबंटू 18.04 (हेडलेस / मिनिमम इन्स्टॉल) के तहत भी देता है, दुर्भाग्यवश यहां पहले से सूचीबद्ध उत्तर हालांकि वे कभी-कभी काम करते दिख सकते हैं क्योंकि वे एक विश्वसनीय समाधान प्रदान नहीं करने जा रहे हैं क्योंकि वे रेस की स्थिति बनाते हैं या सिस्टेम की पसंद से लड़ते हैं, netplan और udev।
मैंने पहले भी इस दृष्टिकोण की कोशिश की थी और यह काम करने लगा था, मैं बैकअप चलाने के लिए वेकेनएलन के माध्यम से प्रत्येक शाम को बूट करने के लिए एक सिस्टम शेड्यूल कर रहा हूं क्योंकि सिस्टम BIOS विकल्प पर एक अनुसूचित एसी प्रदान नहीं करता है।
यह कुछ दिनों के लिए काम करेगा और फिर जागने से इनकार कर सकता है, इसे मैन्युअल रूप से बिजली देने और एथलूल चलाने से पता चलता है कि WoL हो गया है:
Wake-on: d
इसलिए मुझे लगा कि कुछ और इसे वापस बंद करना होगा और पिछले कुछ वर्षों में सिस्टम के कुछ हिस्सों को लेने के साथ कई ऐसे मुद्दे थे जिन्हें मैंने यहां शुरू करने का फैसला किया, लो और निहारना:
वेकोऑनलाइन = .. .. डिफॉल्ट करता है।
https://www.freedesktop.org/software/systemd/man/systemd.link.html
ऑनलाइन की तर्ज पर उदाहरण कुछ दिखाते हैं:
/etc/systemd/network/50-wired.link
[Match]
MACAddress=<MAC ADDRESS>
[Link]
WakeOnLan=magic
कैसे यह अभी भी काम नहीं कर रहा था। फिर मैं इस पार आया:
udevadm test-builtin net_setup_link /etc/systemd/network/50-wired.link
जिसके परिणामस्वरूप:
Load module index
Parsed configuration file /lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/50-wired.link
Parsed configuration file /run/systemd/network/10-netplan-eno1.link
और मुझे /run/systemd/network/10-netplan-eno1.link में क्या मिलता है?
[Match]
MACAddress=<MAC ADDRESS>
[Link]
Name=eno1
WakeOnLan=off
समाधान या तो:
जैसा कि मेरे पास पहले से ही systemd .link फ़ाइल थी, मैंने बस इसका नाम बदलकर 00-wired.link कर दिया, रिबूट किया और अब ethtool eno1 रिपोर्ट:
Wake-on: g
बिना किसी अतिरिक्त सेवाओं के केवल वाह को सक्षम करने के उद्देश्य से।