How to install Lubuntu Desktop Environment and ONLY the desktop environment?

Solution 1:

You can also use

sudo apt-get install --no-install-recommends lubuntu-desktop 

Which will install the Lubuntu desktop without all the recommended applications, though things that rely on these applications will not work.

I think a better way to do it would be to install all of lubuntu-desktop with:

sudo apt-get install lubuntu-desktop  

and then use the Lubuntu Software Center to remove applications you aren't going to use. You can then remove lubuntu-software-center with:

sudo apt-get remove lubuntu-software-center

The only difference between this approach and Ringtail's is installing lxde will give you the generic LXDE desktop, while installing lubuntu-desktop will give you more of an Ubuntu specific LXDE, with custom wallpapers for example.

Solution 2:

Kinda like asking for a vanilla ice cream cone but I don't want the cone

That being said. Lubuntu-Desktop will bring in a lot of dependencies.

For a list of Applications

How to get Lubuntu

How to Install Lubuntu


If it were me I would just open a terminal and

sudo apt-get install lxde

Which gives you the lightweight distro without the extras.

See LXDE wiki

do the Minimal Ubuntu + LXDE Installation

Solution 3:

I recently installed Lubuntu from the latest alternative disk http://cdimage.ubuntu.com/precise/daily/current/ as a minimal install by installing it to command line.

Then I installed lubuntu-core

sudo apt-get install lubuntu-core

It then had none of the extra software install. Originally I tried with --no-install-recommends but this left it too bare and seemingly with missing dependencies. After doing this I installed lxappearance and obconf to allow me to change the themes easily

sudo apt-get install lxappearance obconf

I installed firefox without any recommended software as the addons are for Gnome.

sudo apt-get install firefox --no-install-recommends

I had some errors in my xsession-errors file that cleared up after installing the below

sudo apt-get install gtk2-engines-pixbuf

Network manager needs setting up after lubuntu-core has been installed from a minimal install https://help.ubuntu.com/community/Lubuntu/Documentation/MinimalInstall#Unmanaged_Wired_Network The nm-system-settings.conf is now called NetworkManager.conf as written below

Change Network Manager settings Start an LXTerminal session, then issue:

sudo nano /etc/NetworkManager/NetworkManager.conf

In section [ifupdown] find the line managed=false and replace it with managed=true. Save and quit. Get back to LXTerminal and issue:

sudo service network-manager restart

After a short while you should see "Connection established" message above the Network Manager applet tray icon.

Solution 4:

TL;DR: The correct minimal-install invocation is:

sudo apt-get install lxde xorg lxdm --no-install-recommends


Just going through this, sudo apt-get install --no-install-recommends lubuntu-desktop does NOT work.

The following NEW packages will be installed:
  abiword abiword-common acl adwaita-icon-theme adwaita-icon-theme-full alsa-base alsa-utils alsamixergui anacron app-install-data apport apport-gtk aptdaemon aptdaemon-data aspell aspell-en audacious audacious-plugins audacious-plugins-data blueman bluez bluez-obexd
  dbus-x11 dconf-gsettings-backend dconf-service desktop-file-utils dmz-cursor-theme dnsmasq-base esound-common evince evince-common evolution-data-server-common fcitx fcitx-bin fcitx-config-common fcitx-config-gtk2 fcitx-data fcitx-frontend-gtk2 fcitx-module-dbus
  fcitx-module-x11 fcitx-modules fcitx-ui-classic ffmpegthumbnailer file-roller firefox fonts-freefont-ttf fonts-nanum fonts-noto-cjk foomatic-db-compressed-ppds galculator gconf-service gconf-service-backend gconf2 gconf2-common gcr gdebi gdebi-core genisoimage
  ghostscript ghostscript-x giblib1 gir1.2-appindicator3-0.1 gir1.2-atk-1.0 gir1.2-dbusmenu-glib-0.4 gir1.2-dee-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gnomekeyring-1.0 gir1.2-gtk-3.0 gir1.2-gudev-1.0 gir1.2-javascriptcoregtk-4.0 gir1.2-notify-0.7
  gir1.2-packagekitglib-1.0 gir1.2-pango-1.0 gir1.2-soup-2.4 gir1.2-udisks-2.0 gir1.2-unity-5.0 gir1.2-vte-2.91 gir1.2-webkit2-4.0 gir1.2-wnck-3.0 gksu glib-networking glib-networking-common glib-networking-services gnome-disk-utility gnome-icon-theme
  gnome-icon-theme-symbolic gnome-keyring gnome-mplayer gnome-system-tools gnumeric gnumeric-common gnupg-agent gnupg2 gpicview gsettings-desktop-schemas gsettings-ubuntu-schemas gsfonts gstreamer1.0-nice gstreamer1.0-plugins-base gstreamer1.0-plugins-good gtk2-engines
  gtk2-engines-murrine gtk2-engines-pixbuf gtk3-engines-unico gucharmap guvcview gvfs gvfs-backends gvfs-common gvfs-daemons gvfs-fuse gvfs-libs hardinfo hicolor-icon-theme humanity-icon-theme im-config indicator-application indicator-application-gtk2 indicator-sound
  indicator-sound-gtk2 inputattach language-selector-gnome leafpad liba52-0.7.4 libaa1 libabiword-3.0 libappindicator1 libappindicator3-1 libasound2 libasound2-data libasound2-plugins libaspell15 libass5 libassuan0 libasyncns0 libatasmart4 libatk-bridge2.0-0
  libatk1.0-0 libatk1.0-data libatkmm-1.6-1v5 libatspi2.0-0 libaudcore3 libaudgui3 libaudio2 libaudiofile1 libaudtag2 libavahi-glib1 libavc1394-0 libavcodec-ffmpeg56 libavformat-ffmpeg56 libavutil-ffmpeg54 libbinio1v5 libbluetooth3 libbluray1 libbs2b0 libburn4 libcaca0
  libcairo-gobject2 libcairo-perl libcairo2 libcairomm-1.0-1v5 libcamel-1.2-54 libcanberra-gtk3-0 libcanberra0 libcddb2 libcdio-cdda1 libcdio-paranoia1 libcdio13 libcdparanoia0 libchamplain-0.12-0 libchamplain-gtk-0.12-0 libclutter-1.0-0 libclutter-gtk-1.0-0
  libcogl-pango20 libcogl-path20 libcogl20 libcolord2 libcompfaceg1 libcrack2 libcroco3 libcrystalhd3 libcue1 libcupsfilters1 libcupsimage2 libdatrie1 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdbusmenu-gtk4 libdca0 libdconf1 libdee-1.0-4 libdirectfb-1.2-9 libdiscid0
  libdjvulibre-text libdjvulibre21 libdv4 libdvdnav4 libdvdread4 libebackend-1.2-10 libebook-1.2-16 libebook-contacts-1.2-2 libedata-book-1.2-25 libedataserver-1.2-21 libenca0 libenchant1c2a libencode-locale-perl libept1.5.0 libesd0 libevdocument3-4 libevview3-3
  libexif12 libexo-1-0 libexo-common libexo-helpers libfaad2 libfarstream-0.2-5 libfcitx-config4 libfcitx-core0 libfcitx-gclient0 libfcitx-utils0 libffmpegthumbnailer4v5 libfftw3-double3 libfftw3-single3 libfile-listing-perl libflac8 libfltk1.1 libfluidsynth1
  libfm-data libfm-extra4 libfm-gtk-data libfm-gtk4 libfm-modules libfm4 libgck-1-0 libgconf-2-4 libgcr-3-common libgcr-base-3-1 libgcr-ui-3-1 libgd3 libgda-5.0-4 libgda-5.0-common libgdata-common libgdata22 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgee-0.8-2
  libgettextpo0 libgif7 libgksu2-0 libglib-perl libglib2.0-bin libglibmm-2.4-1v5 libgme0 libgmlib1 libgmtk1 libgmtk1-data libgnome-keyring-common libgnome-keyring0 libgoa-1.0-0b libgoa-1.0-common libgoffice-0.10-10 libgoffice-0.10-10-common libgpgme11 libgphoto2-6
  libgphoto2-port12 libgpm2 libgpod4 libgs9 libgs9-common libgsf-1-114 libgsf-1-common libgsl2 libgsm1 libgssdp-1.0-3 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0 libgstreamer1.0-0 libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2-perl libgtk2.0-0
  libgtk2.0-common libgtkmm-3.0-1v5 libgtksourceview-3.0-1 libgtksourceview-3.0-common libgtkspell0 libgtop-2.0-10 libgtop2-common libgucharmap-2-90-7 libguess1 libgupnp-1.0-4 libgupnp-igd-1.0-4 libgusb2 libguvcview-1.1-1 libgxps2 libharfbuzz-icu0 libhtml-parser-perl
  libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhunspell-1.3-0 libhyphen0 libical1a libid3tag0 libido-0.1-0 libido3-0.1-0 libiec61883-0 libieee1284-3 libijs-0.35 libimlib2 libimobiledevice6
  libindicator3-7 libindicator7 libio-html-perl libio-socket-ssl-perl libisofs6 libiw30 libjack-jackd2-0 libjavascriptcoregtk-4.0-18 libjbig0 libjbig2dec0 libjson-glib-1.0-0 libjson-glib-1.0-common libjte1 libkeybinder0 libkpathsea6 libksba8 liblcms2-2
  liblightdm-gobject-1-0 liblircclient0 libloudmouth1-0 libltdl7 liblwp-mediatypes-perl liblwp-protocol-https-perl libmad0 libmbim-glib4 libmbim-proxy libmeanwhile1 libmenu-cache-bin libmenu-cache3 libmessaging-menu0 libmhash2 libminiupnpc10 libmm-glib0 libmms0
  libmodplug1 libmp3lame0 libmpeg2-4 libmpg123-0 libmtp-common libmtp-runtime libmtp9 libmusicbrainz3-6v5 libnatpmp1 libnautilus-extension1a libndp0 libneon27-gnutls libnet-dbus-perl libnet-http-perl libnet-ssleay-perl libnetfilter-conntrack3 libnice10 libnm0
  libnma-common libnma0 libnotify4 libnpth0 libnspr4 libnss3 libnss3-nssdb liboauth0 libobrender32 libobt2 libogg0 libonig2 liboobs-1-5 libopenal-data libopenal1 libopenjpeg5 libopts25 libopus0 liborc-0.4-0 libots0 libpackagekit-glib2-16 libpango-1.0-0 libpango-perl
  libpangocairo-1.0-0 libpangoft2-1.0-0 libpangomm-1.4-1v5 libpangoxft-1.0-0 libpaper1 libpcsclite1 libpisock9 libplist3 libpolkit-agent-1-0 libpolkit-backend-1-0 libpoppler-glib8 libpoppler58 libportaudio2 libpostproc-ffmpeg53 libpresage-data libpresage1v5
  libpulse-mainloop-glib0 libpulse0 libpulsedsp libpurple0 libpwquality-common libpwquality1 libpython3.5 libqmi-glib5 libqmi-proxy libraptor2-0 librasqal3 libraw1394-11 librdf0 librest-0.7-0 librevenge-0.0-0 librsvg2-2 librsvg2-common libsamplerate0 libsane
  libsane-common libschroedinger-1.0-0 libsdl1.2debian libsdl2-2.0-0 libsecret-1-0 libsecret-common libshine3 libshout3 libsidplayfp4 libsigc++-2.0-0v5 libsnappy1v5 libsndfile1 libsndio6.1 libsoup-gnome2.4-1 libsoup2.4-1 libsoxr0 libspectre1 libspeex1 libspeexdsp1
  libssh-gcrypt-4 libstartup-notification0 libswresample-ffmpeg1 libswscale-ffmpeg3 libtag1v5 libtag1v5-vanilla libtelepathy-glib0 libthai-data libthai0 libtheora0 libtidy-0.99-0 libtiff5 libtimedate-perl libtinyxml2.6.2v5 libtwolame0 libudisks2-0 libuniconf4.6
  libunistring0 libunity-protocol-private0 libunity-scopes-json-def-desktop libunity9 libupower-glib3 liburi-perl liburl-dispatcher1 libusbmuxd4 libv4l-0 libv4lconvert0 libva1 libvdpau1 libvisual-0.4-0 libvorbis0a libvorbisenc2 libvorbisfile3 libvorbisidec1 libvpx3
  libvte-2.91-0 libvte-2.91-common libvte-common libvte9 libwavpack1 libwebkit2gtk-4.0-37 libwebp5 libwebpdemux1 libwebrtc-audio-processing-0 libwhoopsie0 libwmf0.2-7 libwnck-3-0 libwnck-3-common libwnck-common libwnck22 libwpd-0.10-10 libwpg-0.3-3 libwps-0.4-4
  libwv-1.2-4 libwvstreams4.6-base libwvstreams4.6-extras libwww-perl libwww-robotrules-perl libx264-148 libx265-79 libxapian22v5 libxfce4ui-1-0 libxfce4ui-common libxfce4util-common libxfce4util7 libxfconf-0-2 libxklavier16 libxml-parser-perl libxml-twig-perl libxres1
  libxslt1.1 libxvidcore4 libyajl2 libzephyr4 libzvbi-common libzvbi0 light-locker light-locker-settings lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings linux-sound-base lubuntu-artwork lubuntu-artwork-16-04 lubuntu-core lubuntu-default-session
  lubuntu-default-settings lubuntu-desktop lubuntu-icon-theme lubuntu-lxpanel-icons lubuntu-software-center lxappearance lxappearance-obconf lxinput lxlauncher lxmenu-data lxpanel lxpanel-data lxpanel-indicator-applet-plugin lxrandr lxsession lxsession-data
  lxsession-default-apps lxsession-logout lxshortcut lxtask lxterminal memtest86+ mobile-broadband-provider-info modemmanager mplayer mplayer2 mtools mtpaint network-manager network-manager-gnome notification-daemon ntp obconf openbox openprinting-ppds p11-kit
  p11-kit-modules pavucontrol pcmanfm pidgin pidgin-data pinentry-gnome3 pinentry-gtk2 plymouth-label plymouth-theme-lubuntu-logo plymouth-theme-lubuntu-text pm-utils policykit-1 policykit-1-gnome policykit-desktop-privileges poppler-data ppp printer-driver-pnm2ppa
  pulseaudio pulseaudio-utils python-apt python-aptdaemon python-aptdaemon.gtk3widgets python-chardet python-dbus python-debian python-defer python-gi python-pkg-resources python-psutil python-pysqlite2 python-six python-xdg python3-apport python3-aptdaemon
  python3-aptdaemon.gtk3widgets python3-aptdaemon.pkcompat python3-cairo python3-cups python3-cupshelpers python3-debian python3-defer python3-gi-cairo python3-lxml python3-problem-report python3-pycurl python3-software-properties python3-xkit rfkill scrot simple-scan
  software-properties-common software-properties-gtk sound-theme-freedesktop sylpheed sylpheed-doc sylpheed-i18n sylpheed-plugins synaptic syslinux syslinux-common syslinux-legacy system-config-printer-common system-config-printer-gnome system-tools-backends
  transmission transmission-common transmission-gtk ttf-ubuntu-font-family ubuntu-drivers-common ubuntu-mono ubuntu-release-upgrader-gtk udisks2 unzip update-manager update-notifier update-notifier-common upower usb-creator-common usb-creator-gtk usb-modeswitch
  usb-modeswitch-data whoopsie wireless-tools wpasupplicant wvdial x11-session-utils x11-xserver-utils xbacklight xdg-user-dirs-gtk xdg-utils xfburn xfce4-notifyd xfce4-power-manager xfce4-power-manager-data xfce4-power-manager-plugins xfconf xinput xorg xorg-docs-core
  xpad xul-ext-ubufox zip

There is a giant pile of garbage in there I have zero need for.

sudo apt-get install lxde --no-install-recommends appears to actually install a marginally more sane set of packages.

The following NEW packages will be installed:
  adwaita-icon-theme dconf-gsettings-backend dconf-service desktop-file-utils galculator glib-networking glib-networking-common glib-networking-services gpicview gsettings-desktop-schemas hicolor-icon-theme humanity-icon-theme leafpad libasound2 libasound2-data
  libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libcairo-gobject2 libcairo2 libcolord2 libcroco3 libdatrie1 libdconf1 libexif12 libfm-data libfm-extra4 libfm-gtk-data libfm-gtk4 libfm-modules libfm4 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgif7
  libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-common libid3tag0 libimlib2 libiw30 libjbig0 libjson-glib-1.0-0 libjson-glib-1.0-common libkeybinder0 liblcms2-2 libmenu-cache-bin libmenu-cache3 libobrender32 libobt2 libpango-1.0-0 libpangocairo-1.0-0
  libpangoft2-1.0-0 libpangoxft-1.0-0 libpolkit-agent-1-0 librest-0.7-0 librsvg2-2 librsvg2-common libsoup-gnome2.4-1 libsoup2.4-1 libstartup-notification0 libthai-data libthai0 libtiff5 libvte-common libvte9 libwnck-common libwnck22 libxres1 lxappearance
  lxappearance-obconf lxde lxde-common lxde-core lxde-icon-theme lxinput lxmenu-data lxpanel lxpanel-data lxrandr lxsession lxsession-data lxsession-edit lxterminal openbox pcmanfm ubuntu-mono x11-xserver-utils xarchiver

Additionally, you will need to install xorg:

sudo apt-get install xorg

Then, you're just startx away from a GUI.

There's still cruft in there (how is galculator a required dependency?), but at least it doesn't spray useless applications all over everything.

Additionally, this doesn't install sound, since the context this is being used has no sound card at all. The fact that almost everything in *nix-land that's even vaguely ui-related seems to be depend on both pulseaudio and cups is a running annoyance of mine, and apparently lxde has solved at least that problem.

You can additionally install lxdm, which will give you a graphical login prompt, and start lxde automatically.

lxdm does somehow think I'm on debian 8, rather then ubuntu 16.04, but it works, and I don't care about the background graphic being wrong.

Solution 5:

sudo apt-get install lightdm lightdm-gtk-greeter lubuntu-default-settings lxappearance lxterminal

With that line in terminal, you install the bare-bones Lubuntu environment (not plain LXDE), but with no extra packages other than the desktop ones.

I suggest you to run that command in a Ubuntu minimal installation, once that you know that your hardware works OK (NOTE: the packages lightdm lightdm-gtk-greeter are already installed in a regular Ubuntu installation, but not in the minimal). Then you can install your software and programs. If the Lubuntu environment does not start up when installed, try sudo apt-get install xserver-xorg-video-all xserver-xorg.