[TUTORIAL] Developer Workstation (Proxmox-VE 8) with cinnamon (LMDE6)

aureladmin

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

1) Install Promox-ve 8.0-2 via iso

2) Connect to Proxmox-ve via ssh as root

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

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

deb https://deb.debian.org/debian/ bookworm-backports main contrib non-free non-free-firmware" >>  /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 bookworm pve-no-subscription

#Debian-multimedia
deb https://www.deb-multimedia.org bookworm main non-free
deb https://www.deb-multimedia.org bookworm-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

Bash:
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
Bash:
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com A6616109451BBBF2

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

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

11)Install "deb-multimedia-keyring" packages
Bash:
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
Bash:
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
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 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.


Optional amdgpu drivers:
If you have an AMD processor with an iGPU you will have to install the drivers by hand because the pve-firmware package does not contain them.

1) check the version of the "firmware-XXXXX" package available at the bookworm repositorie:
http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/

2) Firmware download, extract and copy
AMDGPU
Bash:
wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-amd-graphics_20230515-3_all.deb
dpkg -x firmware-amd-graphics_20230515-3_all.deb firmware-amd-graphics
cp -r firmware-amd-graphics/lib/firmware/* /lib/firmware/

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

4) Reboot
Bash:
reboot



Optional bluetooth, wifi card and other drivers:

if your bluetooth, wifi card or other 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-XXXXX" package available at the bookworm repositorie:
http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/

2) Firmware download, extract and copy
INTEL WIFI and BLUETOOTH
Bash:
wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-iwlwifi_20230515-3_all.deb
dpkg -x firmware-iwlwifi_20230515-3_all.deb firmware-iwlwifi
cp -r firmware-iwlwifi/lib/firmware/* /lib/firmware/

REALTEK WIFI and BLUETOOTH
Bash:
wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-realtek_20230515-3_all.deb
dpkg -x firmware-realtek_20230515-3_all.deb firmware-realtek
cp -r firmware-realtek/lib/firmware/* /lib/firmware/

OTHER, MEDIATEK, ...
Bash:
wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-misc-nonfree_20230515-3_all.deb
dpkg -x firmware-misc-nonfree_20230515-3_all.deb firmware-misc-nonfree
cp -r firmware-misc-nonfree/lib/firmware/* /lib/firmware/

ALL in one shot (danger)
Bash:
wget http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-nonfree_20230515.orig.tar.xz
tar -xf firmware-nonfree_20230515.orig.tar.xz
cp -r firmware-nonfree_20230515/* /lib/firmware/

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

4) Reboot
Bash:
reboot


optional, network configuration:

If you want to use cinnamon's network-manager, you will need to modify the "/etc/network/interfaces" file as well as the "/etc/hosts" file.

Indeed it is simpler to do nat and choose your wifi or wired connection via the graphical interface than to do everything on the command line and restart each time.

example file:

/etc/network/interfaces:
Code:
auto lo
iface lo inet loopback

auto vmbr0
iface vmbr0 inet static
    address 192.168.199.254/24
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    metric 100
    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -t nat -A POSTROUTING -s '192.168.199.0/24' -o wlo1 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.168.199.0/24' -o wlo1 -j MASQUERADE
#    post-up iptables -t nat -A POSTROUTING -s '192.168.199.0/24' -o enp4s0 -j MASQUERADE
#    post-down iptables -t nat -D POSTROUTING -s '192.168.199.0/24' -o enp4s0 -j MASQUERADE

/etc/hosts:
Code:
127.0.0.1 localhost.localdomain localhost
192.168.199.254 COMPUTERNAME.domain.local COMPUTERNAME

# The following lines are desirable for IPv6 capable hosts

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

I created a subnet "192.168.199.0/24" with the IP of my proxmox PC "192.168.199.254".
I do "postrouting" to have a network connection.
I'm not going to detail everything, there is quite a bit of tutorial on this on the net and on the forum.



There will be another tutorial for Asus laptops with nvidia graphics card.
 
Last edited:
Thank you again for an awesome tutorial and the effort to test that this works.

I did my PVE 7 to 8 upgrade and LMDE 5 to 6 upgrade concurrently and other than a few gpg complaints, it went very well.

I did have to update the /usr/lib/os-release file again to fix the UI's repositories glitch.

I changed VERSION_CODENAME=faye to VERSION_CODENAME=bookworm


FROM:
Bash:
PRETTY_NAME="LMDE 6 (faye)"
NAME="LMDE"
VERSION_ID="6"
VERSION="6 (faye)"
VERSION_CODENAME=faye
ID=linuxmint
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/"
ID_LIKE=debian
DEBIAN_CODENAME=bookworm

TO:
Bash:
PRETTY_NAME="LMDE 6 (faye)"
NAME="LMDE"
VERSION_ID="6"
VERSION="6 (faye)"
VERSION_CODENAME=bookworm
ID=linuxmint
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/"
ID_LIKE=debian
DEBIAN_CODENAME=bookworm
 
Successfully installed the cinnamon Desktop on the proxmox host and am quite happy.
I'm just wondering how separated are the desktop environment and the proxmox host system.

For instance: Tailscale is installed on the host, but my cinnamon workstation doesn't even know the "tailscale" command. How is that even possible?
And do I have to be carefull about installing programs on cinnamon which could interfere with proxmox?
 
Last edited:
Successfully installed the cinnamon Desktop on the proxmox host and am quite happy.
I'm just wondering how separated are the desktop environment and the proxmox host system.

For instance: Tailscale is installed on the host, but my cinnamon workstation doesn't even know the "tailscale" command. How is that even possible?
And do I have to be carefull about installing programs on cinnamon which could interfere with proxmox?
Tailscale, by default it is Flatpak so indeed the orders will not be recognized. you must install it by adding the ppa or via the sources to access the command via terminal.
 
Just working fine. But one thing to mention:

I get an error massage: "unknown Debian code name 'faye' (500).
Do I have to worry about this?
 

Attachments

  • Screenshot from 2024-07-06 16-12-56.png
    Screenshot from 2024-07-06 16-12-56.png
    11.8 KB · Views: 3
Just working fine. But one thing to mention:

I get an error massage: "unknown Debian code name 'faye' (500).
Do I have to worry about this?
This is not a problem. You can modify the file "/usr/lib/os-release" (see post above) to no longer have the error message, however this modification deactivates the graphical launch of the "mint" module for choosing ppa .
 
Last edited:
Hi,

Many Thanks !!!!
Juste works fine for intel wifi and bluetooth on my laptop lenovo with full kde:
Code:
# hostnamectl
 Static hostname: pve-aaa
       Icon name: computer-laptop
         Chassis: laptop       
Machine ID: a869824ac8b44f4b9a39dcc0c189682c
         Boot ID: f3d6e667b6934f358b6ca573d221b27b
Operating System: Debian GNU/Linux 12 (bookworm) 
          Kernel: Linux 6.8.12-1-pve
    Architecture: x86-64
 Hardware Vendor: Lenovo
  Hardware Model: ThinkBook 14 G6 IRL
Firmware Version: MMCN33WW

I use pve as my work laptop because I like debian+zfs and pve is the only one to offer a root zfs installer with all the zfs raids ...
Really good work !!!!
 
  • Like
Reactions: aureladmin
Is there an easy way to stop/start the Desktop service for saving ressources in case nobody is at the desktop?
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!