Saat ini saya beralih di antara dua pengaturan berikut setiap hari:
1) Terhubung ke internet melalui jaringan WiFi.
2) Memiliki laptop (Ubuntu 16.04) saya terhubung ke internet melalui koneksi kabel, kemudian berbagi koneksi ini dengan perangkat saya yang lain melalui fungsionalitas hot-spot bawaan Ubuntu.
Saat ini, beralih dari 1 ke 2 mengharuskan saya untuk secara manual melalui dialog "sambungkan ke jaringan tersembunyi" di Network Manager; demikian pula beralih dari 2 ke 1 mengharuskan saya untuk memutuskan secara manual dari hotspot dan terhubung ke jaringan WiFi. Ini tidak banyak pekerjaan, tetapi saya cukup sering melakukannya sehingga saya ingin otomatis.
Ini tidak sesederhana mengaktifkan autoconnect untuk hotspot, sejak itu ia mengesampingkan fungsi autoconnect dari jaringan lain daripada menghubungkan saya ke jaringan WiFi ketika saya tidak terhubung melalui koneksi kabel, dan saya berakhir dengan hot-spot tetapi tidak ada internet. Jadi saya butuh solusi yang:
- menghubungkan saya ke hot-spot setiap kali saya terhubung ke internet melalui koneksi kabel.
- memutus saya dari hot-spot ketika tidak ada koneksi ethernet.
- autoconnect menghubungkan saya ke salah satu jaringan dengan autoconnect = true setiap kali mereka tersedia dan tidak ada koneksi ethernet.
Penjelasan lengkap tentang bagaimana melakukan hal ini akan sangat bagus, tetapi referensi ke manual (non-ahli) yang baik untuk membuat aturan semacam ini juga akan sangat dihargai.
sumber
post-up
dari/etc/network/interfaces
konteks, ada gambaran besar di sini .post-up
pada dasarnya hanya memanggil perintah, atau skrip, setelah antarmuka muncul.Jawaban:
Ini pemahaman saya bahwa ketika Anda mencolokkan kabel Ethernet yang mengalahkan koneksi wifi dan koneksi wifi turun secara otomatis. Dengan cara yang sama, melepaskan kabel ethernet otomatis menghubungkan ke wifi pilihan Anda (asalkan Anda memiliki kotak centang untuk menghubungkan otomatis ke jaringan Wifi pada tab umum manajer jaringan. Diuji pada instalasi default Ubuntu 16.04.3
Jadi, jika saya memahami Anda dengan benar, Anda hanya ingin secara otomatis memulai layanan hotspot di laptop Anda ketika kabel Ethernet terhubung dan menonaktifkan layanan ketika kabel Ethernet terputus.
Ini seharusnya cukup sederhana untuk dilakukan dengan skrip bash dan
nmcli
'nmcli' adalah alat networknig yang kuat yang memungkinkan Anda untuk membawa koneksi ke atas dan ke bawah sesuka hati dan mendapatkan banyak informasi yang relevan.Untuk mengetahui koneksi apa yang akan Anda buat skrip, jalankan saja
nmcli -t monitor| grep primary
ketika terhubung melalui wifi dan pasang kabel Ethernet Anda. Koneksi Anda tertarik dalam membawa atas dan ke bawah dengannmcli
akan mereka dikelilingi oleh'
s Contoh: 'koneksi Wired 1' logika adalah bahwa ketika 'Connection' terhubung memunculkan hotspot (Anda mungkin merasa perlu untuk menggunakan perintahsleep
atau memanfaatkan yang-w
beralih ke membuatnmcli
dalam script menunggu Anda untuk sejumlah detik tertentu untuk perintah untuk lengkap sebelum mengeluarkan berikutnya.Membawa koneksi itu sesederhana
nmcli 'connection name' down
dan membawa satu adalahnmcli 'connection name' up
Catatan: Untuk kontrol penuh melalui skrip, Anda mungkin harus benar-benar menonaktifkan opsi koneksi otomatis setidaknya untuk koneksi wifi Anda di Network manager karena ia akan mencoba untuk terhubung secara otomatis kapan pun tersedia dan dapat mengganggu apa yang ingin Anda capai. Kutipan dari
man nmcli
:Jadi setelah Anda menentukan bahwa Ethernet Anda terhubung, Anda dapat mengeluarkan perintah untuk menurunkan koneksi wifi. Contoh:
nmcli connection my-wifi down
dan kemudian koneksi hotspot ke atas Contoh:nmcli connection my-hotspot up
Untuk selengkapnya tentang cara menjalankan skrip secara otomatis berdasarkan koneksi jaringan lihat ini. Untuk detail lebih lanjut tentang 'nmcli' periksa halaman manual. Dan inilah info tentang cara membuat hotspot.
sumber
nmcli connection my-wifi down
tidak pernah menghubungkan kembali?Solusi yang melakukannya untuk saya (ditemukan dengan bantuan Penatua Geek).
Aku terus autoConnect di semua jaringan saya ingin secara otomatis terhubung ke, tapi off untuk hot-spot. Saya kemudian meletakkan skrip berikut (dengan izin yang tepat seperti yang dijelaskan pada halaman Wiki ini ) di folder
/etc/NetworkManager/dispatcher.d
Sejauh ini ini bekerja dengan sangat baik; koneksi otomatis ke hotspot setiap kali kabel ethernet dicolokkan atau bahkan ketika komputer boot atau bangun dengan kabel ethernet dicolokkan. Deconnection otomatis dari hot-spot setiap kali kabel ethernet dicabut, diikuti oleh koneksi otomatis ke jaringan WiFi yang tersedia.
sumber