JustToThePoint English Website Version
JustToThePoint en español

Configuring Proxmox VE with a Lightweight GUI for Direct Access

Enjoy life. This is not a dress rehearsal, Friedrich Nietzsche.

“Home Server

In an ideal world, where money is not an issue, you might build your homelab server on top-of-the-line hardware, e.g., an Intel i9, 4x32 GB RAM, 4TB VM drives in RAID 1 pr 5, etc. In practice, most of us work with modest equipment and limited resources, but we still want get things done.

Proxmox VE is primarily designed as a bare‐metal hypervisor for managing VMs and LXC containers, with no extra software installed on the host itself. It is managed remotely through a web browser on another machine.

However, there are scenarios, such as a “developer workstation” or a kiosk in your homelab, where you might want to log into the Proxmox Web UI directly from the server’s local console, as if it were a desktop. Consider the following situations:

This setup is not the recommended production use of Proxmox VE. It wastes CPU, RAM, and storage that can could be allocated to VMs or containers (resource overhead) and may potentially introduce security risks (desktop environments and extra services can introduce vulnerabilities). There is also the potential for software conflicts when Proxmox updates its underlying Debian base. This approach is generally acceptable for homelabs, testing, or kiosks, but it is advisable to install a very lightweight GUI.

Rather than installing a GUI on Proxmox, a common alternative is to use SSH with X11 forwarding (or VNC) to run individual GUI apps —from text editors to file managers —on your workstation or any of your VMs and containers, while they display remotely.

Install a GUI locally on Proxmox

Proxmox VE is designed as a bare-metal hypervisor for managing virtual machines (VMs) and containers. Installing a full desktop environment (like GNOME, KDE, or XFCE) is generally discouraged because: 1. Resource Overhead; 2. Security Risks; 3. Stability & Updates (Proxmox’s Debian base is tightly controlled).

Rather than installing a GUI on Proxmox, a common alternative is to use SSH with X11 forwarding to run individual GUI apps on your workstation, while they display remotely.

This is a step-by-step guide showing how to install and configure a lightweight graphical environment (the bare minimum) locally on a Proxmox server for kiosk-like access to the Proxmox Web UI.

This is a step-by-step guide showing how to install and configure a lightweight graphical environment (the bare minimum) locally on a Proxmox server for kiosk-like access to the Proxmox Web UI.

# Update the Proxmox host’s package lists and upgrade any existing packages
apt update && apt dist-upgrade -y

# Install only the minimal required packages:
apt install --no-install-recommends xorg openbox lightdm chromium pulseaudio -y
  1. --no-install-recommends ensures that only the minimum necessary packages are pulled in, keeping the system as lean and lightweight as possible.
  2. xorg is an open source implementation of the X Window System. It provides the X server (the basic graphical backend) and allows users to have a graphical environment at their fingertips.
  3. openbox is a lightweight, but highly customizable window manager. Unlike full desktop environments (GNOME/KDE/XFCE), Openbox uses minimal resources (CPU/RAM). You could also choose xfce4 desktop as this is a lightweight desktop environment. window manager.
  4. lightdm is a slim display manager that can handle auto-login.
  5. chromium is a popular open-source browser.
  6. pulseaudio provides audio support within your kiosk session.

Openbox: Alt+F4 Close windows. Ctrl + Alt + [← → ↑ ↓]: Switch to desktops. Ctrl + Alt + [Number]: Switch directly to desktop number.

# Open /etc/lightdm/lightdm.conf in your favorite editor
vi /etc/lightdm/lightdm.conf

# Find (or add) these lines under the [Seat:*] section and set autologin-user
autologin-user=YOUR-USERNAME # Specifies the username to log in automatically
# Set autologin-user-timeout to 0 for immediate login
autologin-user-timeout=0
autologin-session=openbox # Ensures LightDM starts an Openbox session for that user.

We will instruct Openbox to start Chromium automatically, maximize it, and point it at Proxmox’s local web interface (typically https://localhost:8006).

# Create (or edit) the per-user autostart file
mkdir -p /home/YOUR-USERNAME/.config/openbox
vi /home/YOUR-USERNAME/.config/openbox/autostart
chown -R YOUR-USERNAME:YOUR-USERNAME /home/YOUR-USERNAME/.config/openbox

chmod +x /home/kiosk/.config/openbox/autostart # Ensure the file is executable
vi /home/kiosk/.config/openbox/autostart

# In autostart, add the following lines:
# It prevents the screen from blanking or entering power-saving mode.
xset -dpms # Disable DPMS (Energy Star) features
xset s off # Disable screensaver
xset s noblank # Disable screen blanking

# 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 window borders, full screen) on Proxmox’s Web UI
# --no-sandbox is often needed when running Chromium as root.
# However, this reduces 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 (it shows how you might start the Barrier client to share keyboard/mouse from another machine) 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 (Proxmox host) and port (24800) for the Barrier server to listen on.

In the barrier’s server (e.g., GNU/Linux, Nixos distribution, i3/config): exec –no-startup-id barrier

Add user/group account with ssh access and root privileges

# 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"
Bitcoin donation

JustToThePoint Copyright © 2011 - 2025 Anawim. ALL RIGHTS RESERVED. Bilingual e-books, articles, and videos to help your child and your entire family succeed, develop a healthy lifestyle, and have a lot of fun. Social Issues, Join us.

This website uses cookies to improve your navigation experience.
By continuing, you are consenting to our use of cookies, in accordance with our Cookies Policy and Website Terms and Conditions of use.