23

Is it possible to get Network Manager working on Raspbian? It's easy to install with:

sudo apt-get install network-manager

but I couldn't get it to manage any of my connections. Unfortunately, it looks like only a old version of NM is available in the Debian repo.

32

I have found how to get NetworkManager (and systemd-resolved) working on Raspbian 9 (Stretch). NetworkManager is very useful when you need to manage multiple VPN connections with split DNS, wifi networks and other advanced network settings directly from the Pixel Desktop.

Here is how to do it:

  1. Install the needed packages with the following command:

    sudo apt install network-manager network-manager-gnome openvpn \
    

openvpn-systemd-resolved network-manager-openvpn
network-manager-openvpn-gnome

  1. Remove unneded packages:

    sudo apt purge openresolv dhcpcd5
  2. Replace /etc/resolv.conf with a symlink to /lib/systemd/resolv.conf:

    (do not execute this command on Raspbian 10, it will break your DNS)

    [only for Raspbian 9, not 10]
    sudo ln -sf /lib/systemd/resolv.conf /etc/resolv.conf
  3. Now go to the top of your screen and reconfigure the panel: open "Panel Settings" -> "Panel Applets": remove "Wireless & Wired Network". The network manager applet should appear after a reboot.

| improve this answer | |
  • 2
    Thank you! The purge step was vital. Without that, nmcli showed all my devices as "unavailable" and it couldn't control them. – Luke Nov 5 '17 at 6:31
  • 2
    You don't actually need openvpn. – Zimano Jul 20 '18 at 9:13
  • 2
    @luke The purge step isn't vital at all. NetworkManager just doesn't touch managed devices (like those configured in /etc/interfaces) – Zimano Dec 18 '18 at 14:56
  • 3
    This answer would be better without step 3. I've just tested it on a fresh Raspbian Buster install (September 2019 version) on a Raspberry Pi 4 Model B. Step 3 is redundant and breaks the DNS. – John Forbes Dec 17 '19 at 4:44
  • 1
    How do I reverse step 3? These steps broke my ethernet connection. – Steve W Jan 29 at 18:19
9

Try using wicd:

sudo apt-get install wicd

Wicd is a network manager application (wireless and wired), it a good alternative to Network Manager

| improve this answer | |
  • 8
    It would be helpful to at least try to explain how wicd is going to help the OP. Feel free to edit your post accordingly. – Ghanima Apr 20 '15 at 17:18
  • raspberrypi.stackexchange.com/a/9750/894 WICD curses exaplined – Piotr Kula Dec 17 '15 at 13:08
  • 2
    This does not attempt to answer the question, the OP asked how to install NetworkManager (not "a network manager") on Raspbian. wicd presents an easy TUI for managing networking, but so does nmtui that comes with NetworkManager. I don't see how acknowledging that wicd can be used for managing networks relates to the question of how to install NetworkManager. – Zimano Jul 20 '18 at 12:00
  • 1
    WICD does not work properly on raspbian Stretch. It continually doesn't bring the WLAN back up after disconnection saying that you have to "manually do it" making it useless. Development seems to have been abandoned as there haven't been updates for years. – Rob Mascaro Jul 21 '19 at 6:14
  • wicd is still a python2 programm - don't use it until there is a python3 port – schnedan Oct 9 at 16:49
2

This page ranks quite highly in search results for people looking for networking help on Raspberry Pi. Unfortunately, the steps detailed here are out-of-date as of Feb 2020.

At that point in time, to get Network Manager handling wifi on current Pi OS:

sudo apt update
sudo apt install network-manager network-manager-gnome

Check /etc/network/interfaces - it should be empty except for an include from /etc/network/interfaces.d. Now edit /etc/dhcpd.conf and add:

denyinterfaces wlan0

edit /etc/NetworkManager/NetworkManager.conf:

[main]
plugins=ifupdown,keyfile
dhcp=internal

[ifupdown]
managed=true

Restart, and you should have Network Manager in your menu bar, handling the wifi interface.

I've a few more details of what I did to make this work in this gist, including an alternative approach using a configuration file in /boot.

Unfortunately, I can't confirm that any of this still works as I no longer have access to the corporate network which requires Network Manager. But comments on the gist suggest that it's worked for at least some others. Good luck!

| improve this answer | |
  • I had been on your gist some few minutes ago. Now I find you here. Thanks for writing the gist and reporting on SE. – joaquin Sep 24 at 18:57
  • Another approach that may be of interest is systemd-networkd; there's a comprehensive Q&A on how to set that up here for Raspberry Pi. It also works for those that run "headless" - or the "Lite" version of the distro. – Seamus Oct 9 at 5:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.