Skip to content

Instantly share code, notes, and snippets.

@zsoltika
zsoltika / WSL2GUIWSLg-XWayland-en.md
Created September 14, 2025 07:55 — forked from tdcosta100/WSL2GUIWSLg-XWayland-en.md
A tutorial to use GUI in WSL2/WSLg replacing original Xorg by Xwayland, allowing WSL to work like native Linux, including login screen

Full desktop shell in WSL2 using WSLg (XWayland)

Note

If you want to use Wayland in WSLg in a simpler setup, you can try the WSLg (Wayland) tutorial.

In this tutorial, we will setup GUI in WSL2. No additional software outside WSL (like VcXsrv or GWSL) is required. You will find this tutorial very similar to the one that replaces Xorg with Xvnc. Indeed, it's pretty much the same tutorial, with some few changes.

The key component we need to install is the desktop metapackage you want (GNOME, KDE, Xfce, Budgie, etc), and after that, replace the default Xorg by a script that calls Xwayland instead.

For this setup, I will use Ubuntu 24.04, and install GNOME Desktop. Unfortunately older versions of Ubuntu lack some fundamental things, so we cannot reproduce it in older versions (at least not fully). Since the key components aren't bound to Ubuntu or GNOME, you can use your favorite distro and GUI. Check the [Sample screenshot

@zsoltika
zsoltika / Spacemacs on Windows 10.md
Created November 25, 2022 09:39 — forked from cdaven/Spacemacs on Windows 10.md
Setting up Spacemacs on Windows 10

Install Emacs First

Download emacs-w64 and extract somewhere, e.g. a tools or apps folder like C:\Users\<user>\tools\emacs.

Select Emacs' Home

Emacs and many other applications store its configuration in the user's "home" folder. Translated directly from the Unix world, that is %UserProfile% (C:\Users\<user>), but Windows prefers %AppData% instead (C:\Users\<user>\AppData\Roaming).

For simplicity's sake, override this by specifying the HOME environment variable explicitly. Emacs and some other applications (e.g. MinGW) lets this override the default.

12:13:06 PM: Build ready to start
12:13:08 PM: build-image version: bc22f7ea2f97324f8ca25c36353605ddd91e092d
12:13:08 PM: build-image tag: v2.6.15
12:13:08 PM: buildbot version: 59deb060408a50f6010f1ca095e86edd927f5d91
12:13:08 PM: Fetching cached dependencies
12:13:09 PM: Failed to fetch cache, continuing with build
12:13:09 PM: Starting to prepare the repo for build
12:13:09 PM: No cached dependencies found. Cloning fresh repo
12:13:09 PM: git clone [email protected]:zsoltika/mindenjobb.de
12:13:11 PM: Preparing Git Reference refs/heads/master
@zsoltika
zsoltika / dupla_ismetlodo_szotag.md
Last active December 23, 2018 11:02
(Legalább) dupla ismétlődő szótagú magyar szavak

(Legalább) dupla ismétlődő szótagú magyar szavak

Magyar szavak "adatbázisa":

Evvel a szkripttel gyártsuk le a ragozott magyar szavak adatbázisát:

./unmunch.sh /usr/share/hunspell/hu_HU.dic /usr/share/hunspell/hu_HU.aff > huwords.txt
@zsoltika
zsoltika / fitness.org
Created December 11, 2018 07:48 — forked from alphapapa/fitness.org
An Emacs food/weight/workout tracker self-contained in a single Org file

Plots

/home/me/org/double-plot.png

Tasks

Keybase proof

I hereby claim:

  • I am zsoltika on github.
  • I am zsoltika (https://keybase.io/zsoltika) on keybase.
  • I have a public key ASCf6nxEfKmP1vqDv4e0rhDl59qKdAAGCVJRDbxTG_Ym7go

To claim this, I am signing this object:

@zsoltika
zsoltika / emacs-messages.log
Created September 14, 2016 06:34
org-jira debug log
Use M-x make-directory RET RET to create the directory and its parents
[yas] Reloaded everything (snippets will load just-in-time)....
Error loading tags-file: (user-error File /c/Users/zsolt.botykai/AppData/Roaming/TAGS is not a valid tags table) [2 times]
REQUEST [debug] REQUEST
REQUEST [debug] Run: ~/bin/curl-noproxy --silent --include --location --compressed --cookie /home/zsolt.botykai/.emacs.d/.cache/request/curl-cookie-jar --cookie-jar /home/zsolt.botykai/.emacs.d/.cache/request/curl-cookie-jar --write-out \n(:num-redirects %{num_redirects} :url-effective "%{url_effective}") --header nil: nil --header Content-Type: application/json http://jira.statlogics.local:8080/rest/api/2/project
REQUEST [debug] REQUEST--CURL-CALLBACK event = finished
REQUEST [debug] REQUEST--CURL-CALLBACK proc = #<process request curl>
REQUEST [debug] REQUEST--CURL-CALLBACK buffer = #<buffer *request curl*>
REQUEST [debug] REQUEST--CURL-CALLBACK symbol-status = nil
@zsoltika
zsoltika / Cliref.md
Created June 5, 2016 19:56 — forked from yunga/Cliref.md
CLIRef.md
_________ _____ _______________       _____
\_   ___ \\    \\___________   \____ / ____\     ~/.bash/cliref.md
/    \  \/|    | |   ||       _/ __ \  __\    copy/paste from whatisdb
\     \___|__  |_|_  ||    |   \  __/|_ |   http://pastebin.com/yGmGiDQX
 \________  /_____ \_||____|_  /____  /_|     [email protected]
 20160515 \/ 1527 \/         \/     \/

alias CLIRef.txt='curl -s "http://pastebin.com/raw/yGmGiDQX" | less -i'

@zsoltika
zsoltika / System Design.md
Created April 30, 2016 10:23 — forked from vasanthk/System Design.md
System Design Cheatsheet

#System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

##Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?

Does is it stress anyone else out the sheer amount of books there are, and the fact that many may be lost in the distant future?

This basic idea--down to the use of a cup as a metaphor--is at the heart of Stoicism also. From the Enchiridion of Epictetus (§3):

With regard to whatever objects give you delight, are useful, or are deeply loved, remember to tell yourself of what general nature they are, beginning from the most insignificant things. If, for example, you are fond of a specific ceramic cup, remind yourself that it is only ceramic cups in general of which you are fond. Then, if it breaks, you will not be disturbed. If you kiss your child, or your wife, say that you only kiss things which are human, and thus you will not be disturbed if either of them dies.

In essence: if you really love the cup, love it and experience it for what it is, which is clay. Breaking is simply what hardened and fired clay does, it is one of the activities of clay, in addition to forming cups and holding stuff for