1

After getting a 3G modem for my laptop, I've started using Network Manager to manage my connections, and I quite like it. However, it is slightly annoying to have to be root to make any changes, especially since the applications (nm-applet, nm-connection-editor) do not ask for elevation - I have to launch them manually with "sudo". If I understand correctly this is because my minimal install lacks a login manager (I log in at a prompt and startx) and thus DBus privileges are not being set. So I tried installing both LightDM and GDM, but my god the bl0at! Pulseaudio required for DBus? I don't think so. Here's the shocking package list generated by apt-get install lightdm:

The following NEW packages will be installed
  apg cheese-common cups-pk-helper dialog evolution-data-server
  evolution-data-server-common evolution-data-server-online-accounts geoclue
  geoclue-ubuntu-geoip gir1.2-gnomebluetooth-1.0 gir1.2-ibus-1.0 gkbd-capplet
  gnome-bluetooth gnome-control-center-shared-data gnome-desktop3-data
  gnome-screensaver gnome-session-bin gnome-settings-daemon-schemas
  gnome-user-share gsettings-ubuntu-schemas gstreamer1.0-clutter hwdata ibus
  ibus-gtk ibus-gtk3 im-config indicator-bluetooth indicator-datetime
  indicator-keyboard indicator-power indicator-session indicator-sound
  libaccount-plugin-1.0-0 libaccount-plugin-generic-oauth
  libaccount-plugin-google libaccounts-glib0 libaccounts-qt5-1 libcamel-1.2-45
  libcanberra-pulse libcheese-gtk23 libcheese7 libclutter-1.0-0
  libclutter-1.0-common libclutter-gst-2.0-0 libclutter-gtk-1.0-0
  libcogl-common libcogl-pango15 libcogl15 libebackend-1.2-7 libebook-1.2-14
  libebook-contacts-1.2-0 libecal-1.2-16 libedata-book-1.2-20
  libedata-cal-1.2-23 libedataserver-1.2-18 libfftw3-single3 libgdata-common
  libgdata13 libgnome-desktop-3-7 libgnomekbd-common libgnomekbd8
  libgoa-1.0-0b libgoa-1.0-common libgweather-3-6 libgweather-common
  libibus-1.0-5 liblightdm-gobject-1-0 liboauth0 libopenobex1 libpulsedsp
  libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5opengl5
  libqt5positioning5 libqt5printsupport5 libqt5qml5 libqt5quick5
  libqt5sensors5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libqt5webkit5
  libqt5widgets5 libqt5xml5 librest-0.7-0 libsignon-extension1 libsignon-glib1
  libsignon-plugins-common1 libsignon-qt5-1 libsystemd-journal0
  libtimezonemap1 libunity-control-center1 liburl-dispatcher1 libwacom-common
  libwacom2 libxcb-icccm4 libxcb-image0 libxcb-render-util0 libxcb-xkb1
  libxkbcommon-x11-0 lightdm mousetweaks nautilus-data obex-data-server
  obexd-client pulseaudio pulseaudio-module-x11 pulseaudio-utils rtkit
  session-migration signon-keyring-extension signon-plugin-oauth2 signon-ui
  signond ubuntu-system-service unity-control-center
  unity-control-center-signon unity-greeter unity-settings-daemon
0 to upgrade, 121 to newly install, 0 to remove and 47 not to upgrade.
Need to get 18.7 MB/32.1 MB of archives.
After this operation, 128 MB of additional disk space will be used.
Do you want to continue? [Y/n] Most definitely NOT!
Abort.

I don't want any of those things, thank you! Surely there must be a better way to gain permissions for editing Network Manager config?

Edit: I should add that I tried changing /etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf from at_console="true" to group="netdev", but that seemed to have no effect. Yes, I am a member of netdev.

Edit: And the irony of seeing a libclutter in the list is not lost on me. This is clearly a terrible, awful, cluttery mess... What were they thinking?

2 Answers2

1

The Arch Wiki lists several Display Managers, of which three lightweight Display Managers are XDM (153 total dependencies1), LXDM (172 total dependencies1) and SLiM (121 total dependencies1). Personally I'd liked the themes available for LXDM, and the SLiM Arch Wiki page says the project is abandoned (it worked well, though). It also lists a couple of console DMs, neither of which is packaged for Ubuntu, as far as I can tell.


1 Use apt-rdepends to find the dependencies recursively:

for i in lxdm xdm slim
do
    apt-rdepends "$i" | grep -c '^\S'
done

GDM, for reference, has 445.

muru
  • 207,228
0

The answer is XDM.

$ sudo apt-get install xdm
The following NEW packages will be installed
  xdm
0 to upgrade, 1 to newly install, 0 to remove and 47 not to upgrade.
Need to get 0 B/169 kB of archives.
After this operation, 848 kB of additional disk space will be used.

Edit: Please note that the exact packages required to install XDM may vary depending on what distribution you are using, and what packages are already present on your system! I cannot guarantee that it is a light-weight solution in your particular case and I will not be held responsible for any unnecessary bloat which may result from the copying and pasting of commands found on the Internet. Please carefully review the package list before accepting your package manager's suggested solution. Thank you.

Not pretty, but hey, it's one package, and just 848kb - and it works! I can now change Network Manager configuration without having to sudo killall nm-applet && sudo nm-applet :)

Edit: For those wanting to go down this route (and frankly, why wouldn't you?), it may be worth knowing that you can change the fonts/colours etc by editing /etc/X11/xdm/Xresources. Here's part of what I have put in mine, to somewhat update the 1995 looking defaults:

xlogin*greetFont: -adobe-helvetica-medium-r-normal--12-180-75-75-p-98-iso8859-1
xlogin*font: -adobe-helvetica-medium-r-normal--12-180-75-75-p-98-iso8859-1
xlogin*promptFont: -adobe-helvetica-medium-r-normal--12-180-75-75-p-98-iso8859-1
xlogin*failFont: -adobe-helvetica-medium-r-normal--12-180-75-75-p-98-iso8859-1
xlogin*greetFace:   Helvetica-12
xlogin*face:        Helvetica-12
xlogin*promptFace:  Helvetica-12:bold
xlogin*failFace:    Helvetica-12:bold

xlogin*borderWidth: 1
xlogin*frameWidth: 1
xlogin*innerFramesWidth: 1
xlogin*shdColor: #242424
xlogin*hiColor: #353535
xlogin*background: #2A2A2A
!xlogin*foreground: #FFFFFF
xlogin*greetColor: #3465A4
xlogin*failColor: #CE3117
*Foreground: grey
*Background: #191919

I simply copied the colour values from the excellent Mona GTK theme that I'm using. If someone knows how to generate font strings for other fonts available on the system I'd love to hear about it.

Beware though that this file is likely to be overwritten if XDM is updated.

Update: Found this regarding those font strings:

"Fonts under X are difficult to deal with. They have an abundance of options and modifiers, most of which are never used. The xfontsel program can make font selection much easier. Just browse through the fonts, selecting the font style, size and attributes you want. Then click on the select button and paste the font string into the Xresources file"

Not every day one reads software guides from last century, but that just adds to the fun :) Source: Customizing the XDM Login Screen by Brian Lane, Linux Journal Issue #68, December 1999