Wicked configuration

Is there any config manager for wicked, that is more useable than having to do the full Yast config thing?
ie command line/gui control over what Wifi network I am connected to…?

Use ip

man ip

to configure on the spot and add and edit the proper configuration files in /etc/netconfig.d to let it happen at boot.

Maybe it is better to tell what your problems with using YaST are, because simply suggesting that you do not like to use " to do the full Yast config thing" does not help in informing us where your real problem is.

Network manager is about a 2/3 click solution to change the wifi network from the widget in plasma, comparatively wicked is complex - multiple click/open programs, regardless of whether you use gui or terminal, possibly have to log in, etc. And also takes longer to open/save config.

You are comparing apples and pears. Wicked and NM are for different purposes.

I have a desktop here that is configured to start it’s network at boot. Just configured it for Wicked with YaST one time years ago. That is all.

When you have a “walk around computer” like a laptop that you use regularly on different places with different networks, then you use NM, so the end-user can use the NM applet to see what Wifi is available and then make a choice for his then and there user session.

And you can even use NM to configure fixed connections that will start on boot nowadays, allthouf=gh that is not what NM was original designed for.

Oh, ok. Thanks for the explanation. I was “sort of” assuming they were 2 tools, to do the same job… My reason for the query, was because, yes, I am using a desktop, with generally the one wifi, but occasionally I need to connect to another, hence would like a simple way of doing this…

Now we are getting to something. There is a link that describes this: Describe the goal not the step :wink:

What would I try? Knowing that the Wicked configuration is stored in /etc/netconf.d with the name of the NIC (sorry, I do not use Wicked anymore, but systemd.network, so I have to talk from memory), I would probably create one config with YaST for Wicked. Then copy it under a different name. Then create the second config and again copy the config file to another name. Then on switching simply cp one of the files into the config file and restarting the network should do the trick.

I almost never used NM, but it could be that someone will show up with a good solution using NM even when using “system connections”.

Where on earth have you got it from? Wicked configuration generated by YaST is stored in /etc/sysconfig/network as ifcfg-interface.

sorry, I do not use Wicked anymore

Then at least check documentation to make sure what you write is correct.

but systemd.network

For wireless? You must be kidding …

I agree with your first two points.

But AFAIK one can configure a Wifi connection using systemd.network. I think @karlmistelberger posted examples.

So you did not try it yourself?

I think @karlmistelberger posted examples.

Do not get me started, please …

P.S. and software is systemd-networkd. systemd.network is man page for configuration file format.

When I am completely useless in this thread, maybe you could help the OP?

The examples are here: Network Management With Systemd - openSUSE Wiki

Previous host erlangen is now 6700K:

**6700K:~ #** cat /etc/systemd/network/wlan.network        

**6700K:~ #** cat /etc/wpa_supplicant/wpa_supplicant.conf  
    ssid="FRITZ!Box Karl Mistelberger" 
**6700K:~ #**
**6700K:~ #** networkctl  
  1 lo    loopback **carrier    ** unmanaged 
  2 eth0  ether    off         unmanaged 
  3 wlan0 wlan     **routable   ****configured**

3 links listed. 
**6700K:~ #** resolvectl                  
       Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported 
resolv.conf mode: uplink 

**Link 2 (eth0)**
Current Scopes: none 
     Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported 

**Link 3 (wlan0)**
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 
     Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported 
   DNS Servers: fd00::a96:d7ff:fee2:d6cf 
    DNS Domain: fritz.box 
**6700K:~ #**
**6700K:~ #** journalctl -b -o short-monotonic -u systemd-networkd.service -u systemd-resolved.service -u wpa_supplicant@wlan0.service --no-pager  
    3.663827] 6700K systemd[1]: Starting Network Configuration... 
    3.864567] 6700K systemd-networkd[611]: lo: Link UP 
    3.864908] 6700K systemd-networkd[611]: lo: Gained carrier 
    3.864962] 6700K systemd-networkd[611]: Enumeration completed 
    3.865020] 6700K systemd[1]: Started Network Configuration. 
    3.866763] 6700K systemd[1]: Starting Network Name Resolution... 
    3.907883] 6700K systemd-resolved[730]: Positive Trust Anchors: 
    3.908118] 6700K systemd-resolved[730]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d 
    3.908153] 6700K systemd-resolved[730]: Negative trust anchors: home.arpa 10.in-addr.arpa ...
    3.917347] 6700K systemd-resolved[730]: Using system hostname '6700K'. 
    3.918078] 6700K systemd[1]: Started Network Name Resolution. 
    4.395086] 6700K systemd-networkd[611]: **wlan0: found matching network '/etc/systemd/network/wlan.network', based on potentially unpredictable interface name.**
    4.396432] 6700K systemd[1]: Started WPA Supplicant daemon (interface wlan0). 
    4.412711] 6700K systemd-networkd[611]: wlan0: Link UP 
    5.412360] 6700K systemd-networkd[611]: wlan0: Connected WiFi access point: FRITZ!Box Karl Mistelberger (XXXXXXXXXXXXXXXXXXXX) 
    5.511821] 6700K systemd-networkd[611]: wlan0: Gained carrier 
    5.511892] 6700K systemd-networkd[611]: **wlan0: found matching network '/etc/systemd/network/wlan.network', based on potentially unpredictable interface name.**
    6.571957] 6700K systemd-networkd[611]: wlan0: DHCPv4 address, gateway acquired from 
    7.303878] 6700K systemd-networkd[611]: wlan0: Gained IPv6LL
**6700K:~ #** 

Sigh … as if I did not knew how to do it …

So to use systemd-networkd with WiFi one must manually configure completely unrelated (and heavily undocumented) program; one must manually care that this program is started with the right configuration at the right moment (because by default wpa_supplicant startup units are aimed at being controlled remotely); one must still manually modify wpa_supplicant configuration to connect to different network (which was the exact problem this thread was discussing) - and systemd-networkd configuration as well.

IOW instead of using one program (in case of wicked) to manage both WiFi and IP parts of setting up the interface and letting wicked to talk to wpa_supplicant as needed, program that has reasonable GUI/TUI to perform configuration, program that is integrated with distribution management tools/installer we need to use two different programs requiring manual configuration and not integrated with anything. Sure, huge improvement … which does not help in eliminating manual reconfiguration step in any way so does not answer the question in the first place.

I do not think that @karlmistelberger claims to have a solution to the OP’s question. He only answers to my post where I mention that configuring Wifi with systemd networking is possible. Which he confirms. If that method is to the taste of others is something different.

And my posts where I only suggest a path how one could switch more easy between configurations then what the OP does: reconfigure complete with the GUI every time. Namely by conserving the different configuration files and copying them into place (probably using a script) as needed.

But think the OP will be glad with yet a more feaseble suggestion, so is there, or is there not a nice solution to the OP’s question?

Use NetworkManager?

I have no need for switching networks. Users may try out wpa_cli or wpa_gui.