कमांड-लाइन पर एक वाईफाई एक्सेस प्वाइंट से कनेक्ट करने के लिए नेटवर्क-मैनेजर का उपयोग करें


26

मैं कमांड-लाइन से वायरलेस एक्सेस प्वाइंट से कनेक्ट करना चाहता हूं । आदर्श रूप में, मुझे केवल एपी के नाम की आवश्यकता होगी। लेकिन हार्डवेयर-पता भी काम करेगा।

मुझे पता है कि मैं nmcliएक प्रबंधित नेटवर्क कनेक्शन से कनेक्ट करने के लिए उपयोग कर सकता हूं , लेकिन मेरे मामले में, नेटवर्क-प्रबंधक के लिए एक्सेस प्वाइंट अभी तक कॉन्फ़िगर नहीं किया जा सकता है (आउटपुट के बीच अंतर nm-toolऔर देखें nmcli con)।

उदाहरण का आउटपुट nmcli:

Auto pwln       3a3d62b1-bbdf-4f76-b4d2-c211fd5cfb03   802-11-wireless [...]  
Wired Network   aa586921-accf-4932-98c4-c873c310f08e   802-3-ethernet [...]  
Cisco-UDP Uni   7f94847b-04dc-40b7-9955-5246fb77cc65   vpn [...]  
T-mobile (D1)   867f345a-cbbf-4bd4-b883-a5e5ae0932f0   gsm  [...]

उदाहरण का आउटपुट nm-tool:

State: connected
- Device: eth1  [Auto pwln] ----------------------------------------------------
[...]
  Wireless Access Points (* = current AP)
    *pwln: Infra, [...], Freq 2472 MHz, Rate 54 Mb/s, Strength 80 WPA WPA2
    WLAN:  Infra, [...], Freq 2422 MHz, Rate 54 Mb/s, Strength 20 WPA WPA2

[...]

मैं उस एक्सेस प्वाइंट से कैसे जुड़ सकता हूं जो NM को ज्ञात हो या न हो?

अतिरिक्त: यह पता लगाना कि क्या कनेक्शन को पास-वाक्यांश की आवश्यकता है, और इसे कमांड-लाइन पर सबमिट करने के साथ-साथ बहुत अच्छा भी होगा (यह कहना है कि यह अच्छा होगा यदि नेटवर्क-मैनेजर कोई कीरिंग संवाद नहीं खोलेंगे या गुई पर त्रुटियाँ)

जवाबों:


6

आप इसके लिए उपयोग कर सकते हैं cnetworkmanager

संपादित करें:

कुछ जांच के बाद यह स्पष्ट हो जाता है कि एक ही समय में दो "उपयोगकर्ता कॉन्फ़िगरेशन प्रदाता" (एक निश्चित डबस पते पर सुनने वाला एप्लिकेशन) चलाना असंभव है, और cnetworkmanager को ऐसे "कॉन्फ़िगरेशन प्रदाता" के रूप में कार्य करने की आवश्यकता है (कम से कम तब तक कनेक्शन स्थापित किया गया है)।

अब, आप क्या कर सकते हैं /system/networking/connectionsकुंजी के तहत gconf के कनेक्शन के लिए जानकारी जोड़ सकते हैं (आप कमांडलाइन या स्क्रिप्ट से ऐसा कर सकते हैं), और फिर इसे कनेक्ट करने के लिए dbus या cnetworkmanager या nmcli जैसे कमांड-लाइन टूल का उपयोग करें। हो सकता है कि आपको पहले उपयोगकर्ता की कीरिंग की कुंजी को जोड़ना होगा (पासवर्ड पॉपअप से बचने के लिए)।

लेकिन निश्चित रूप से वह डेस्कटॉप पर काम नहीं करेगा जो एनएम-एपलेट (जैसे केडीई) की तुलना में दूसरे एनएम-क्लाइंट का उपयोग करता है। आपको यह पता लगाना होगा कि उनके लिए भी एक विन्यास कैसे प्रदान किया जाए ...

2 संपादित करें:

ऐसा लगता है कि यह org.freedesktop.NetworkManagerUserSettingsसिस्टम DBus के माध्यम से संभव हो सकता है , लेकिन यह सभी खराब दस्तावेज IMO है ...

आप कॉन्फ़िगरेशन सेटिंग्स और DBus इंटरफ़ेस युक्ति के बारे में पढ़ना चाह सकते हैं ।

और यहां एक प्रासंगिक उदाहरण है (हो सकता है कि आप सिस्टम कनेक्शन के बजाय एक उपयोगकर्ता कनेक्शन स्थापित करना चाहते हैं)


अब तक कुछ भी नहीं। दुर्भाग्य से, cnetworkmanager NetworkManager-एप्लेट ( "एक और एप्लेट चल रहा है") के अलावा ठीक से काम नहीं करेगा
Stefano Palazzo

मैंने इस बारे में पढ़ा कि NM & nm-applet कैसे काम करता है और मेरे उत्तर को संपादित करता है।
जेएनसी

11

यदि आप nmcliअभी भी नेटवर्क प्रबंधक में कनेक्शन कॉन्फ़िगर नहीं किया गया है, तो आप सीधे उपयोग कर सकते हैं :

nmcli dev wifi con "myssid" password "myssidpassword"

यदि आप अपने इतिहास में हाल के संस्करणों में वायरलेस पासवर्ड को संग्रहीत नहीं करना चाहते हैं (हो सकता है कि नीचे बताए गए नए की तुलना में) तो आप --asknmcli के लिए जोड़ सकते हैं जो आपको इसकी लापता जानकारी की आवश्यकता है।

nmcli --ask device wifi connnect "myssid"

यह सुविधा नेटवर्क प्रबंधक 0.9.6 में जोड़ी गई थी, इसलिए यह केवल Ubuntu 12.10 या बाद के संस्करण में काम करता है।

आप इसके साथ उपलब्ध पहुँच बिंदुओं की एक सूची भी प्राप्त कर सकते हैं:

nmcli dev wifi list

conद्वारा मान्यता नहीं हैnmcli dev wifi
kaiser

आप कौन सा संस्करण उपयोग कर रहे हैं? यह मेरे लिए काम करता है, और मैनपेज में एक उदाहरण के रूप में प्रलेखित है।
रॉबी बसाक

nmcli -vहै0.9.4.0
kaiser

तो आप 12.04 का उपयोग कर रहे हैं? जैसा कि मैंने अपने जवाब में कहा, यह केवल Ubuntu 12.10 या बाद के संस्करण पर काम करता है।
रॉबी बसाक

यह मामला हो सकता है। मुझे आश्चर्य है कि अगर मैं sudo apt-get updateयह कर सकता था।
कैसर

2

आप wep एन्क्रिप्शन के लिए iwconfig (wifitools), या wpa और wep के लिए wpa_supplicant का उपयोग कर सकते हैं, यदि आप कुछ आसान, अच्छी किस्मत = तलाश रहे हैं, तो भी आप wicd- शाप का उपयोग करते हैं)


मैं वास्तव में नेटवर्क मैनेजर का उपयोग करना चाहूंगा, शायद dbus के माध्यम से। मैं ऑपरेटिंग सिस्टम के साथ बहुत ज्यादा गड़बड़ नहीं कर सकता, क्योंकि कार्यक्रम मैं केवल अपनी मशीन पर नहीं चल रहा हूं। सभी कॉन्फ़िगरेशन, जहां संभव हो, अपरिवर्तित रहना चाहिए।
Stefano Palazzo

1

आप iwconfig और iwlist की जांच कर सकते हैं:

  • iwconfig बेसिक वायरलेस मापदंडों में हेरफेर करता है
  • iwlist स्कैनिंग और सूची आवृत्तियों, बिट-दर, एन्क्रिप्शन कुंजियों को आरंभ करने की अनुमति देता है ...

कई विकल्प हैं। अधिक के लिए लिनक्स के लिए वायरलेस उपकरण देखें ।


2
जैसा कि मैंने कहा, मैं नेटवर्क-मैनेजर के साथ एकीकृत करना चाहता हूं, इसे प्रतिस्थापित नहीं करना।
Stefano Palazzo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.