[HOWTO] create a custom desktop enviroment


Recommended Posts

== [HOWTO] Set up a custom desktop enviroment ==

==Disclaimer==

I will be making reccomendations based around my own preferances and experience, but this could easily be applied with other apps etc.

==Intro==

I've seen a few threads recently asking about how this is done, so I thought it would be worth writing a how-to.

There are lots of reasons you might want to create your own custom desktop enviroment. These can range from your system being too slow to handle KDE / Gnome to just not really liking either. But your average window manager doesn't give you a full suite of utilities to manage your desktop.

==Choosing a WM==

The first step towards creating your customised Desktop Enviroment is to choose which window manager to base it around.

I personally use openbox, as it is fast, minimalistic and very customisable.

Your choice will want to take into account how much eye candy you want, how much customisation you want, how fast you want it to be..

By the way, you can't really get away with not choosing a window manager.. but if you're really indesicive or impatient, you can skip the rest of the choices ;) All of the following extras will need the creation of a startup file.

==Choosing a Panel (or taskbar etc)==

Ideally, a panel should provide you with the following:

-system tray (notification area)

-task switcher

-pager

-app launchers

A few of the ones that I have used (and provide all of the above) are gnome-panel, fbpanel, pypanel and the ROX panel.

==Choosing a desktop manager==

A desktop manager (for wont of a better term =p) might provide you with the following:

-a way of setting desktop background

-desktop icons

I personally use the ROX pinboard, which does both. Gnome uses nautilus to do this, but I find it to be far too bloated in my own experience. I have used feh and fbsetbg to set my wallpaper, and I know of (but don't use) fbdesk as a way of setting desktop icons.

==Xsettings==

What really sets a custom desktop enviroment apart from merely using a lightweight window manager is the ability to use an xsettings manager. One of these will allow you to set theme, screen resolution, fonts, mouse and keyboard settings etc on the fly, usually without needing to resort to editing config files.

The one I have experience with is using gnome-settings-daemon. Putting gnome-settings-daemon into your startup will allow you to use all of the Gnome settings utilities found in gnome-control-center (or from the gnome-panel settings menu).

You may also want to consider using xbindkeys to set custom keyboard shortcuts (the Gnome keybinding menu is a bit limited).

==Creating a startup file==

Since you want more than just a window manager up and running when you log into your custom Desktop Enviroment, you will need to create a startup file.

If you log in using startx from a console, you will need to call your startup file ~/.xinitrc.

If you log in from gdm or kdm or any other login manager, you will need to save your startup file under the name ~/.xsession. <== Appologies to someone I helped and told them to use ~/.xsessions (note the extra s..) That wouldn't have helped you, but I can't remember who it was...

When you log in (or startx), your X session will last as long as the startup file does. That is to say, as soon as your startup file exits, you will be taken out of X. It's also worth noting that if you put any items in your startup before your window manager without making sure they are background tasks, your window manager will never load..

What this basically means is that you need to make sure that every command has an '&' after it (to run it in the background) and that your window manager needs to come last and not be run in the background. Trust me, it just works.

A sample startup file would look like the following (note that none of these programs exist..)

set-desktop mybackground.png &amp;
my-xsettings &amp;
clever-taskbar &amp;
window_manager

This would set your desktop background, run an xsettings manager, start your panel up and then finally run your window manager. All of the things (well most) that you would want from a fully featured desktop enviroment.

==My Setup==

customde7ys.th.png

The above screenshot shows my setup.

I use the ROX pinboard for my desktop icons and to set my background. (It randomly selects a different one evey half hour).

I'm using the ROX panel which includes pager, systray, clock and lots of app launchers.

You can see the Gnome utility for changing GTK theme, and also my startup file open in the text editor.

I'm using openbox as a very fast window manager.

Just a taste of what can be achieved...

====

I hope this helps someone. I'd be happy to answer questions about any of the apps I've mention (as I have used / configured them all at some point).

Any comments / grammer and spelling errors please let me know :)

Edited by theotherdave
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Meta pulls political ads in the EU due to new regulations by Paul Hill Meta has announced that it will no longer allow political, electoral, or social issue ads on its platforms in the European Union starting in early October 2025. This is in direct response to the EU’s upcoming Transparency and Targeting of Political Advertising (TTPA) regulation. According to the social media giant, the TTPA introduces “unworkable requirements and legal uncertainties” that make it too hard to continue offering those ad services. The ban on these types of ads will be limited to the EU and it will continue to allow political ads on its service in other parts of the world. The company will also allow people and politicians in the EU to post and debate politics organically on its platforms, they just can’t pay to amplify it. Meta said that the TTPA places extensive restrictions on ad targeting and delivery, and will make ads less relevant to users. It also believes that the measures undermine personalized advertising which it believes is crucial for advertisers and users. The company has already introduced transparency tools for political ads back in 2018, such as requiring authorization and public disclosure in its Ad Library. Commenting on its action, Meta said: With this ban in place, it will restrict how political and social issue advertisers can reach audiences through paid promotions on Meta’s platform. It could also impact the ability of voters to get comprehensive information about the various campaigns. On this point, Meta thinks personalized ads are critical for informing voters about important social issues. It’ll be interesting to see what impact this has on political campaigns in the EU. Those politicians without deep pockets may like this move as it creates a more level playing field and prevents those with deep pockets from drowning out other candidates’ voices. On the flip side, it could see candidates use less transparent methods to get their views across to the public. Source: Meta | Image via Depositphotos.com
    • They need to refactor their internal code to remove .NET Framework and third party libraries. Use .NET 10 or Rust. Stop bundling AI crap, it does not work.
    • Liberals have been , since the ‘60s, declaring that all you need is peace and love. At least until Trump ran for office. After that they have been letting out 50 years of repressed hatred. That’s all they really are anymore, angry and hateful. 
    • Zen Browser 1.14.6b by Razvan Serea Zen Browser is a privacy-focused, open-source web browser built on Mozilla Firefox, offering users a secure and customizable browsing experience. It emphasizes privacy by blocking trackers, ads, and ensuring your data isn't collected. With Zen Mods, users can enhance their browser experience with various customization options, including features like split views and vertical tabs. The browser is designed for efficiency, providing fast browsing speeds and a lightweight interface. Zen Browser prioritizes user control over the browsing experience, offering a minimal yet powerful alternative to traditional web browsers while keeping your online activity private. Zen Browser’s DRM limitation Zen Browser currently lacks support for DRM-protected content, meaning streaming services like Netflix and HBO Max are inaccessible. This is due to the absence of a Widevine license, which requires significant costs and is financially unfeasible for the developer. Additionally, applying for this license would require Zen to be part of a larger company, similar to Mozilla or Brave. Therefore, DRM-protected media won't be supported in Zen Browser for the foreseeable future. Zen Browser offers features that improve user experience, privacy, and customization: Privacy-Focused: Blocks trackers and minimizes data collection. Automatic Updates: Keeps the browser updated with security patches. Zen Mods: Customizable themes and layouts. Workspaces: Organize tabs into different workspaces. Compact Mode: Maximizes screen space by minimizing UI elements. Zen Glance: Quick website previews. Split Views: View multiple tabs in the same window. Sidebar: Access bookmarks and tools quickly. Vertical Tabs: Manage tabs vertically. Container Tabs: Separate browsing sessions. Fast Profile Switcher: Switch between profiles easily. Tab Folders: Organize tabs into folders. Customizable UI: Personalize browser interface. Security Features: Inherits Firefox’s robust security. Fast Performance: Lightweight and optimized for speed. Zen Mods Customization: Deep customization with mods. Quick Access: Easy access to favorite websites. Open Source: Built on Mozilla Firefox with community collaboration. Community-Driven: Active development and feedback from users. GitHub Repository: Contribute and review the source code. Zen Browser 1.14.6b changelog: Security Various security fixes New Features Updated to Firefox 141.0 Improved accent color detection, making elements such as toasts more vibrant. Added a better custom color picker (experimental UI, might change) Improved and optimized glance animations and UI WebGPU is now enabled by default on windows Added a more native feel to windows 11 window buttons Fixes picture caching and scroll optimization issues a bug where adding or removing colors in the color picker would make the UI white On Linux, Zen uses less memory and no longer requires a forced restart after an update has been applied by a package manager. Fixed 'copy calculation' in the urlbar not working Download: Zen Browser | 82.3 MB (Open Source) Download: Zen Browser ARM64 | Other Operating Systems View: Zen Browser Home Page | Screenshots 1 | 2 | Reddit Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • You reap as you sow - he enabled hate, so he can receive a level of it.
  • Recent Achievements

    • Dedicated
      Snake Doc earned a badge
      Dedicated
    • One Month Later
      Philsl earned a badge
      One Month Later
    • One Year In
      armandointerior640 earned a badge
      One Year In
    • One Month Later
      armandointerior640 earned a badge
      One Month Later
    • Week One Done
      Itbob513626 earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      613
    2. 2
      ATLien_0
      236
    3. 3
      Xenon
      156
    4. 4
      +FloatingFatMan
      123
    5. 5
      Michael Scrip
      113
  • Tell a friend

    Love Neowin? Tell a friend!