Installing Budgie Desktop on Debian 9.x (stretch)

I don’t actively dislike the GNOME 3 look and feel, but I don’t really like it either and until now have tended to use the MATE Desktop, but now there is a new kid on the block that I think I rather like.

The Budgie Desktop has a classic feel to it but it is based on the GTK+3 framework and has a very up to date modern look to it.  Thanks to the efforts of a group of there is now Ubuntu Budgie which is an official community supported Ubuntu distribution.

If you are a Debian user this is important because it means that the Budgie Desktop packages are available for Debian as well so I thought I’d see if I could get it to work on my system.  As usual I did try to install the minimum number of packages needed for a working desktop environment, and while Budgie isn’t exactly lightweight but it did feel is quite responsive though it does use just over 400 MB of disk space even without any of the basic applications.  It will be intersting to see how well it peforms on an older machine though I’ve not tried that yet.  It took me a while to realise that the desktop depended on the network manager which pulls in quite a few dependencies but I got there eventually…

There are a few minor niggles but in general I think I like it and though I have not had a chance to use it for any length of time I’m looking forward to it arriving in the next stable release of Debian.  I expect I’ll have to think about make the switch from MATE whan it does.

Note – Part of the trouble I had was just getting jessie to install cleanly.  Unfortunately the installer appears to hang in a couple of places, particularly when downloading files and finalising the install at the end, but it seemed to sort itself out eventually.

Once you have a minimal installation then you need to start by logging in as root and making sure your system is up to date, as being the testing distribution things change quite fast.

# apt-get update;apt-get upgrade
Get:1 http://ftp.uk.debian.org/debian stretch InRelease [172 kB]
  :
  :
  :
Fetched 8,278 kB in 1min 5s (127 kB/s)
Reading package lists… Done
Reading package lists… Done
Building dependency tree
Reading state information… Done
Calculating upgrade… Done
The following packages have been kept back:
  gnupg iproute2 iptables libaudit1 libsystemd0 libxtables11
  linux-image-amd64 procps rsyslog systemd vim-common vim-tiny wget
The following packages will be upgraded:
  base-passwd bash bsdutils console-setup console-setup-linux dmsetup dpkg
  gcc-6-base gpgv init init-system-helpers iputils-ping
  keyboard-configuration kmod libapparmor1 libblkid1 libcryptsetup4
  libdevmapper1.02.1 libedit2 libfdisk1 libgcc1 libgnutls30 libgpg-error0
  libjson-c3 libkmod2 libmount1 libpng16-16 libselinux1 libslang2 libsmartcols1
  libsqlite3-0 libstdc++6 libudev1 libusb-1.0-0 libuuid1 mount nano openssh-client
  openssh-server openssh-sftp-server systemd-sysv udev util-linux util-linux-locales
44 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
Need to get 15.5 MB of archives.
After this operation, 481 kB of additional disk space will be used.
  :
  :
  :
Fetched 15.5 MB in 1min 16s (203 kB/s)
Extracting templates from packages: 100%
Preconfiguring packages …
(Reading database … 17132 files and directories currently installed.)
Preparing to unpack …/archives/bash_4.4-2_amd64.deb …
Unpacking bash (4.4-2) over (4.4-1) …
Setting up bash (4.4-2) …
  :
  :
  :
Processing triggers for libc-bin (2.24-5) …
#

If you see that some packages have been ‘kept back’ this means that these packages cannot be installed without updating the kernel, on this occasion I chose not to but if you want to install them you can do so using a slightly different command.

# apt-get update;apt-get dist-upgrade

The next thing is to install the packages needed by X windows.

# apt-get install xserver-xorg xserver-xorg-core xfonts-base xinit
Reading package lists… Done
Building dependency tree      
Reading state information… Done
The following additional packages will be installed:
  libdbus-1-3 libdrm-amdgpu1 libdrm-nouveau2 libdrm-radeon1 libdrm2
  libegl1-mesa libepoxy0 libevdev2 libfontenc1 libgbm1 libgl1-mesa-glx
  libglapi-mesa libglib2.0-0 libgudev-1.0-0 libice6 libinput-bin libinput10
  libllvm3.8 libmtdev1 libpciaccess0 libpixman-1-0 libsm6 libwacom-common
  libwacom2 libwayland-client0 libwayland-server0 libx11-6 libx11-data
  libx11-xcb1 libxatracker2 libxau6 libxaw7 libxcb-dri2-0 libxcb-dri3-0
  libxcb-glx0 libxcb-present0 libxcb-sync1 libxcb-xfixes0 libxcb1 libxdamage1
  libxdmcp6 libxext6 libxfixes3 libxfont1 libxkbfile1 libxmu6 libxmuu1
  libxpm4 libxshmfence1 libxt6 libxxf86vm1 x11-common x11-xkb-utils xauth
  xfonts-encodings xfonts-utils xserver-common xserver-xorg-input-all
  xserver-xorg-input-libinput xserver-xorg-video-all
  xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev
  xserver-xorg-video-nouveau xserver-xorg-video-radeon
  xserver-xorg-video-vesa xserver-xorg-video-vmware
Suggested packages:
  xfonts-100dpi | xfonts-75dpi xfonts-scalable firmware-amd-graphics
  xserver-xorg-video-r128 xserver-xorg-video-mach64
Recommended packages:
  dbus libgl1-mesa-dri libglib2.0-data shared-mime-info xdg-user-dirs
  libwacom-bin xterm | x-session-manager | x-window-manager |
  x-terminal-emulator libpam-systemd xserver-xorg-input-wacom
  xserver-xorg-video-intel xserver-xorg-video-qxl
The following NEW packages will be installed:
  libdbus-1-3 libdrm-amdgpu1 libdrm-nouveau2 libdrm-radeon1 libdrm2
  libegl1-mesa libepoxy0 libevdev2 libfontenc1 libgbm1 nbsp;libgl1-mesa-glx
  libglapi-mesa libglib2.0-0 libgudev-1.0-0 libice6 libinput-bin libinput10
  libllvm3.8 libmtdev1 libpciaccess0 libpixman-1-0 libsm6 libwacom-common
  libwacom2 libwayland-client0 libwayland-server0 libx11-6 libx11-data
  libx11-xcb1 libxatracker2 libxau6 libxaw7 libxcb-dri2-0 libxcb-dri3-0
  libxcb-glx0 libxcb-present0 libxcb-sync1 libxcb-xfixes0 libxcb1 libxdamage1
  libxdmcp6 libxext6 libxfixes3 libxfont1 libxkbfile1 libxmu6 libxmuu1
  libxpm4 libxshmfence1 libxt6 libxxf86vm1 x11-common x11-xkb-utils xauth
  xfonts-base xfonts-encodings xfonts-utils xinit xserver-common xserver-xorg
  xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput
  xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati
  xserver-xorg-video-fbdev xserver-xorg-video-nouveau
  xserver-xorg-video-radeon xserver-xorg-video-vesa xserver-xorg-video-vmware
0 upgraded, 71 newly installed, 0 to remove and 13 not upgraded.
Need to get 32.3 MB of archives.
After this operation, 82.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]
  :
  :
  :
Fetched 32.3 MB in 46s (700 kB/s)
Extracting templates from packages: 100%
Selecting previously unselected package x11-common.
(Reading database … 17116 files and directories currently installed.)
Preparing to unpack …/00-x11-common_1%3a7.7+16_all.deb …
Unpacking x11-common (1:7.7+16) …
Setting up xserver-xorg-video-all (1:7.7+16) …
Processing triggers for libc-bin (2.24-5) …
Processing triggers for systemd (230-2) …
#

Then I installed the packages that I discovered absolutely must be present for the Budgie desktop to start, nothing really out of the ordinary here but it is worth noting you need ‘libgl1-mesa-dri’ and ‘network-manager-gnome’. Without the latter the desktop starts but exits as soon as the panel loads (because it cant find the network manager applet).  It should be possible to stop the panel loading the network manager by deleting ‘/etc/xdg/autostart/budgie-desktop-nm-applet.desktop’ but I didn’t want to do this as it might be restored when the ‘budgie-core’ package was updated.

# apt-get install libgl1-mesa-dri x11-xserver-utils budgie-core \
> gir1.2-budgie-desktop-1.0 gnome-session-bin gnome-session-common \
> gnome-settings-daemon gnome-icon-theme gnome-menus gnome-terminal \
> network-manager-gnome
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
  adwaita-icon-theme cpp cpp-6 dbus dbus-x11 dconf-gsettings-backend
  dconf-service fontconfig fontconfig-config fonts-dejavu-core gconf-service
  gconf2-common glib-networking glib-networking-common
  glib-networking-services gnome-desktop3-data gnome-terminal-data
  gsettings-desktop-schemas gtk-update-icon-cache hicolor-icon-theme
  libaccountsservice0 libasound2 libasound2-data libasyncns0
  libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0
  libavahi-client3 libavahi-common-data libavahi-common3 libbluetooth3
  libbudgie-plugin0 libbudgietheme0 libcairo-gobject2 libcairo2
  libcanberra-gtk3-0 libcanberra0 libcap-ng0 libcolord2 libcroco3
  libcups2 libdatrie1 libdbus-glib-1-2 libdconf1 libdrm-intel1 libelf1
  libflac8 libfontconfig1 libgconf-2-4 libgdk-pixbuf2.0-0
  libgdk-pixbuf2.0-common libgeoclue-2-0 libgeocode-glib0
  libgirepository-1.0-1 libgles2-mesa libgnome-bluetooth13
  libgnome-desktop-3-12 libgnome-menu-3-0 libgraphite2-3 libgtk-3-0
  libgtk-3-common libgweather-3-6 libgweather-common libharfbuzz0b
  libibus-1.0-5 libicu57 libimobiledevice6 libip4tc0 libisl15
  libjansson4 libjbig0 libjpeg62-turbo libjson-glib-1.0-0
  libjson-glib-1.0-common liblcms2-2 libldap-2.4-2 libltdl7
  libmm-glib0 libmpc3 libmpfr4 libmutter0i libnautilus-extension1a
  libndp0 libnl-3-200 libnl-genl-3-200 libnm0 libnma-common libnma0
  libnotify4 libnspr4 libnss3 libogg0 libpam-systemd libpango-1.0-0
  libpangocairo-1.0-0 libpangoft2-1.0-0 libpcre2-8-0 libpcsclite1
  libpeas-1.0-0 libpeas-common libplist3 libpolkit-agent-1-0
  libpolkit-backend-1-0 libpolkit-gobject-1-0 libproxy1v5
  libpulse-mainloop-glib0 libpulse0 libpython3.5 libraven0
  librest-0.7-0 librsvg2-2 librsvg2-common libsasl2-2 libsasl2-modules-db
  libsecret-1-0 libsecret-common libsndfile1 libsoup-gnome2.4-1 libsoup2.4-1
  libstartup-notification0 libsystemd0 libtdb1 libteamdctl0 libthai-data
  libthai0 libtiff5 libupower-glib3 libusbmuxd4 libvorbis0a libvorbisenc2
  libvorbisfile3 libvte-2.91-0 libvte-2.91-common libwayland-cursor0
  libwayland-egl1-mesa libwnck-3-0 libwnck-3-common libxcb-randr0
  libxcb-render0 libxcb-res0 libxcb-shm0 libxcb-util0 libxcb-xkb1
  libxcomposite1 libxcursor1 libxi6 libxinerama1 libxkbcommon-x11-0
  libxkbcommon0 libxml2 libxrandr2 libxrender1 libxres1 libxtst6
  mutter-common nautilus-data network-manager policykit-1 policykit-1-gnome
  shared-mime-info systemd upower wpasupplicant xwayland
Suggested packages:
  cpp-doc gcc-6-locales libasound2-plugins alsa-utils libcanberra-gtk0
  libcanberra-pulse colord cups-common gvfs libusbmuxd-tools
  liblcms2-utils pcscd pulseaudio librsvg2-bin libteam-utils
  network-manager-openconnect-gnome network-manager-openvpn-gnome
  network-manager-vpnc-gnome network-manager-pptp-gnome systemd-ui
  systemd-container wpagui libengine-pkcs11-openssl nickle cairo-5c
  xorg-docs-core
Recommended packages:
  pulseaudio iio-sensor-proxy gvfs yelp at-spi2-core libcanberra-gtk3-module
  libtxc-dxtn-s2tc | libtxc-dxtn-s2tc0 | libtxc-dxtn0 libgtk-3-bin usbmuxd
  modemmanager notification-daemon libsasl2-modules xml-core nautilus ppp
  dnsmasq-base crda iputils-arpinggnome-keyring
  mobile-broadband-provider-info iso-codes
The following NEW packages will be installed:
  adwaita-icon-theme budgie-core cpp cpp-6 dbus dbus-x11
  dconf-gsettings-backend dconf-service fontconfig fontconfig-config
  fonts-dejavu-core gconf-service gconf2-common gir1.2-budgie-desktop-1.0
  glib-networking glib-networking-common glib-networking-services
  gnome-desktop3-data gnome-icon-theme gnome-menus gnome-session-bin
  gnome-session-common gnome-settings-daemon gnome-terminal
  gnome-terminal-data gsettings-desktop-schemas gtk-update-icon-cache
  hicolor-icon-theme libaccountsservice0 libasound2 libasound2-data
  libasyncns0 libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0
  libavahi-client3 libavahi-common-data libavahi-common3 libbluetooth3
  libbudgie-plugin0 libbudgietheme0 libcairo-gobject2 libcairo2
  libcanberra-gtk3-0 libcanberra0 libcap-ng0 libcolord2 libcroco3 libcups2
  libdatrie1 libdbus-glib-1-2 libdconf1 libdrm-intel1 libelf1 libflac8
  libfontconfig1 libgconf-2-4 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common
  libgeoclue-2-0 libgeocode-glib0 libgirepository-1.0-1 libgl1-mesa-dri
  libgles2-mesa libgnome-bluetooth13 libgnome-desktop-3-12 libgnome-menu-3-0
  libgraphite2-3 libgtk-3-0 libgtk-3-common libgweather-3-6
  libgweather-common libharfbuzz0b libibus-1.0-5 libicu57 libimobiledevice6
  libip4tc0 libisl15 libjansson4 libjbig0 libjpeg62-turbo libjson-glib-1.0-0
  libjson-glib-1.0-common liblcms2-2 libldap-2.4-2 libltdl7 libmm-glib0
  libmpc3 libmpfr4 libmutter0i libnautilus-extension1a libndp0 libnl-3-200
  libnl-genl-3-200 libnm0 libnma-common libnma0 libnotify4 libnspr4 libnss3
  libogg0 libpam-systemd libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpcre2-8-0 libpcsclite1 libpeas-1.0-0 libpeas-common libplist3
  libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libproxy1v5
  libpulse-mainloop-glib0 libpulse0 libpython3.5 libraven0 librest-0.7-0
  librsvg2-2 librsvg2-common libsasl2-2 libsasl2-modules-db libsecret-1-0
  libsecret-common libsndfile1 libsoup-gnome2.4-1 libsoup2.4-1
  libstartup-notification0 libtdb1 libteamdctl0 libthai-data libthai0
  libtiff5 libupower-glib3 libusbmuxd4 libvorbis0a libvorbisenc2
  libvorbisfile3 libvte-2.91-0 libvte-2.91-common libwayland-cursor0
  libwayland-egl1-mesa libwnck-3-0 libwnck-3-common libxcb-randr0
  libxcb-render0 libxcb-res0 libxcb-shm0 libxcb-util0 libxcb-xkb1
  libxcomposite1 libxcursor1 libxi6 libxinerama1 libxkbcommon-x11-0
  libxkbcommon0 libxml2 libxrandr2 libxrender1 libxres1 libxtst6
  mutter-common nautilus-data network-manager network-manager-gnome
  policykit-1 policykit-1-gnome shared-mime-info upower wpasupplicant
  x11-xserver-utils xwayland
The following packages will be upgraded:
  libsystemd0 systemd
2 upgraded, 174 newly installed, 0 to remove and 11 not upgraded.
Need to get 92.6 MB of archives.
After this operation, 406 MB of additional disk space will be used.
Do you want to continue? [Y/n]
  :
  :
  :
Fetched 92.6 MB in 2min 3s (750 kB/s)
Extracting templates from packages: 100%
Preconfiguring packages …
Selecting previously unselected package libip4tc0:amd64.
(Reading database … 18653 files and directories currently installed.)
Preparing to unpack …/0-libip4tc0_1.6.0-4_amd64.deb …
Unpacking libip4tc0:amd64 (1.6.0-4) …
Processing triggers for libgdk-pixbuf2.0-0:amd64 (2.36.0-1) …

Since I prefer to have windows start automatically and present me with a graphical login screen I installed ‘lightdm’, I could have installed ‘gdm’ at this point without too much of an overhead.

# apt-get install lightdm
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
  liblightdm-gobject-1-0 libxklavier16 lightdm-gtk-greeter
Suggested packages:
  iso-codes accountsservice
Recommended packages:
  desktop-base gnome-themes-standard
The following NEW packages will be installed:
  liblightdm-gobject-1-0 libxklavier16 lightdm lightdm-gtk-greeter
0 upgraded, 4 newly installed, 0 to remove and 11 not upgraded.
Need to get 352 kB of archives.
After this operation, 1,659 kB of additional disk space will be used.
Do you want to continue? [Y/n]
  :
  :
  :
Setting up lightdm (1.18.2-2) …
Adding group 'lightdm' (GID 111) …
Done.
Adding system user 'lightdm' (UID 107) …
Adding new user 'lightdm' (UID 107) with group 'lightdm' …
Creating home directory '/var/lib/lightdm' …
usermod: no changes
usermod: no changes
usermod: no changes
Processing triggers for libc-bin (2.24-5) …
Processing triggers for dbus (1.10.12-1) …
Processing triggers for systemd (232-3) …

To have ‘lightdm’ start the Budgie desktop by default you will need to change the configuration file. Look for the ‘user-session’ entry in the seat configuration section and change it from default to ‘budgie-desktop’.

Note – When modifying any configuration files where possible I prefer to comment out the original lines rather then delete them.  It makes it easier to see what was changed later.

# nano /etc/lightdm/lightdm.conf

#
# Seat configuration
#

#user-session=default
user-session=budgie-desktop
#

I also modified the configuration of the greeter to give it a background that matched one of the default GNOME background colours and more minimal feel.

# nano /etc/lightdm/lightdm-gtk-greeter.conf

# LightDM GTK+ Configuration
#
[greeter]
#background=
background=#008094
#user-background=
#theme-name=
theme-name=Adwaita

#indicators=
indicators=~power
#

If you want a really minimal desktop then you could stop here, but be warned that even though you have installed over 400 MB of software it won’t exactly do a lot – to be even vaguely useful you will want some of the basic applications.

# apt-get install nautilus file-roller evince eog gedit pulseaudio alacarte \
> gnome-control-center gnome-system-monitor
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
  accountsservice acl apg at-spi2-core bzip2 cheese-common colord colord-data
  desktop-file-utils evince-common gedit-common gir1.2-atk-1.0
  gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-glib-2.0 gir1.2-gmenu-3.0
  gir1.2-gtk-3.0 gir1.2-gtksource-3.0 gir1.2-pango-1.0 gir1.2-peas-1.0
  gnome-control-center-data gnupg gnupg-agent gstreamer1.0-clutter-3.0
  gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good
  gstreamer1.0-x gvfs gvfs-common gvfs-daemons gvfs-libs iso-codes libaa1
  libarchive13 libasound2-plugins libaspell15 libass5 libassuan0 libatasmart4
  libatkmm-1.6-1v5 libatomic1 libavc1394-0 libavcodec57 libavformat57
  libavresample3 libavutil55 libbluray1 libbs2b0 libcaca0 libcairomm-1.0-1v5
  libcdparanoia0 libcheese-gtk25 libcheese8 libchromaprint1 libclutter-1.0-0
  libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-pango20 libcogl-path20
  libcogl20 libcolord-gtk1 libcolorhug2 libcrack2 libcrystalhd3 libcupsimage2
  libcurl3-gnutls libdc1394-22 libdca0 libde265-0 libdjvulibre-text
  libdjvulibre21 libdv4 libdvdnav4 libdvdread4 libenca0 libenchant1c2a
  libevdocument3-4 libevview3-3 libexempi3 libexif12 libfaad2
  libfftw3-double3 libflite1 libfluidsynth1 libfribidi0 libgail-3-0
  libgck-1-0 libgcr-3-common libgcr-base-3-1 libgcr-ui-3-1 libgd3
  libglib2.0-data libglibmm-2.4-1v5 libgme0 libgmime-2.6-0
  libgnome-autoar-0-0 libgnome-autoar-common libgoa-1.0-0b libgoa-1.0-common
  libgoa-backend-1.0-1 libgomp1 libgpgme11 libgphoto2-6 libgphoto2-port12
  libgpm2 libgrilo-0.3-0 libgs9 libgs9-common libgsm1 libgspell-1-1
  libgspell-1-common libgstreamer-plugins-bad1.0-0
  libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgtk2.0-0
  libgtk2.0-common libgtkmm-3.0-1v5 libgtksourceview-3.0-1
  libgtksourceview-3.0-common libgtop-2.0-10 libgtop2-common libgusb2
  libgxps2 libharfbuzz-icu0 libhunspell-1.4-0 libhyphen0 libiec61883-0
  libieee1284-3 libijs-0.35 libilmbase12 libiptcdata0 libjack-jackd2-0
  libjavascriptcoregtk-4.0-18 libjbig2dec0 libkate1 libkpathsea6 libksba8
  libldb1 liblua5.2-0 liblzo2-2 libmagic-mgc libmagic1 libmediaart-2.0-0
  libmimic0 libmjpegutils-2.1-0 libmms0 libmodplug1 libmp3lame0
  libmpeg2encpp-2.1-0 libmplex2-2.1-0 libnghttp2-14 libnpth0 libnuma1
  libofa0 libopenal-data libopenal1 libopencv-calib3d2.4v5
  libopencv-contrib2.4v5 libopencv-core2.4v5 libopencv-features2d2.4v5
  libopencv-flann2.4v5 libopencv-highgui2.4-deb0 libopencv-imgproc2.4v5
  libopencv-legacy2.4v5 libopencv-ml2.4v5 libopencv-objdetect2.4v5
  libopencv-video2.4v5 libopenexr22 libopenjp2-7 libopus0 liborc-0.4-0
  libpangomm-1.4-1v5 libpangoxft-1.0-0 libpaper1 libparted2 libpoppler-glib8
  libpoppler64 libpulsedsp libpwquality-common libpwquality1
  libpython-stdlib libpython2.7 libpython2.7-minimal libpython2.7-stdlib
  libquvi-0.9-0.9.3 libquvi-scripts-0.9 libraw1394-11 librtmp1
  libsamplerate0 libsane libsane-common libsbc1 libschroedinger-1.0-0
  libshine3 libshout3 libsigc++-2.0-0v5 libsmbclient libsnappy1v5
  libsndio6.1 libsoundtouch1 libsoxr0 libspandsp2 libspectre1 libspeex1
  libspeexdsp1 libsrtp0 libssh-gcrypt-4 libssh2-1 libstemmer0d
  libswresample2 libswscale4 libtag1v5 libtag1v5-vanilla libtalloc2 libtbb2
  libtelepathy-glib0 libtevent0 libtheora0 libtotem-plparser-common
  libtotem-plparser18 libtracker-sparql-1.0-0 libtwolame0 libudisks2-0
  libunistring0 libv4l-0 libv4lconvert0 libva-drm1 libva-x11-1 libva1
  libvdpau1 libvisual-0.4-0 libvo-aacenc0 libvo-amrwbenc0 libvpx4
  libwavpack1 libwbclient0 libwebkit2gtk-4.0-37 libwebp6 libwebpmux2
  libwebrtc-audio-processing1 libwildmidi-config libwildmidi2 libx264-148
  libx265-95 libxcb-shape0 libxft2 libxslt1.1 libxv1 libxvidcore4
  libxxf86dga1 libzbar0 libzvbi-common libzvbi0 lua-bitop lua-expat
  lua-json lua-lpeg lua-socket p7zip p7zip-full parted pinentry-curses
  poppler-data pulseaudio-utils python python-gi python-minimal
  python-talloc python2.7 python2.7-minimal python3-cairo python3-gi
  python3-gi-cairo samba-libs udisks2 x11-utils
Suggested packages:
  bzip2-doc colord-sensor-argyll eog-plugins nautilus-sendto unrar arj lha
  lzip lzma lzop ncompress rpm2cpio rzip sharutils unace unalz unar unzip
  xz-utils zip zoo gedit-plugins gstreamer1.0-pulseaudio
  libcanberra-gtk-module libcanberra-gtk3-module parcimonie xloadimage
  frei0r-plugins gvfs-backends isoquery lrzip aspell libbluray-bdj
  firmware-crystalhd libdv-bin oss-compat libdvdcss2 libenchant-voikko
  libfftw3-bin libfftw3-dev alsa-base libgd-tools gpgsm gphoto2 gpm
  grilo-plugins-0.3 libvisual-0.4-plugins gstreamer1.0-tools jackd2 file
  libportaudio2 opus-tools libparted-dev libparted-i18n libraw1394-doc
  avahi-daemon hplip sndiod speex srtp-utils brasero totem | mp3-decoder
  xdg-user-dirs tracker p7zip-rar parted-doc pinentry-doc poppler-utils
  ghostscript fonts-japanese-mincho | fonts-ipafont-mincho
  fonts-japanese-gothic | fonts-ipafont-gothic fonts-arphic-ukai
  fonts-arphic-uming fonts-nanum pavumeter pavucontrol paman paprefs
  python-doc python-tk python-gi-cairo python2.7-doc binutils binfmt-support
  btrfs-tools cryptsetup-bin mdadm reiserfsprogs xfsprogs mesa-utils
Recommended packages:
  yelp zenity cups-pk-helper gnome-online-accounts gnome-user-guide
  gnome-user-share gkbd-capplet libcanberra-pulse mousetweaks rygel |
  rygel-tracker system-config-printer-common libnss-myhostname
  cracklib-runtime pulseaudio-module-bluetooth realmd dirmngr
  gnupg-l10n aspell-en | aspell-dictionary | aspell6a-dictionary libaacs0
  libclutter-1.0-common libcogl-common libcupsfilters1 ca-certificates
  enchant libgphoto2-l10n fonts-droid-fallback libgail-common libgtk2.0-bin
  hunspell-en-us | hunspell-dictionary | myspell-dictionary libpaper-utils
  libsane-extras sane-utils va-driver-all | va-driver vdpau-driver-all |
  vdpau-driver libwebkit2gtk-4.0-37-gtk2 freepats gvfs-backends gnome-sushi
  rtkit dosfstools exfat-utils gdisk ntfs-3g
The following NEW packages will be installed:
  accountsservice acl alacarte apg at-spi2-core bzip2 cheese-common colord   colord-data desktop-file-utils eog evince evince-common file-roller gedit
  gedit-common gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0
  gir1.2-glib-2.0 gir1.2-gmenu-3.0 gir1.2-gtk-3.0 gir1.2-gtksource-3.0
  gir1.2-pango-1.0 gir1.2-peas-1.0 gnome-control-center
  gnome-control-center-data gnome-system-monitor gnupg-agent
  gstreamer1.0-clutter-3.0 gstreamer1.0-plugins-bad
  gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-x gvfs
  gvfs-common gvfs-daemons gvfs-libs iso-codes libaa1 libarchive13
  libasound2-plugins libaspell15 libass5 libassuan0 libatasmart4
  libatkmm-1.6-1v5 libatomic1 libavc1394-0 libavcodec57 libavformat57
  libavresample3 libavutil55 libbluray1 libbs2b0 libcaca0 libcairomm-1.0-1v5
  libcdparanoia0 libcheese-gtk25 libcheese8 libchromaprint1 libclutter-1.0-0
  libclutter-gst-3.0-0 libclutter-gtk-1.0-0 libcogl-pango20 libcogl-path20
  libcogl20 libcolord-gtk1 libcolorhug2 libcrack2 libcrystalhd3
  libcupsimage2 libcurl3-gnutls libdc1394-22 libdca0 libde265-0
  libdjvulibre-text libdjvulibre21 libdv4 libdvdnav4 libdvdread4 libenca0
  libenchant1c2a libevdocument3-4 libevview3-3 libexempi3 libexif12 libfaad2
  libfftw3-double3 libflite1 libfluidsynth1 libfribidi0 libgail-3-0
  libgck-1-0 libgcr-3-common libgcr-base-3-1 libgcr-ui-3-1 libgd3
  libglib2.0-data libglibmm-2.4-1v5 libgme0 libgmime-2.6-0
  libgnome-autoar-0-0 libgnome-autoar-common libgoa-1.0-0b libgoa-1.0-common
  libgoa-backend-1.0-1 libgomp1 libgpgme11 libgphoto2-6 libgphoto2-port12
  libgpm2 libgrilo-0.3-0 libgs9 libgs9-common libgsm1 libgspell-1-1
  libgspell-1-common libgstreamer-plugins-bad1.0-0
  libgstreamer-plugins-base1.0-0 libgstreamer1.0-0 libgtk2.0-0
  libgtk2.0-common libgtkmm-3.0-1v5 libgtksourceview-3.0-1
  libgtksourceview-3.0-common libgtop-2.0-10 libgtop2-common libgusb2
  libgxps2 libharfbuzz-icu0 libhunspell-1.4-0 libhyphen0 libiec61883-0
  libieee1284-3 libijs-0.35 libilmbase12 libiptcdata0 libjack-jackd2-0
  libjavascriptcoregtk-4.0-18 libjbig2dec0 libkate1 libkpathsea6 libksba8
  libldb1 liblua5.2-0 liblzo2-2 libmagic-mgc libmagic1 libmediaart-2.0-0
  libmimic0 libmjpegutils-2.1-0 libmms0 libmodplug1 libmp3lame0
  libmpeg2encpp-2.1-0 libmplex2-2.1-0 libnghttp2-14 libnpth0 libnuma1
  libofa0 libopenal-data libopenal1 libopencv-calib3d2.4v5
  libopencv-contrib2.4v5 libopencv-core2.4v5 libopencv-features2d2.4v5
  libopencv-flann2.4v5 libopencv-highgui2.4-deb0 libopencv-imgproc2.4v5
  libopencv-legacy2.4v5 libopencv-ml2.4v5 libopencv-objdetect2.4v5
  libopencv-video2.4v5 libopenexr22 libopenjp2-7 libopus0 liborc-0.4-0
  libpangomm-1.4-1v5 libpangoxft-1.0-0 libpaper1 libparted2 libpoppler-glib8
  libpoppler64 libpulsedsp libpwquality-common libpwquality1
  libpython-stdlib libpython2.7 libpython2.7-minimal libpython2.7-stdlib
  libquvi-0.9-0.9.3 libquvi-scripts-0.9 libraw1394-11 librtmp1
  libsamplerate0 libsane libsane-common libsbc1 libschroedinger-1.0-0
  libshine3 libshout3 libsigc++-2.0-0v5 libsmbclient libsnappy1v5
  libsndio6.1 libsoundtouch1 libsoxr0 libspandsp2 libspectre1 libspeex1
  libspeexdsp1 libsrtp0 libssh-gcrypt-4 libssh2-1 libstemmer0d
  libswresample2 libswscale4 libtag1v5 libtag1v5-vanilla libtalloc2 libtbb2
  libtelepathy-glib0 libtevent0 libtheora0 libtotem-plparser-common
  libtotem-plparser18 libtracker-sparql-1.0-0 libtwolame0 libudisks2-0
  libunistring0 libv4l-0 libv4lconvert0 libva-drm1 libva-x11-1 libva1
  libvdpau1 libvisual-0.4-0 libvo-aacenc0 libvo-amrwbenc0 libvpx4
  libwavpack1 libwbclient0 libwebkit2gtk-4.0-37libwebp6 libwebpmux2
  libwebrtc-audio-processing1 libwildmidi-config libwildmidi2 libx264-148
  libx265-95 libxcb-shape0 libxft2 libxslt1.1 libxv1 libxvidcore4
  libxxf86dga1 libzbar0 libzvbi-common libzvbi0 lua-bitop lua-expat lua-json
  lua-lpeg lua-socket nautilus p7zip p7zip-full parted pinentry-curses
  poppler-data pulseaudio pulseaudio-utils python python-gi python-minimal
  python-talloc python2.7 python2.7-minimal python3-cairo python3-gi
  python3-gi-cairo samba-libs udisks2 x11-utils
The following packages will be upgraded:
  gnupg
1 upgraded, 285 newly installed, 0 to remove and 10 not upgraded.
Need to get 140 MB of archives.
After this operation, 508 MB of additional disk space will be used.
Do you want to continue? [Y/n]
  :
  :
  :
Processing triggers for libc-bin (2.24-5) …
Processing triggers for dbus (1.10.12-1) …
#

That should be enought to get you started, obviously you can add more of your favorite GNOME applications if you want.

This entry was posted in Debian, Linux and tagged , . Bookmark the permalink.

4 Responses to Installing Budgie Desktop on Debian 9.x (stretch)

  1. mikeskid says:

    I’d love to see an example of your lightdm.Conf in its’ entirety. I’ve never set it up by hand before, and this install is kicking me straight in the rear!

  2. Hi, I have a problem.
    Debian boot to Login, I enter my ID and connect but Debian don’t charge Budgie, it ask again my ID.

    mike632t: Are you sure you have installed all the necessary packages?

    With the release of ‘stretch’ last week I’m going to check that this post is still accurate (things can change), but when I wrote it originally I did experience exactly this behaviour until I installed network-manager-gnome.

    • I had the same problem. The problem is, is that if you look at the top right, there should be an option to change the session environment. Its set to default for some reason. You should see the option to change it to “budgie-session” (since thats what you put in the conf file, it wont load unless you do). Once you do that, it will let you log in

  3. therealwhip says:

    It is still accurate or not?

    mike632t: Stretch may not include the very latest version of Budgie but the packages in this release should have not changed – I will check this install and update the post if necessary.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.