Enjoy life. This is not a dress rehearsal, Friedrich Nietzsche.
In an ideal world, where money is not a problem, we will build our server in a i9, 4x32GB RAM, 4TB VM drive, RAID 1 or 5, and so on.
Typically, Proxmox VE is primarily used as virtualization platform with NO additional software installed. It is managed remotely through a web browser on another machine, but there may be scenarios (e.g., a “developer workstation” or kiosk using Proxmox VE as their primary workstation/desktop or testing environments) where you want to log into the Proxmox Web UI directly from the server’s local console.
This is a step-by-step guide showing how to install and configure a lightweight graphical environment (GUI) locally on a Proxmox server for kiosk-like access to the Proxmox Web UI.
Step 1. Add a non-root user: adduser YOUR-USERNAME
.
Step 2. Install Required Packages
# Update your repository and system
apt update && apt dist-upgrade
apt install --no-install-recommends xorg openbox lightdm chromium pulseaudio
--no-install-recommends
ensures that only the minimum necessary packages are pulled in, keeping the system as lean and lightweight as possible.Openbox: Alt+F4 Close windows.I Ctrl + Alt + [← → ↑ ↓]: Switch to desktops. Ctrl + Alt + [Number]: Switch directly to desktop number.
Step 3. Configure LightDM for Auto-Login.
vi /etc/lightdm/lightdm.conf
# Uncomment and set autologin-user
autologin-user=YOUR-USERNAME
# Set autologin-user-timeout to 0 for immediate login
autologin-user-timeout=0
Step 4. Configure Openbox to Start Chromium Automatically. In an Openbox session, we can use ~/.config/openbox/autostart (per-user) or the system-wide version at /etc/xdg/openbox/autostart to run commands when Openbox starts.
# It prevents the screen from blanking or entering power-saving mode.
xset -dpms
xset s off
# To change the resolution in your Proxmox VM running Openbox.
# Open a terminal and run the following command to list available resolutions: xrandr --query
# Set your desired resolution:
xrandr -s 1920x1080
# Start Chromium in full-screen kiosk mode
# --no-sandbox is often needed when running Chromium as root or a user without certain privileges.
# However, this lowers browser security.
# https://localhost:8006 is the default local Proxmox web address.
chromium --no-sandbox --kiosk https://localhost:8006 &
barrierc -f --no-tray --name myserver --disable-crypto [192.168.1.36]:24800
# Start the Barrier server with the following options:
# -f: Run it in the foreground (not as a daemon).
# --no-tray: Disable the system tray icon.
# --name myserver: Set the name of the client to "myserver" (it is called my server because it is a homelab server running ProxMox, but for Barrier is the client
# meaning that the keyboard/mouse are attached to another computer
# --disable-crypto: Disable encryption for the connection.
# [192.168.1.36]:24800: Specify the IP address and port (24800) for the server to listen on.
In the barrier’s server (Nixos, i3/config): exec –no-startup-id barrier
Step 5. Enable LightDM and reboot: systemctl enable lightdm
and reboot
.
# Install sudo
apt install sudo -y
# Add your user to the `sudo` group
usermod -aG sudo YOUR-USERNAME
visudo # Edit the sudoers file
# Allow members of group sudo to execute any command
sudo ALL=(ALL:ALL) ALL
# You will need to re-log-in with your user for the changes to take effect, then check:
id
> uid=1000(YOUR-USERNAME) gid=1000(YOUR-USERNAME) groups=1000(YOUR-USERNAME),27(sudo),100(users)
# vi .bashrc
# Many Proxmox-specific programs are found in `/usr/sbin`, so make sure to add that to your path:
export PATH="/usr/sbin:$PATH"