Skip to content

Repository files navigation

🌐 OpenBSD KDE Desktop Suite

Modern, Clean, Professional KDE Plasma on OpenBSD 7.8

License: MITOpenBSDKDEShellSecurityUpdated


🎯 Overview

OpenBSD KDE Desktop Suite provides production-ready automation scripts for setting up a modern KDE Plasma desktop environment on OpenBSD 7.8.

Unlike Xfce (lightweight but basic), KDE Plasma offers:

  • Modern, polished interface with animations and effects
  • 🔧 Extensive customization without editing config files
  • 📦 Integrated ecosystem (Dolphin, Kate, Konsole, etc.)
  • 🎨 Beautiful default theme with dark mode support
  • 🚀 Excellent HiDPI support for modern displays

All scripts are:

  • Syntax-validated for ksh (OpenBSD shell)
  • Idempotent - safe to run multiple times
  • Backup-first - preserves existing configs
  • Well-documented - inline comments and clear output
  • Tested - on real OpenBSD 7.8 systems

📦 What's Included

ScriptPurposeRun AsTime
setup-root.shSystem-wide configurationRoot10-15 min
setup-user.shUser desktop configurationUser5 min
setup-vmware.shVMware guest optimizationRoot2 min
validate-install.shVerify installation ✅ NEWUser1 min
rollback.shRestore previous config ✅ NEWRoot2 min

🚀 Quick Start

Prerequisites

  1. OpenBSD 7.8 installed with X11 file sets:

    • xbase78
    • xshare78
    • xfont78
    • xserv78
  2. Internet connectivity for package downloads

  3. Root access via doas

Installation (15 minutes)

# 1. Clone repository
git clone https://github.com/azazelpy/openbsd.git
cd openbsd
# 2. System configuration (run as root)
doas ksh setup-root.sh
# 3. User configuration (run as regular user)
ksh setup-user.sh
# 4. Optional: VMware optimization (only if running in VMware)
doas ksh setup-vmware.sh
# 5. Reboot
doas reboot

After reboot:

  1. Login via xenodm (display manager)
  2. Select KDE Plasma session
  3. Enjoy your modern OpenBSD desktop!

🛠️ Scripts Detail

1. setup-root.sh (System Configuration)

Run:doas ksh setup-root.sh

What it does:

  • ✅ Configures package mirror (/etc/installurl)
  • ✅ Updates all packages to latest versions
  • ✅ Installs KDE Plasma desktop (kde-plasma)
  • ✅ Installs KDE applications (Dolphin, Kate, Konsole, etc.)
  • ✅ Sets up system daemons (D-Bus, PolicyKit, ConsoleKit2)
  • ✅ Configures doas for privilege escalation
  • ✅ Enables xenodm display manager
  • ✅ Applies system optimizations (/etc/sysctl.conf)
  • ✅ Creates configuration backups

Packages installed:

kde-plasma # Full KDE Plasma desktop
kde-apps # Core KDE applications
dolphin # File manager
kate # Text editor
konsole # Terminal emulator
firefox # Web browser
thunderbird # Email client
git # Version control
vim, nano # Text editors
htop, tmux # System tools

2. setup-user.sh (User Configuration)

Run:ksh setup-user.sh (NOT as root)

What it does:

  • ✅ Creates .xsession for KDE Plasma (xenodm)
  • ✅ Creates .xinitrc for startx fallback
  • ✅ Configures .profile with environment variables
  • ✅ Configures .kshrc with useful aliases
  • ✅ Sets up KDE configuration directory
  • ✅ Creates utility scripts (lock-screen, system-info)
  • ✅ Configures touchpad tapping
  • ✅ Applies KDE color scheme (dark mode)

Files created:

~/.xsession # KDE session (xenodm)
~/.xinitrc # X init (startx)
~/.profile # Shell environment
~/.kshrc # Ksh aliases
~/.config/kdeglobals # KDE global settings
~/.local/bin/ # Utility scripts

3. setup-vmware.sh (VMware Optimization)

Run:doas ksh setup-vmware.sh (only if running in VMware)

What it does:

  • ✅ Installs VMware Tools (vmware-tools)
  • ✅ Enables VMware services (vmtoolsd, vmblock)
  • ✅ Configures automatic start at boot
  • ✅ Optimizes display settings
  • ✅ Enables copy-paste between host and guest

Note: Skip this script if running on bare metal or other virtualization.


🎨 KDE vs Xfce Comparison

FeatureKDE PlasmaXfce
Visual Appeal⭐⭐⭐⭐⭐ Modern, polished⭐⭐⭐ Basic, functional
Customization⭐⭐⭐⭐⭐ Extensive GUI options⭐⭐⭐ Requires config editing
Resource Usage~600MB RAM (idle)~400MB RAM (idle)
HiDPI Support⭐⭐⭐⭐⭐ Excellent⭐⭐ Limited
Default AppsFull suite (Dolphin, Kate, etc.)Basic (Thunar, Mousepad)
Theme SupportGlobal themes, colors, iconsPer-component themes
EffectsDesktop effects, animationsMinimal effects
Best ForModern desktop experienceMinimalist, low-resource

Recommendation:

  • Choose KDE Plasma if you want a modern, polished desktop with excellent HiDPI support
  • Choose Xfce if you need minimal resource usage on older hardware

📋 Post-Installation

First Login

  1. At xenodm login screen, select your username
  2. Click Session → Select KDE Plasma
  3. Enter password and login
  4. KDE Plasma desktop appears

Recommended First Steps

  1. System SettingsDisplay Configuration

    • Set resolution and scaling (especially for HiDPI displays)
  2. System SettingsColors & Themes

    • Choose Global Theme (Breeze Dark recommended)
  3. System SettingsWindow Management

    • Configure desktop effects (optional)
  4. System SettingsShortcuts

    • Customize keyboard shortcuts

Useful Commands

# Show system information~/.local/bin/system-info
# Lock screen~/.local/bin/lock-screen
# Update all packages
doas pkg_add -u
# Check KDE version
pkg_info kde-plasma
# Restart KDE (if needed)
pkill ksmserver

🔧 Troubleshooting

Issue: xenodm doesn't start

Solution:

# Check xenodm status
doas rcctl check xenodm
# Enable xenodm
doas rcctl enable xenodm
# Start xenodm
doas rcctl start xenodm

Issue: KDE doesn't appear in session list

Solution:

# Verify KDE installation
pkg_info kde-plasma
# Reinstall if needed
doas pkg_add -u kde-plasma
# Check X session file
ls -la /usr/local/share/xsessions/

Issue: No sound

Solution:

# Install PulseAudio
doas pkg_add pulseaudio
# Add user to audio group
doas usermod -G audio $(whoami)# Reboot
doas reboot

Issue: VMware copy-paste doesn't work

Solution:

# Verify VMware Tools installed
pkg_info vmware-tools
# Check services running
doas rcctl check vmtoolsd
doas rcctl check vmblock
# Restart services
doas rcctl restart vmtoolsd
doas rcctl restart vmblock

📚 Documentation

DocumentDescription
README.mdThis file - quick start and overview
INSTALL.mdDetailed installation guide
KDE-CUSTOMIZATION.mdKDE Plasma customization guide
TROUBLESHOOTING.mdCommon issues and solutions
CHANGELOG.mdVersion history and changes

🤝 Contributing

Contributions welcome! Areas for improvement:

  • Additional KDE customizations
  • More utility scripts
  • Documentation improvements
  • Bug fixes and optimizations

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Test thoroughly on OpenBSD 7.8
  5. Commit with clear messages
  6. Submit a pull request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

TL;DR: Use it, modify it, share it. Just don't hold us liable.


🙏 Acknowledgments

  • OpenBSD Team - For creating the most secure operating system
  • KDE Community - For the beautiful Plasma desktop
  • Isotop Project (sp00cky/isotop) - Original inspiration for OpenBSD desktop automation scripts

📚 References

This project was inspired by:


📊 Repository Stats

GitHub starsGitHub forksGitHub issues


📞 Support

Issues: Use GitHub Issues

Discussions: Use GitHub Discussions

Documentation: Check INSTALL.md and TROUBLESHOOTING.md


Created with ❤️ for the OpenBSD community

☘️ Quality over speed. Professional setups take time.


Last updated: 2026-03-17Version: 2.0.0 (KDE Plasma Edition)

About

OpenBSD KDE Desktop Suite - Modern, clean, professional KDE Plasma setup automation

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages