\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{misterrabinhalder} \pdfinfo{ /Title (networkmanager.pdf) /Creator (Cheatography) /Author (misterrabinhalder) /Subject (NetworkManager Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{2939A3} \definecolor{LightBackground}{HTML}{F1F2F9} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{NetworkManager Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{misterrabinhalder} via \textcolor{DarkBackground}{\uline{cheatography.com/35799/cs/19264/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}misterrabinhalder \\ \uline{cheatography.com/misterrabinhalder} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 10th May, 2019.\\ Updated 26th April, 2019.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Installation}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{RedHat} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}yum install NetworkManager \{\{nl\}\} yum install NetworkManager-tui} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Archlinux} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}pacman -S networkmanager} \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Debian} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}apt-get install network-manager} \tn % Row Count 7 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{NetworkManager Initialization}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Systemd} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}systemctl start NetworkManager \{\{nl\}\} systemctl enable NetworkManager \{\{nl\}\} systemctl status NetworkManager} \tn % Row Count 4 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{General Commands}} \tn % Row 0 \SetRowColor{LightBackground} nmcli general status & Show overall status of NetworkManager \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} nmcli general hostname {[}hostname{]} & Get and change system hostname \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} nmcli general permissions & Show the permissions \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} nmcli general logging {[}level level{]} {[}domains domains...{]} & Get and change NetworkManager logging level and domains \tn % Row Count 9 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.4931 cm} x{3.4839 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Activity Monitor}} \tn % Row 0 \SetRowColor{LightBackground} nmcli monitor & Observe NetworkManager activity \tn % Row Count 2 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.38896 cm} x{2.58804 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Networking Control Commands}} \tn % Row 0 \SetRowColor{LightBackground} nmcli networking {[}on | off{]} & Enable or disable networking control by NetworkManager \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} nmcli networking connectivity {[}check{]} & connectivity {[}check{]} \tn % Row Count 5 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.18988 cm} x{2.78712 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Radio Transmission Control Commands}} \tn % Row 0 \SetRowColor{LightBackground} nmcli radio wifi {[}on | off{]} & Show or set status of Wi-Fi \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} nmcli radio wifi wwan {[}on | off{]} & Show or set status of WWAN \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} nmcli radio wifi all {[}on | off{]} & Show or set all previously mentioned radio switches at the same time \tn % Row Count 8 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.33919 cm} x{2.63781 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Secret Agent}} \tn % Row 0 \SetRowColor{LightBackground} nmcli agent \{secret | polkit | all\} & Run nmcli as a NetworkManager secret agent, or polkit agent \tn % Row Count 3 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Examples}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Listing available Wi-Fi APs} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli device wifi list} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Showing general information and properties for a Wi-Fi interface} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli -p -f general,wifi-properties device show wlan0} \tn % Row Count 6 (+ 4) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Listing NetworkManager polkit permissions} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli general permissions} \tn % Row Count 8 (+ 2) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Listing NetworkManager log level and domains} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli general logging} \tn % Row Count 10 (+ 2) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Changing NetworkManager logging} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli g log level DEBUG domains CORE,ETHER,IP \{\{nl\}\} nmcli g log level INFO domains DEFAULT} \tn % Row Count 13 (+ 3) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Activating a VPN connection profile requiring interactive password input} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli -{}-ask con up my-vpn-con} \tn % Row Count 16 (+ 3) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Adding a bonding master and two slave connection profiles} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli con add type bond ifname mybond0 mode active-backup \{\{nl\}\} nmcli con add type ethernet ifname eth1 master mybond0 \{\{nl\}\} nmcli con add type ethernet ifname eth2 master mybond0} \tn % Row Count 22 (+ 6) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Adding a team master and two slave connection profiles} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli con add type team con-name Team1 ifname Team1 config team1-master-json.conf \{\{nl\}\} nmcli con add type ethernet con-name Team1-slave1 ifname em1 master Team1 \{\{nl\}\} nmcli con add type ethernet con-name Team1-slave2 ifname em2 master Team1 \{\{nl\}\} nmcli con add type ethernet con-name Team1-slave2 ifname em2 master Team1 \{\{nl\}\} nmcli con up Team1-slave1 \{\{nl\}\} nmcli con up Team1-slave2} \tn % Row Count 33 (+ 11) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Examples (cont)}} \tn % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Adding a bridge and two slave profiles} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli con add type bridge con-name TowerBridge ifname TowerBridge \{\{nl\}\} nmcli con add type ethernet con-name br-slave-1 ifname ens3 master TowerBridge \{\{nl\}\} nmcli con add type ethernet con-name br-slave-2 ifname ens4 master TowerBridge \{\{nl\}\} nmcli con modify TowerBridge bridge.stp no} \tn % Row Count 8 (+ 8) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Adding an ethernet connection profile with manual IP configuration} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli con add con-name my-con-em1 ifname em1 type ethernet ip4 192.168.100.100/24 gw4 192.168.100.1 ip4 1.2.3.4 ip6 abbe::cafe \{\{nl\}\} nmcli con mod my-con-em1 ipv4.dns "8.8.8.8 8.8.4.4" \{\{nl\}\} nmcli con mod my-con-em1 +ipv4.dns 1.2.3.4 \{\{nl\}\} nmcli con mod my-con-em1 ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844" \{\{nl\}\} nmcli -p con show my-con-em1} \tn % Row Count 18 (+ 10) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Convenient field values retrieval for scripting} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli -g ip4.address connection show my-con-eth0 \{\{nl\}\} nmcli -g ip4.address,ip4.dns connection show my-con-eth0 \{\{nl\}\} nmcli -g ip4 connection show my-con-eth0} \tn % Row Count 23 (+ 5) % Row 11 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Adding an Ethernet connection and configuring SR-IOV VFs} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli con add type ethernet con-name EthernetPF ifname em1 \{\{nl\}\} nmcli con modify EthernetPF sriov.total-vfs 3 sriov.autoprobe-drivers false \{\{nl\}\} nmcli con modify EthernetPF sriov.vfs '0 mac=00:11:22:33:44:55 vlans=10, 1 trust=true spoof-check=false' \{\{nl\}\} nmcli con modify EthernetPF +sriov.vfs '2 max-tx-rate=20'} \tn % Row Count 32 (+ 9) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Examples (cont)}} \tn % Row 12 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Escaping colon characters in tabular mode} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli -t -f general -e yes -m tab dev show eth0} \tn % Row Count 2 (+ 2) % Row 13 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Adding an ethernet connection profile in interactive editor} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}nmcli connection edit type ethernet \{\{nl\}\} print \{\{nl\}\} goto ethernet \{\{nl\}\} goto ipv4.addresses \{\{nl\}\} set ipv4.gateway 192.168.1.1 \{\{nl\}\} verify \{\{nl\}\} print \{\{nl\}\} set ipv4.dns 8.8.8.8 8.8.4.4 \{\{nl\}\} print \{\{nl\}\} verify \{\{nl\}\} save \{\{nl\}\} quit} \tn % Row Count 10 (+ 8) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.4931 cm} x{3.4839 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Running NetworkManager}} \tn % Row 0 \SetRowColor{LightBackground} -{}-version | -V & Print NetworkManager software version \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} -{}-help | -h & Print NetworkManager options \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} -{}-no-daemon | -n & Do not daemonize \tn % Row Count 5 (+ 2) % Row 3 \SetRowColor{white} -{}-debug | -d & Print output to STDOUT \tn % Row Count 6 (+ 1) % Row 4 \SetRowColor{LightBackground} -{}-pid-file | -p & Specify location of PID file \tn % Row Count 8 (+ 2) % Row 5 \SetRowColor{white} -{}-state-file & Specify file for storing state \tn % Row Count 10 (+ 2) % Row 6 \SetRowColor{LightBackground} -{}-config & Specifiy configuration file \tn % Row Count 11 (+ 1) % Row 7 \SetRowColor{white} -{}-log-level & Set NetworkManager logging \tn % Row Count 12 (+ 1) % Row 8 \SetRowColor{LightBackground} -{}-log-domain & List operations to log \tn % Row Count 13 (+ 1) % Row 9 \SetRowColor{white} -{}-print-config & Print Networkmanger configuration \tn % Row Count 15 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Connection Management Commands}} \tn % Row 0 \SetRowColor{LightBackground} nmcli connection show {[}-{}-active{]} {[}-{}-order {[}+-{]}category:...{]} & List all profiles \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} nmcli connection show {[}-{}-active{]} {[}id | uuid | path | apath{]} ID... & Show details for specified connections \tn % Row Count 7 (+ 4) % Row 2 \SetRowColor{LightBackground} nmcli connection up {[}id | uuid | path{]} ID {[}ifname ifname{]} {[}ap BSSID{]} {[}passwd-file file{]} & Activate a connection \tn % Row Count 12 (+ 5) % Row 3 \SetRowColor{white} nmcli connection down {[}id | uuid | path | apath{]} ID... & Deactivate a connection \tn % Row Count 15 (+ 3) % Row 4 \SetRowColor{LightBackground} nmcli connection modify {[}-{}-temporary{]} {[} id | uuid | path {]} ID \{option value | {[}+|-{]}setting.property value\} ... & Add, modify or remove properties \tn % Row Count 21 (+ 6) % Row 5 \SetRowColor{white} nmcli connection add {[}save \{yes | no\}{]} \{option value | {[}+|-{]}setting.property value\} ... & Create a new connection \tn % Row Count 26 (+ 5) % Row 6 \SetRowColor{LightBackground} nmcli connection edit \{{[}id | uuid | path{]} ID | {[}type type{]} {[}con-name name{]}\} & Edit an existing connection or add a new one, using an interactive editor \tn % Row Count 30 (+ 4) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Connection Management Commands (cont)}} \tn % Row 7 \SetRowColor{LightBackground} nmcli connection clone {[}-{}-temporary{]} {[}id | uuid | path{]} ID new\_name & Clone a connection \tn % Row Count 4 (+ 4) % Row 8 \SetRowColor{white} nmcli connection delete {[}id | uuid | path{]} ID... & Delete a configured connection \tn % Row Count 7 (+ 3) % Row 9 \SetRowColor{LightBackground} nmcli connection monitor {[}id | uuid | path{]} ID... & Monitor connection profile activity \tn % Row Count 10 (+ 3) % Row 10 \SetRowColor{white} nmcli connection reload & Reload all connection files from disk \tn % Row Count 12 (+ 2) % Row 11 \SetRowColor{LightBackground} nmcli connection load filename... & Load/reload one or more connection files from disk \tn % Row Count 15 (+ 3) % Row 12 \SetRowColor{white} nmcli connection import {[}-{}-temporary{]} type type file file & Import an external/foreign configuration \tn % Row Count 18 (+ 3) % Row 13 \SetRowColor{LightBackground} nmcli connection export {[}id | uuid | path{]} ID {[}file{]} & Export a connection \tn % Row Count 21 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.09494 cm} x{3.88206 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Configuring NetworkManager}} \tn % Row 0 \SetRowColor{LightBackground} plugins & Lists plugin separated by ',' \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \seqsplit{auth-polkit} & Whether to use PolicyKit for authorization \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} dhcp & Sets up DHCP client \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} dns & Set DNS processing mode e.g. dnsmasq, systemd-resolved, unbound, none. \tn % Row Count 7 (+ 3) % Row 4 \SetRowColor{LightBackground} level & Set log level e.g. OFF,ERR,WARN,INFO,DEBUG,TRACE \tn % Row Count 9 (+ 2) % Row 5 \SetRowColor{white} domains & Set log domain e.g. NONE,ALL,DEFAULT,DHCP,IP. \tn % Row Count 11 (+ 2) % Row 6 \SetRowColor{LightBackground} backend & Set logging backend e.g. syslog, journal \tn % Row Count 13 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Device Management Commands}} \tn % Row 0 \SetRowColor{LightBackground} nmcli device status & Print status of devices \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} nmcli device show {[}ifname{]} & Show detailed information about devices \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} nmcli device set {[}ifname{]} ifname {[}autoconnect \{yes |no\}{]} {[}managed \{yes | no\}{]} & Set device properties \tn % Row Count 8 (+ 4) % Row 3 \SetRowColor{white} nmcli device connect ifname & Connect the device \tn % Row Count 10 (+ 2) % Row 4 \SetRowColor{LightBackground} nmcli device reapply ifname & Attempt to update device \tn % Row Count 12 (+ 2) % Row 5 \SetRowColor{white} nmcli device modify ifname \{option value | {[}+|-{]}setting.property value\} ... & Modify the settings \tn % Row Count 16 (+ 4) % Row 6 \SetRowColor{LightBackground} nmcli device disconnect ifname... & Disconnect a device \tn % Row Count 18 (+ 2) % Row 7 \SetRowColor{white} nmcli device delete ifname... & Delete a device \tn % Row Count 20 (+ 2) % Row 8 \SetRowColor{LightBackground} nmclie device monitor {[}ifname...{]} & Monitor device activity \tn % Row Count 22 (+ 2) % Row 9 \SetRowColor{white} nmcli device wifi {[}list {[}-{}-rescan | auto | no | yes{]} {[}ifname ifname{]} {[}bssid BSSID{]}{]} & List available Wi-Fi access points \tn % Row Count 27 (+ 5) % Row 10 \SetRowColor{LightBackground} nmcli device wifi connect (B)SSID {[}password password{]} {[}wep-key-type \{key | phrase\}{]} {[}ifname ifname{]} {[}bssid BSSID{]} {[}name name{]} {[}private \{yes | no\}{]} {[}hidden \{yes | no\}{]} & Connect to a Wi-Fi network \tn % Row Count 36 (+ 9) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{2.4885 cm} x{2.4885 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Device Management Commands (cont)}} \tn % Row 11 \SetRowColor{LightBackground} nmcli device wifi hotspot {[}ifname ifname{]} {[}con-name name{]} {[}ssid SSID{]} {[} band \{a | bg\} {]} {[}channel channel{]} {[}password password{]} & Create a Wi-Fi hotspot \tn % Row Count 7 (+ 7) % Row 12 \SetRowColor{white} nmcli device wifi rescan {[}ifname ifname{]} {[}ssid SSID...{]} & Re-scan for available access points \tn % Row Count 10 (+ 3) % Row 13 \SetRowColor{LightBackground} nmcli device lldp {[}list {[}ifname ifname{]}{]} & Display information about neighboring devices \tn % Row Count 13 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Dispatcher Scripts}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Script should be owned by root} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}chown root:root \seqsplit{/etc/NetworkManager/dispatcher}.d/10-script.sh} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Must not be writable by group or other} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}chmod 755 \seqsplit{/etc/NetworkManager/dispatcher}.d/10-script.sh} \tn % Row Count 6 (+ 3) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Each script receives two arguments} \tn \mymulticolumn{1}{x{5.377cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}The first argument is the interface name \{\{nl\}\} The second argument is the network action e.g. up, down, etc.} \tn % Row Count 10 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}