[TUTORIAL] Developer Workstation with cinnamon (LMDE5)

aureladmin

Renowned Member
Apr 15, 2016
39
18
73
If you want to install a "develloper workstation" with cinnamon (LMDE5), this is where it happens.

1) Install Promox-ve 7.1 via iso

2) Connect to Proxmox-ve via ssh as root

3) Create a new main "source.list" type file as under LMDE5
Bash:
echo "deb http://packages.linuxmint.com elsie main upstream import backport

deb https://deb.debian.org/debian/ bullseye main contrib non-free
deb https://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free

deb https://deb.debian.org/debian/ bullseye-backports main contrib non-free" >>  /etc/apt/sources.list.d/official-package-repositories.list

4) Create "additional-repositories.list" file
Bash:
echo "# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription

#Debian-multimedia
deb https://www.deb-multimedia.org bullseye main non-free
deb https://www.deb-multimedia.org bullseye-backports main" >>  /etc/apt/sources.list.d/additional-repositories.list

5) Delete the old "source.list" file and "pve-enterprise.list"
Bash:
rm /etc/apt/sources.list
rm /etc/apt/sources.list.d/pve-enterprise.list

6) Create an apt pref file for official-package-repositories
Code:
echo "Package: *
Pin: origin live.linuxmint.com
Pin-Priority: 750

Package: *
Pin: release o=linuxmint,c=upstream
Pin-Priority: 700

Package: *
Pin: release o=LP-PPA-linuxmint-daily-build-team-daily-builds
Pin-Priority: 700" >> /etc/apt/preferences.d/official-package-repositories.pref

7) Create an apt pref file for official-extra-repositories
Bash:
echo "Package: *
Pin: origin "build.linuxmint.com"
Pin-Priority: 700" >> /etc/apt/preferences.d/official-extra-repositories.pref

8) Add the LMDE5 ppa key
Code:
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A6616109451BBBF2

9) Update the repository list
Code:
apt update -oAcquire::AllowInsecureRepositories=true

10)Install "sudo" packages
Code:
apt install sudo

11)Install "deb-multimedia-keyring" packages
Code:
wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.8.1_all.deb
dpkg -i deb-multimedia-keyring_2016.8.1_all.deb

12) Update the repository list
Bash:
apt update

13) Configure your locale for langage and other, follow the steps
Code:
dpkg-reconfigure locales

14) Add your user account
Bash:
adduser your_user

15) Add your user account to the sudo group
Bash:
usermod -aG sudo your_user

16)Add the sudo right to your user account via "visudo"
Bash:
visudo

Add this line
Bash:
%sudo ALL=(ALL:ALL)  ALL
your_user ALL=(ALL:ALL)  ALL

17) Installation of the cinnamon interface and its dependencies
I had to change the method compared to LMDE4
Bash:
apt --install-recommends --force-yes -y install linuxmint-keyring debian-system-adjustments && apt update && apt --install-recommends --force-yes -y install mint-meta-cinnamon  cinnamon cinnamon-l10n cinnamon-desktop-data mint-common lightdm-settings mintlocale mintmenu mintsystem mintupdate mintwelcome mint-mirrors mint-translations mint-themes mintinstall mint-backgrounds-uma mint-backgrounds-una mint-backgrounds-ulyssa mintstick muffin nemo nemo-emblems nemo-preview nemo-share mint-meta-codecs timeshift xreader boot-repair blueberry timeshift synaptic numlockx software-properties-common software-properties-gtk slick-greeter gnome-terminal gnome-font-viewer gnome-calendar gnome-calculator gnome-menus gnome-power-manager firefox bulky caribou gdebi onboard redshift sticky thingy webapp-manager xapp-appimage-thumbnailer xapp-epub-thumbnailer xapp-mp3-thumbnailer xapp-raw-thumbnailer xreader xviewer xviewer-plugins acpi-support acpid alsa-utils anacron apt-clone avahi-utils avahi-autoipd baobab build-essential cups cups-browsed fuse3 lintian && apt -y install cinnamon-desktop-environment

18) Update the distribution
Bash:
apt dist-upgrade -y

19)Reboot your computer
Bash:
reboot

the installation has installed many games by default, I advise you to remove them if you do not want them. you can do it via synaptic by choosing by category it goes very quickly.

If you want up-to-date apps, I recommend using flatpak. it is managed by gnome-software for the installation of applications and updates.



Optional bluetooth:
if your bluetooth and wifi card are not recognized despite the installation of the "pve-firmware" package, you will have to do it manually.

1) check the version of the "firmware-iwlwifi" package available at the bullseye repositorie:
https://packages.debian.org/fr/bullseye/firmware-iwlwifi

2) Download the "firmware-iwlwifi" package (replace "XXXXXXXX" by the version of your package):
Bash:
wget http://ftp.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-iwlwifi_XXXXXXXXXX.deb

3) Extraction of the files from the "firmware-iwlwifi" package:
Bash:
dpkg -x firmware-iwlwifi_XXXXXXXXXX.deb firmware-iwlwifi

4) Copy of the files previously extracted:
Bash:
cp -r firmware-iwlwifi/lib/firmware/* /lib/firmware/

5) Update "initramfs"
Bash:
update-initramfs -k all -u

6) Reboot
Bash:
reboot



Optional KDE application:
If you use KDE application install this packages before
Bash:
apt install kdelibs-bin kdelibs5-data kdelibs5-plugins


Optional Plymouth theme:
If you want to have a theme when your computer shutdown:
Bash:
plymouth-set-default-theme -R mint-logo
 
Last edited:
@aureladmin I've been getting an occasional error pop up in the PVE web interface when using this setup:

"unknown Debian code name 'elsie' (500)"

Does proxmox not like having the linuxmint 'elsie' sources in its repository list?

I can't even load the pve web interface "Repositories" for my node. I can see the "Updates" just fine.

Any ideas?

1662432575729.png
 
Long time no update but after still having this issue, I decided to investigate a bit further. It looks like the file with the os-release info was causing Proxmox to error out. Specifically the line
Code:
VERSION_CODENAME=elsie

Code:
root@pve:~ # cat /usr/lib/os-release

PRETTY_NAME="LMDE 5 (elsie)"
NAME="LMDE"
VERSION_ID="5"
VERSION="5 (elsie)"
ID=linuxmint
ID_LIKE=debian
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=elsie
DEBIAN_CODENAME=bullseye

I replaced "elsie" with "bullseye" (admittedly not fully understanding the implications and expecting things to break) and the GUI started behaving again without complaining that it didn't know what "elsie" was.
 
  • Like
Reactions: aureladmin
Is there a tutorial for LMDE6?
I am on AMD zen3 5000 series and upgraded from kernel 5--> 6 because I wasn't getting all sensors (PWM fans).
Since they all show but LMDE5 doesn't start anymore (stays on CLI/)
 
Last edited:
Is there a tutorial for LMDE6?
I am on AMD zen3 5000 series and upgraded from kernel 5--> 6 because I wasn't getting all sensors (PWM fans).
Since they all show but LMDE5 doesn't start anymore (stays on CLI/)
LMDE 6 is not planned for now.
I have an equivalent problem on a ryzen 6900HX, I had to go through the Xanmod kernel.
If the problem persists, you will have to wait for Proxmox 8 under debian 12 and switch to an XFCE or other graphical interface.
Hope this helps you.
 
I'm currently running my own frankenstein-proxmox-workstation. I had to use Debian 13 because of my new 9070XT.
Proxmox is running as a regular LXC container inside on a containerized debian 12. No issues, working great, even clustered with my main pve machine.

Step 1: create a debian 12 container
Step 2: install proxmox inside debian 12 as in the proxmox-on-debian-wikipage
Step 3: modify lxc containerconfig, this is mine:

Code:
# Template used to create this container: /usr/share/lxc/templates/lxc-download
# Parameters passed to the template: --dist debian -- --release bookworm --arch amd64
# For additional config options, please look at lxc.container.conf(5)

# Distribution configuration
lxc.include = /usr/share/lxc/config/common.conf
lxc.arch = linux64

# Container specific configuration
lxc.apparmor.profile = generated
lxc.apparmor.allow_nesting = 1
lxc.rootfs.path = dir:/var/lib/lxc/proxmox/rootfs
lxc.uts.name = proxmox
lxc.start.auto = 1

# Network configuration
lxc.net.0.type = veth
lxc.net.0.link = vmbr0
lxc.net.0.flags = up
lxc.net.0.hwaddr = 00:16:3d:a3:12:dd

lxc.cgroup2.devices.allow = c 10:232 rwm
lxc.cgroup2.devices.allow = c 10:229 rwm
lxc.cgroup2.devices.allow = c 10:200 rwm

lxc.mount.entry = /dev/kvm dev/kvm none bind,optional,create=file
lxc.mount.entry = /dev/fuse dev/fuse none bind,optional,create=file
lxc.mount.entry = /dev/net dev/net none bind,optional,create=dir

# optionally you can also passtrough a blockdevice, i'm using this for my windows vm
# residing on an old ssd
lxc.cgroup2.devices.allow = b 8:0 rwm
lxc.cgroup2.devices.allow = b 8:1 rwm
lxc.cgroup2.devices.allow = b 8:2 rwm
lxc.cgroup2.devices.allow = b 8:3 rwm

lxc.mount.entry = /dev/sda dev/sda none bind,optional,create=file
lxc.mount.entry = /dev/sda1 dev/sda1 none bind,optional,create=file
lxc.mount.entry = /dev/sda2 dev/sda2 none bind,optional,create=file
lxc.mount.entry = /dev/sda3 dev/sda3 none bind,optional,create=file
 
Last edited:
  • Like
Reactions: aureladmin