Skip to content

Linux Desktop

November 1, 2023
December 12, 2014

This post is about using GNU/Linux with desktop environment as a daily driver.
Linux - Wikiwand

Unix vs Linux - YouTube

Home | Linux Journey
LinuxAndUbuntu - Linux News | Apps Reviews | Linux Tutorials HowTo - Home

Getting Started with Linux: The Complete Guide
Introduction to Linux
The Linux System Administrator's Guide
The UNIX Hater's Handbook (PDF)
Introduction to Linux | edX
Introduction to Linux (LFS101) - Linux Foundation - Training
Product Documentation for Red Hat Enterprise Linux - Red Hat Customer Portal
Microsoft Should be VERY Afraid - Noob's Guide to Linux Gaming - YouTube

Welcome To Distro.Tube
DistroTube - YouTube

The Linux Documentation Project
The Linux Information Project (LINFO) Home Page
*nix - Things and Stuff Wiki
aleksandar-todorovic/awesome-linux: A list of awesome projects and resources that make Linux even more awesome.

History

How Linux was born, as told by Linus Torvalds himself | Ars Technica UK
March of the Penguin: Ars looks back at 20 years of Linux | Ars Technica
Linux at 25: How Linux changed the world | InfoWorld
Linux at 25: A pictorial history | InfoWorld
LINUX's History by Linus Torvalds
Test drive Linux from 1993-2001: SLackware 1.01 through Fedora 1 | Opensource.com
Why Hardly Anyone Calls Linux "GNU/Linux"

Penguin Origins: The History of Linux [Geek History]
The History Of Linux [INFOGRAPHIC ]

An Interview With Linus Torvalds: Linux and Git - Part 1 | Tag1 Consulting
An Interview With Linus Torvalds: Open Source And Beyond - Part 2 | Tag1 Consulting

Why did Linux succeed and BSD fail? - Quora

GNU and Linux

To distinguish GNU and Linux, and why it is not "correct" to say Linux system, read: Linux and GNU and
GNU/Linux FAQ

Unix vs. Linux: The Differences Between and Why It Matters

GNU Userland | Linux.org
List of GNU packages - Wikiwand
GNU-Binutils | Linux.org
GNU Toolchain Explained | Linux.org

Stephen Bourne: Early days of Unix and design of sh - YouTube

Issues

Main Linux problems on the desktop, 2016 edition

Make. It. Simple. Linux Desktop Usability — Part 1 – probono – Medium
Make. It. Simple. Linux Desktop Usability — Part 2 – probono – Medium
Make. It. Simple. Linux Desktop Usability — Part 3 – probono – Medium
Make. It. Simple. Linux Desktop Usability — Part 4 – probono – Medium
Make. It. Simple. Linux Desktop Usability — Part 5 – probono – Medium
Make. It. Simple. Linux Desktop Usability — Part 6 – probono – Medium

Distros

Linux distribution - Wikiwand
List of Linux distributions - Wikiwand
GNU/Linux Distribution Timeline
Well, Android is also a Linux distro with its own forks.
What Are The Components Of A Linux Distribution?

LibreHunt: Home
DistroWatch.com: Put the fun back into computing. Use Linux, BSD.
Linuxtracker .::. The Premier Linux Bittorrent Website
Linux AIO

Logic Behind The Code Naming Of Most Popular Linux Distros
Linux For Beginners: Understanding The Many Versions Of Ubuntu

Creating Distro

5 Tools That Will Help You Create Your Own Linux Distro

Welcome to Linux From Scratch!
Linux From Scratch
BLFS Project Homepage

Choosing Distro

Bear this in mind:
Linux distro = kernel + package manager + Display Manager + Desktop Environment + apps

The crucial factor is the package manager and default DE.
The default DE saves you the hassle of going through the setup and probably more stable. But we can change DE as long as the new DE is available in the package manager.

Distrochooser
DistroTest.net - The first online operating system tester
How to Distro Hop With a Web Browser | Software | LinuxInsider DistroTest
DistroTest - Test Linux And Unix Operating Systems Online For Free - OSTechNix
Choosing Linux: 2 Awesome Tools To Find Your Perfect Linux OS

littlehorse pc - YouTube first impressions

What Is A Linux Distribution? How Are All These Linux Distros Different?
GitHub.io killed the distro star: Why are people so bored with the top Linux makers? • The Register
10 Best Linux Desktop Environments And Their Comparison | 2018 Edition

Distro Hopping

Distro Hopping - For People That Can't Make A Decision
The psychology of a distrohopper | Jim Lynch
The dark side of distrohopping | Jim Lynch
Is distrohopping in Linux becoming a thing of the past? | InfoWorld
My Search For The Perfect Linux OS Just Ended — With An Unexpected Surprise

Watched Distro

Newcomer EndeavourOS Offers a Friendlier Arch Linux Experience | Reviews | LinuxInsider
Enter the void scratch + any DE, supports RPi
Solus Project DistroWatch (formerly Evolve OS) scratch + Budgie
Ubuntu Budgie | Home Ubuntu + Budgie
Ubuntu MATE | For a retrospective future Ubuntu + MATE
Nitrux — A Linux for Everyone Ubuntu + Nomad (Plasma)
elementary OS DistroWatch Ubuntu + Pantheon, OSX-like
Regolith 1.6 Ubuntu + GNOME + i3

see arch-linux#arch-distros

deepin OS DistroWatch.com Debian Unstable (sid) + Deepin DE (Chinese)
Korora Project DistroWatch.com Fedora + multiple DE + Numix theme
wattOS Linux Ubuntu + LXDE
Revive that old PC! < The LXLE Desktop Ubuntu + LXDE for aging computer, not stable on my netbook

Clear Linux Project
Intel's Clear Linux Ups Their Desktop Offering, Rolling Out New Installer - Phoronix
clearlinux/how-to-clear: Training documentation to teach users how to make a Clear Linux OS derivative distribution.
Clear Linux OS MeetUp: An Introduction and Beyond Source - YouTube
Clear Linux OS - Architecture Overview
LINUX Unplugged - Blog - Clear Linux OS 2019
Trying To Make Ubuntu 18.10 Run As Fast As Intel's Clear Linux - Phoronix
Intel rolls out Clear Linux Developer Edition | ZDNet
It's Time To Pay Attention To Intel's Clear Linux OS Project

5 rock-solid Linux distros for developers | InfoWorld
The Best Linux Distros of 2016 | Linux.com | The source for Linux information
7 Best Linux Distro For Laptop In 2016 - How To Use Linux
Which Official Ubuntu Flavor Is Best for You? | Linux.com | The source for Linux information
Lubuntu Vs. Xubuntu - LinuxAndUbuntu - Linux News | Apps Reviews | Linux Tutorials HowTo
Lightweight Linux distribution - Wikiwand

Top 5 Linux Distros to look forward in 2017 » TechWorm
The Best Linux Distros to Watch Out for in 2017 - Make Tech Easier
Category: Distros - LinuxAndUbuntu - Linux News | Apps Reviews | Linux Tutorials HowTo

Vanill OS

Vanilla OS

Check distro

cat /etc/os-release
cat /etc/issue
cat /etc/lsb-release

Linux Command: Show Linux Version
Commands to check the Linux Version, Release name & Kernel version. | Symantec Connect

Resources

The Linux Documentation Project
Beyond Linux® From Scratch
Linux and Life ~ daily Linux - Ubuntu news, reviews and tutorials
Tyrant's Arch Linux
鳥哥的 Linux 私房菜 -- 鳥哥的 Linux 私房菜 首頁
iTech - 博客园
JupiterBroadcasting/Talks: Public repository of crew talks, slides, and additional resources.

Package Manager

linux-package-managers

TTY

Single User Mode, Reset root password without knowing the previous one. | Kernel-Overload.com
The TTY demystified

Failed Login Timeout

How to unlock linux user after too many failed login attempts - Super User

change unlock_time in /etc/security/faillock.conf

# if you can login
faillock --reset --user <user>

Desktop Environment

explains Linux desktop architecture
bootloader, X, Mir, desktop environment, package manager

Linux For Beginners: What's A Desktop Environment?
WTF Desktop Environments: GNOME, KDE, and More Explained
A Guide to Window Managers and Desktops for Unix and Linux
How-to: Picking a desktop environment in Linux

Desktop environment - Wikiwand
Desktop environment - ArchWiki
Category:Desktop environments - ArchWiki
Display manager - ArchWiki
Comparison of X Window System desktop environments - Wikiwand
X Window System - Wikiwand
AIGLX - Wikiwand

The 8 best desktop environments for Linux | CIO
10 Best Linux Desktop Environments And Their Comparison | 2018 Edition

A Memory Comparison of Light Linux Desktops | l3net – a layer 3 networking blog
A Memory Comparison of Light Linux Desktops – Part 2 | l3net – a layer 3 networking blog
A Memory Comparison of Light Linux Desktops – Part 3 | l3net – a layer 3 networking blog

Cinnamon

Fork of GNOME Shell, brings traditional desktop experience with GTK+ 3.

Cinnamon (software) - Wikiwand
Cinnamon - ArchWiki
Projects

Linux Mint is the distro pushing Cinnamon

Budgie

Minimal, modern desktop by modifying GNOME Shell instead of forking.

Budgie Desktop - ArchWiki
Experiences | Solus

About | Solus is the distro pushing Budgie
Solus Git Repositories new link?
3rdParty - Solus
Wait until 2.0 for new package manager and Budgie in C.

In Full Sail | Solus what happened when Ikey left the core team
Package Repo Migration Now Available | Solus

COSMIC

Based on GNOME shell, tiling WM, written in Rust

System76 Blog — Pop!_OS 21.04: A Release of COSMIC Proportions
Pop!_OS 21.04 Full Review - Cosmic is Awesome! - YouTube

pop-os/cosmic: Computer Operating System Main Interface Components

Deepin DE

Minimal, modern desktop written in Qt and Go.

Deepin - Wikiwand
Deepin Desktop Environment - ArchWiki
Original Apps | deepin provides a powerful driving force for computers all over the world!

deepin OS is the distro pushing Deepin DE
Deepin OS - First Distro To Bring Cloud Sync Option - LinuxAndUbuntu

Pantheon

OS X like desktop that is ported to OS X.

Elementary OS - Wikiwand
Pantheon - ArchWiki
Get Involved with elementary OS

elementary OS is the distro pushing Pantheon Desktop

Plasma

Tutorial – Plasma » Linux Magazine

Pop!_OS

Pop-shell, Cosmic
2023-03: Rust-based Cosmic desktop is under development

Pop!_OS by System76
Pop!_OS - Wikiwand

Pop OS Review: Is This Beautiful Linux Distribution Worth Your Time?

Using Pop Shell on other GNOME Desktops - System76 Support
pop-os/shell: Pop!_OS Shell
gnome-shell-extension-pop-shell-bin

New shiny for the COSMIC and Xfce desktops is coming • The Register
pop-os/cosmic-epoch: Next generation Cosmic desktop environment

Zorin

Zorin OS is based on Ubuntu LTS and the desktop is powered by Gnome Shell. In making it OSX-like some features are not that friendly.
Zorin OS is the distro pushing Zorin desktop

Display Manager

Display Manager = Login Manager

Display manager - ArchWiki
Install Display Managers - Manjaro Linux

Upon login the Display Manager allows a user can choose the session (DE) to login to.
The available sessions are in /usr/share/xsessions/.

Some DM use ~/.xinitrc instead of /usr/share/xsessions/.
XDM - ArchWiki

LightDM - ArchWiki

Display Server

Display server - Wikiwand

[ "$DISPLAY" ] || [ "$WAYLAND_DISPLAY" ] || [ "$MIR_SOCKET" ] && echo graphical environment

Mode setting - Wikiwand
Kernel mode setting - ArchWiki
Direct Rendering Manager - Wikiwand

[Linux.conf.au 2013] - The real story behind Wayland and X - YouTube

Xorg - ArchWiki
X.Org Server - Wikiwand X Window System core protocol - Wikiwand

Mir - ArchWiki Mir (software) - Wikiwand
SurfaceFlinger

Splitting up the Frame Clock – GNOME Shell & Mutter

Graphical Civil War | LINUX Unplugged 33 | Jupiter Broadcasting @31:30
Bob's development blog: Why the display server doesn't matter
Why the Display Server DOES matter – Martin's Blog

Initiatives/Wayland/GnomeShell/GnomeShell4 - GNOME Wiki! Gnome Shell 4 is designed around Wayland rather than X11

Chrome OS Switches To "Freon" Graphics Stack To Replace X11 - Phoronix
talks to KMS and GLES directly without X

Wayland

Wayland - ArchWiki
Wayland (display server protocol) - Wikiwand
Wayland misconceptions debunked | Drew DeVault’s Blog
Wayland
Waypipe Is Successfully Working For This Network-Transparent Wayland Apps/Games Proxy - Phoronix
The real story behind Wayland and X - YouTube
Wayland in 2021

Wayfire compositor based on wlroots
Writing Wayfire plugins (Part 1)
Writing Wayfire plugins (Part 2)

Sway a tiling Wayland compositor and a drop-in replacement for the i3 window manage
swaywm/wlroots: A modular Wayland compositor library
swaywm/wlr-protocols: Wayland protocols designed for use in wlroots (and other compositors)

Hibernation

Power management/Suspend and hibernate - ArchWiki
通过休眠在 Linux 和 windows 之间无缝切换

LVFS

LVFS: Home
fwupd - Wikiwand

fwupd - ArchWiki

LVFS makes Linux firmware updates easier | Opensource.com
System76 and the LVFS – Technical Blog of Richard Hughes
Google and fwupd sitting in a tree – Technical Blog of Richard Hughes

Graphic Toolkit

GTK2+
GTK3
Qt

Window Manager

window-manager

Boot

boot

File Systems

file-systems

Linux Kernel

kernel

Microcode

Microcode - ArchWiki
Microcode - Wikiwand

When uninstalling microcode, do a grub update to remove it from grub manual.

man pages

Manpages are written in roff/mandoc/mdoc languages.
There are tools to convert Markdown to manpages:

It's recommended to install manpage to /usr/local/share/man/man[0-9].
It is save to sudo chown -R $(whoami) /usr/local for single person machine.

sudo cp examplecommand.1 /usr/local/share/man/man1/
sudo mandb
man 1 examplecommand

Making Man Pages | Linux.org

Clipboard

ClipboardsWiki
Clipboard Access from the Command Line with xsel/xclip - TerminalMage dot NET
Command Line to Clipboard | Linuxtidbits

The Clipboard Project - Homepage
Slackadays/Clipboard: 😎🏖️🐬 Your new, 𝘳𝘪𝘥𝘰𝘯𝘬𝘶𝘭𝘪𝘤𝘪𝘰𝘶𝘴𝘭𝘺 smart clipboard manager
Meet 'Clipboard': An Open-Source App That Aims to Turn Up Your Productivity
Clipboard: Simple Unified Linux Clipping Tool - YouTube
No Frills Clipboard Manipulation With Xclip and Xsel - YouTube

X11 has not one, not two, but three clipboards. They are called:

10 Best Clipboard Managers for Linux

CopyQ
CristianHenzel/ClipIt: ClipIt clipboard manager for GTK+ tried
scottwernervt/clipmanager: GUI clipboard manager depends on Qt4
Pano - Clipboard Manager - GNOME Shell Extensions new
Keruspe/GPaste: Clipboard management system tried
bugaevc/wl-clipboard: Command-line copy/paste utilities for Wayland
rickyrockrat/parcellite obsoleted by Clipit

"Standards"

freedesktop.org
Specifications or here
Desktop Entry Specification
s
Linux Standard Base (LSB) | The Linux Foundation
Linux Standard Base (LSB) | Linux.org
Linux Standard Base - Wikiwand

X org / Desktop | Linux.org

xdg-utils

Filesystem Hierarchy

Filesystem Hierarchy Standard - Wikiwand
Linux Filesystem Hierarchy
Filesystem Hierarchy Standard
FilesystemHierarchyStandard - Debian Wiki
Filesystem Hierarchy Standard | Linux Journal

What are those /dev/ Files? | Linux.org
Procfs and the Proc Directory | Linux.org
Sysfs and Configfs | Linux.org

Base Directory

XDG Base Directory Specification
sindresorhus/xdg-basedir

Desktop files

Desktop Entry Specification
desktop-file-utils
Desktop files: putting your application in the desktop menus

.desktop folders

donadigo/appeditor: Edit application menu

/usr/share/applications
/usr/local/share/applications
~/.local/share/applications

Autotools

Autotools Mythbuster

pkg-config

pkg-config
Guide to pkg-config
pkg config - PKG_CONFIG_PATH environment variable - Ask Ubuntu

pkg-config --variable pc_path pkg-config
pkg-config --libs libnanomsg

.pc files located in /usr/lib/x86_64-linux-gnu/pkgconfig/, e.g.:

# /usr/lib/x86_64-linux-gnu/pkgconfig/libnanomsg.pc
prefix=/usr
exec_prefix=
includedir=/include
libdir=/lib/x86_64-linux-gnu

Name: libnanomsg
Description: High-Performance Scalability Protocols
URL: http://nanomsg.org/
Version: 1.1.5
Requires:
Libs: -L -lnanomsg
Libs.private: -lanl -lrt -lpthread -lnsl
Cflags: -I

Autostart

Desktop Application Autostart Specification

/etc/xdg/autostart/
~/.config/autostart/

File Association

shared-mime-info-spec
Association between MIME types and applications
Default applications - ArchWiki
Create Your Own File Types in Ubuntu with assoGiate | Ubuntu Genius's Blog
mimeo can find .desktop and change association
march-linux/mimi

Linux: How To Change Your Default Applications In XDG MIME - YouTube
File-Openers and Xdg-utils | Linux.org
Chris's Wiki :: blog/linux/XdgMimeTypeSearching
Chris's Wiki :: blog/linux/XdgOpenWhichBrowser

# the config file
cat ~/.config/mimeapps.list

# query mime type
xdg-mime query filetype text/plain
# query default
xdg-mime query default inode/directory
xdg-mime query default inode/directory nemo.desktop
# set default
xdg-mime default sublime_text.desktop text/plain

gio mime inode/directory

# set default app to all mime type supported
xdg-mime default gpicview.desktop `grep 'MimeType=' /usr/share/applications/gpicview.desktop | sed -e 's/.*=//' -e 's/;/ /`

NOTE: xdg-utils is needed here. It's a tool released by Portland project of Freedesktop.org. Most modern Linux distros have this tool installed by default.

Open folder with

vi ~/.local/share/applications/mimeapps.list

Add this to [Added Associations]

inode/directory=sublime_text.desktop

freedesktop.org.xml

vi /usr/share/mime/packages/freedesktop.org.xml
# after modificatoin
sudo update-mime-database /usr/share/mime

https://askubuntu.com/a/467892/165018

Icon theme

Icon Theme Specification
Icon Naming Specification

GNOME

Icon Naming Specification
GNOME Desktop icons - Wikimedia Commons

/usr/share/themes
/usr/share/icons

dconf

This is the "registry" for GNOME DE. It replaces the XML based gconf with binary database optimized for faster loop ups.

Gconf, Dconf, Gsettings and the relationship between them - Ask Ubuntu

gconf => XML database
dconf => binary database
gsettings = cross-platform config with schema validation

Projects/dconf - GNOME Wiki!
Apps/DconfEditor - GNOME Wiki!
dconf: dconf Reference Manual
dconf - Wikiwand

gsettings list-schemas
gsettings list-keys org.cinnamon.desktop.screensaver
gsettings set org.cinnamon.desktop.lockdown disable-lock-screen true
gsettings set org.cinnamon.desktop.lockdown disable-lock-screen false
gsettings set org.nemo.desktop use-desktop-grid false
dconf list /
dconf dump /org/cinnamon/desktop/screensaver/ > screensaver
dconf load < screensaver
dconf write /org/cinnamon/desktop/screensaver/lock-enabled false

gsettings - What is dconf, what is its function, and how do I use it? - Ask Ubuntu
What are the differences between gconf and dconf? - Ask Ubuntu
Gconf, Dconf, Gsettings and the relationship between them - Ask Ubuntu

Font

Fonts - ArchWiki
Fonts are usually stored under /usr/share/fonts/ or per user ~/.fonts/

Fixing Missing Characters and Font Issues | Linux.org
Better Looking fonts For fedora : Fedora
The sad state of font rendering on Linux | Infosec scribbles
The new v40 TrueType interpreter mode

fontmatrix/fontmatrix: Free font collections manager for Linux, Mac and Windows

Debian 8 (jessie) 安裝筆記 中文環境篇 - 石頭閒語 - 樂多日誌

字體及其渲染 | Tyrant's Arch Linux

Adding New Fonts to Your System - Linux Mint Community

I stared into the fontconfig, and the fontconfig stared back at me / fuzzy notepad

Manually Installing Fonts On Linux Is Actually Really Easy - YouTube

# list all fonts
fc-list
# search font name
fc-list "Noto Sans"
fc-match "Noto Sans CJK TC"

fc-cache  # update cache for FontConfig

xinput

xinput list
xinput test <id>/<name>
xinput list-props <id>/<name>
xinput set-prop <id>/<name> <prop id>/<prop name> <value>

Settings are put in ~/.xinitrc or:

Look up with locate xorg.conf.d | grep d$

Use xev to open an window that dumps all input event to console.

Mouse buttons - ArchWiki
EVDEV(4) manual page

xmodmap

xmodmap - ArchWiki
xmodmap man page - General Commands | ManKier

Make Caps Lock Great Again By Remapping It With Xmodmap - YouTube
XKeyCaps graphical front-end to xmodmap

xte

xte - Generates fake input using the XTest extension
Using xte to script your workflow – Mike's Software Blog
linux - How can I simulate pressing { with xte? - Super User

sxhkd

baskerville/sxhkd: Simple X hotkey daemon
worm/sxhkdrc at main · codic12/worm sample file for Worm WM

; to define chord chain: contol + g; {b, g}

Sxhkd: Configuring Window Manager Independent Keybindings - YouTube

xbindkeys

#keymap

Xbindkeys - ArchWiki
XBindKeys
[Howto] Remapping buttons with xbindkeys and xte – /home/liquidat

xbindkeys_show to show bindings in ~/.xbindkeysrc
xbindkeys --poll-rc after updating ~/.xbindkeysrc

Mapping Your Mouse Buttons in Linux • thecrumb
Bing keys to program, with xte of xautomation it is another (better and more versatile) way of binding input keys than editing xorg.conf.d/.

Xorg stuffs

Xorg - ArchWiki
X Window System - Wikiwand
XCB - Wikiwand

xprop - man page - ManKier query window info

baskerville/xdo: Small X utility to perform elementary actions on windows
Xdo: Window Manipulation With A Generic Tool - YouTube

xorg.conf

Extended Window Manager Hints
Adding Glue To a Desktop Environment

UI stack

Xplain
The Linux Graphics Stack | Clean Rinse
Wayland

X Window System - Wikiwand
Display server - Wikiwand
Windowing system - Wikiwand

[Linux.conf.au 2013] - The real story behind Wayland and X - YouTube

File:Free and open-source-software display servers and UI toolkits.svg

xhost

xhost +si:localuser:$USER
xhost -
# never use `xhost +`

Display Setting

Most DE includes UI for resolution and multihead settings

Multihead - ArchWiki
X and ModeLines
X/Troubleshooting/Resolution - Ubuntu Wiki

Extended Display Identification Data - Wikiwand
Adventures in Resolving Missing EDID Monitor Data – Delightly Linux

xrandr

RandR - Wikiwand
xrandr - ArchWiki
xrandr command man page - xorg-x11-server-utils | ManKier

ARandR: Another XRandR GUI

Creating VIRTUAL MONITORS With Xrandr on Linux - YouTube
How To Use Multiple Monitors On Linux (With Xrandr) - YouTube

XStrikeForce/HowToRandR12 - Debian Wiki

X Rotate and Resize is a CLI tools for configuring display settings.

xrandr --auto

# reset display
xrandr -s 0

# set resolution
xrandr -s 1920x1080

xrandr --output {PORT} --brightness {BRIGHTNESS}
xrandr --output HDMI2 --scale 1.2 # zoom out

#  verified the displau can support a specific res/hz
xrandr -q
xrandr --output DisplayPort-0 --mode 1920x1080 --rate 60.00

ddcutil

ddcutil Documentation
rockowitz/ddcutil: Control monitor settings using DDC/CI and USB

ddcutil capabilities # check driver cap
sudo modprobe i2c-dev
sudo usermod -G i2c -a $USER

ddcutil detect

# set brightness
ddcutil setvcp --display 1 10 50
ddcutil setvcp --display 1 10 100

# set input source
ddcutil setvcp --display 1 60 0f # DP1
ddcutil setvcp --display 1 60 10 # DP2
ddcutil setvcp --display 1 60 11 # HDMI1
ddcutil setvcp --display 1 60 12 # HDMI2

Okxa/qddcswitch: A Simple Qt frontend for switching display inputs with ddcutil. - qddcswitch - Codeberg.org

D-Bus

D-Bus - Wikiwand
dbus

busctl(1) — Arch manual pages

The new sd-bus API of systemd
godbus/dbus: Native Go bindings for D-Bus
sidorares/dbus-native: D-bus protocol client and server for node.js written in native javascript

Notification

jfhbrook/goodify: my personal fork of batify

Usage:
  notify-send [OPTION?] <SUMMARY> [BODY] - create a notification

Help Options:
  -?, --help                        Show help options

Application Options:
  -u, --urgency=LEVEL               Specifies the urgency level (low, normal, critical).
  -t, --expire-time=TIME            Specifies the timeout in milliseconds at which to expire the notification.
  -a, --app-name=APP_NAME           Specifies the app name for the icon
  -i, --icon=ICON[,ICON...]         Specifies an icon filename or stock icon to display.
  -c, --category=TYPE[,TYPE...]     Specifies the notification category.
  -h, --hint=TYPE:NAME:VALUE        Specifies basic extra data to pass. Valid types are int, double, string and byte.
  -v, --version                     Version of the package.

PolicyKit

polkit - ArchWiki

PolKit Is Broken On Window Managers: How To Fix It!! - YouTube

GNOME

Projects-GObjectIntrospection - GNOME Wiki!
Projects-Vala - GNOME Wiki!

Develop for the GNOME Platform
Tutorials, code samples and platform demos in Python

woGue
Making Fancy GNOME Apps with NodeJS, MongoDB and WebKit! | woGue
Scaffolding a modern GNOME 3.10 Gtk Gjs-Python App! | woGue

Apps/Tweaks - GNOME Wiki!

Gjs

Projects/Gjs - GNOME Wiki!
Tutorials, code samples and platform demos in JavaScript

HowTo run commands from Gjs | woGue

石頭閒語:JavaScript 分類文章簡文 - 樂多日誌
JavaScript 與 Desktop - WebKit - 石頭閒語 - 樂多日誌
JavaScript 與 Desktop - Desktop and WebKit - 石頭閒語 - 樂多日誌
JavaScript 與 Desktop - DBus - 石頭閒語 - 樂多日誌

Wine

WineHQ - Run Windows applications on Linux, BSD, Solaris and Mac OS X
Wine User's Guide - WineHQ Wiki
Winelib User's Guide - WineHQ Wiki
Winetricks/winetricks: Winetricks is an easy way to work around problems in Wine

How Wine works 101 · Reboot and Shine

轉子男: [Ubuntu] 使用 Wine 安裝 Office 2010 於 Ubuntu 12.04
How to Install and Use Wine to Run Windows Applications on Linux | Linux.com | The source for Linux information

winepak - Flatpak-ing Microsoft Windows applications with Wine
winepak

Welcome - Bottles manages Wine environments (wineprefixes)
Run Windows Software On Linux With Bottles - OSTechNix
Why Bottles? - Bottles

scottyhardy/docker-wine: Docker image that includes Wine and Winetricks for running Windows applications on Linux and macOS

Bottles

#perfmatters

Linux Performance
How to Benchmark Your Linux System: 3 Open-Source Benchmarking Tools
Phoronix Test Suite - Linux Testing & Benchmarking Platform, Automated Testing, Open-Source Benchmarking source
Phoronix Test Suite Phoromatic - Benchmark Viewer - LinuxBenchmarking.com

Perf Wiki
perf stat -r 1000 <APP> <ARGS>

Hotspot brings GUI to Linux Perf data | InfoWorld
KDAB/hotspot: The Linux perf GUI for performance analysis.

如何理解 Linux 中的 load averages? - 聊聊架构