JustToThePoint English Website Version
JustToThePoint en español
Colaborate with us

Developer Workstations with Proxmox VE and X11

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

“Home Server

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 setup is not the recommended production use of Proxmox VE and can potentially introduce security risks. This is generally acceptable for labs or personal setups, but not recommended at all for production server

Install a GUI locally on Proxmox

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
  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 and allows users to have a graphical environment at their fingertips.
  3. openbox is a lightweight window manager. You could also choose xfce4 desktop as this is a lightweight desktop environment.
  4. lightdm is a display manager that can handle auto-login.
  5. chromium is a popular browser.
  6. pulseaudio provides audio support within your kiosk session.

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.

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"

Accessing your Ubuntu desktop virtual machine

  1. Click on the Ubuntu symbol located in the bottom left corner of your desktop to open the main menu. From the menu, click on System to open the system settings.
  2. Select Remote Desktop and enable desktop sharing. You will see two options at the top: Desktop Sharing and Remote Control. To allow others to view and control your desktop, toggle these switches on.
  3. Configure your VM to use SPICE for display: Datacenter, Node (e.g., myserver), Virtual Machine (e.g., 100 ubuntu-desktop), Hardware, Display, and change the VM’s display settings to SPICE (xql) -SPICE with QXL as the display adapter can sometimes offer better performance, especially for 2D graphics- or VirtIO-GPU (it can provide 3D acceleration capabilities).
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.