“Das Asylrecht setzt voraus, dass wir das Leid anderer als rechtlich relevant anerkennen. Wenn Empathie politisch diskreditiert wird, verliert das Recht seine Basis. Die Asylpolitik der Gegenwart lebt von dieser Empathieverweigerung. Sie setzt auf Distanz, auf administrative Neutralisierung. Wer Zuständigkeits- und Zulässigkeitsregeln so ausbaut, dass bereits die Möglichkeit der Antragstellung zur Odyssee wird, stiehlt sich aus der menschenrechtlichen Verantwortung. Insofern ist die deutsche und europäische Entwicklung der Abschaffung des Asyls nicht nur ein juristischer, sondern ein anthropologischer Vorgang. Die Diskussion soll unser Bild der asylsuchenden Personen verändern. Sie werden als gefährliche Regelbrecher gelabelt und ihr Schutzbedarf dadurch unsichtbar gemacht. Diese Entwicklung ist gefährlicher als jede Verfassungsänderung.” Constantin Hruschka beschreibt den Rechtsbruch als Beweis der staatlichen Souveränität mit den sich daraus ergebenden Folgen für unsere Demokratie.
Author: edafe
Install OneDrive Client for Linux on Debian or Ubuntu
The OneDrive Client for Linux connects your Debian or Ubuntu system to Microsoft’s OneDrive Personal, OneDrive for Business, OneDrive for Office365, Sharepoint and other such deployments.
Step 1
Install the OneDrive Client from the Debian or Ubuntu repository.
$ sudo -- bash -c 'apt update && apt install --yes onedrive'
Step 2
Begin to connect the client to your OneDrive account.
$ onedrive --sync
You will be presented with a dialog containing a URI similar to the following:
Configuring Global Azure AD Endpoints
Authorise this application by visiting:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=e50ca730-u81r-1r1m-x381-28l5d9334f0y&scope=Files.ReadWrite%20Files.ReadWrite.All%20Sites.ReadWrite.All%20offline_access&response_type=code&prompt=login&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient
Enter the response uri from your browser:
In a web browser
Open the URI from the previous dialog in a browser and log into your Microsoft account. You can either [Ctrl + Click] the URI in the terminal or copy and paste it into the address bar of your browser.
Upon successful authentication, you will be redirected to a response URI displaying a blank page. Copy the URI from the address bar of your browser.
In the terminal
Paste the response URI into the terminal. The OneDrive Client will connect to your Microsoft account and synchronise your data.
Initializing the Synchronization Engine …
Syncing changes from OneDrive …
Creating local directory:
Downloading file … done.
Uploading differences of ~/OneDrive
Uploading new items of ~/OneDrive
Step 3
After downloading your data to ~/OneDrive, validate the configuration of your client.
$ onedrive --display-config
All done!
How to install Espanso on Debian 13 trixie
Espanso is a cross-platform text expander written in Rust. It “detects when you type a keyword and replaces it while you’re typing“.
Follow these instructions to install Espanso 2.3.0 for Wayland on your Debian system.
Step 1
Download Espanso v2.3.0.
$ wget -P ~/Downloads/ --show-progress https://github.com/espanso/espanso/releases/download/v2.3.0/espanso-debian-wayland-amd64.deb
Step 2
Install the required dependencies from the Debian repository.
$ sudo apt-get install --yes libwxgtk3.2-1t64 wl-clipboard
Step 3
Install espanso from the package you downloaded in Step 1.
$ sudo dpkg -i ~/Downloads/espanso-debian-wayland-amd64.deb
Step 4
Give espanso the permissions required for its operation.
$ sudo setcap "cap_dac_override+p" $(which espanso)
Check to see if the espanso binary was installed successfuly.
$ espanso --version
Step 5
Register espanso as a systemd service.
$ espanso service register
Launch espanso.
$ espanso start && espanso status
Step 6
GNOME desktop only: remove the conflicting default shortcut for activating the window menu.
Settings > Keyboard > Keyboard Shortcuts > View and Customize Shortcuts > Windows > Activate the window menu > [Backspace]
Use [Alt + Space] to open Espanso’s Search bar.
All Done!
Experimental support for Wayland
Espanso has some known limitations under Wayland. Most notably, “there is currently no support for App-specific configurations”.
The mad king’s digital killswitch
“The very worst-case speculative scenario for Huawei-as-Chinese-Trojan-horse is infinitely better than the non-speculative, real ways in which the US has killswitched and bugged the world’s devices.” Cory Doctorow explains why responsible governments should have to accelerate their countries’ independence from US tech and not just Russian gas.
Install Cockpit on Debian 13 trixie
Cockpit provides an easy-to-use, web-based interface for administering Linux systems. It simplifies tasks such as monitoring logs, controlling system services, configuring networks, and managing virtual machines.
Cockpit has been described as a “useful and extensible tool to observe, manage, and troubleshoot Linux servers“.
Step 1
cockpit requires the use of the firewalld service to be able to make changes to your firewall rules.
If you are using ufw as a host-based firewall
Remove ufw before replacing it with firewalld.
$ sudo apt-get remove --purge --yes ufw
[sudo] password for yourusername:
Install firewalld as a host-based firewall
Install firewalld and maintain ssh access as well as enabling cockpit to receive incoming connections.
$ sudo -- bash -c 'apt-get install --show-progress --yes firewalld && systemctl enable --now firewalld.service && firewall-cmd --zone=public --add-service=ssh --permanent && firewall-cmd --zone=public --add-service=cockpit --permanent && firewall-cmd --reload && firewall-cmd --info-zone=public'
Step 2
Proceed to install cockpit and selected add-on applications.
$ sudo apt-get install --show-progress --yes cockpit cockpit-bridge cockpit-machines cockpit-podman nullmailer ssh tuned-utils
Step 3
If you selected a wireless interface as the primary network interface for use during installation of the Debian system, you may need to re-establish connection to the wireless network after rebooting.
Enable NetworkManager for the primary network interface and reboot your system.
$ sudo sed -i 's/managed=false/managed=true/' /etc/NetworkManager/NetworkManager.conf&&sudo sed -i '/# The primary network interface/,$d' /etc/network/interfaces && sudo reboot
Step 4
Access the Cockpit web console on https://localhost:9090 by entering your username and password.
Step 5
By default, the Cockpit web console listens on port 9090 for connections. If you want to make changes from the default, use the following command to edit /etc/systemd/system/cockpit.socket.d/override.conf.
$ sudo systemctl edit cockpit.socket
The example below changes the web console port from 9090 to 9091 and restricts access to the localhost only.
### Editing /etc/systemd/system/cockpit.socket.d/override.conf
### Anything between here and the comment below will become the new contents of the file
[Socket]
ListenStream=
ListenStream=127.0.0.1:9091
### Edits below this comment will be discarded
Use the following command for your changes to take effect.
$ sudo -- bash -c 'systemctl daemon-reload && systemctl restart cockpit.socket && systemctl status cockpit.socket'
Configure nullmailer with a relay host
If you wish to receive status updates from your Debian or Ubuntu system, you need to install and configure a mail transfer agent (MTA). nullmailer is a relay-only forwarding MTA that can be used as an alternative to more complex MTAs, such as Exim, Sendmail or Postfix.
A relay host, also referred to as a smarthost, can be defined as an email server for outgoing mail that is being afforded a good reputation by its peers. In this example, we use Fastmail because email deliverability depends on a number of different factors.
Configuration of nullmailer with Email Service Providers (ESPs) other than Fastmail should be similar, given that all ESPs implement the Simple Mail Transfer Protocol (SMTP).
Step 1
Generate an app password
Log into your Fastmail account and set up a new app password for SMTP authentication.
Create an alias
Set up a dedicated Fastmail alias to receive incoming messages.
Step 2
Use copy and paste to enter the following commands. Be careful not to miss any punctuation.
Create the new directory /etc/nullmailer and the file /etc/nullmailer/adminaddr.
$ sudo mkdir /etc/nullmailer && sudo nano /etc/nullmailer/adminaddr
The Fastmail alias you created in Step 1 should be the only entry in /etc/nullmailer/adminaddr.
target.email@fastmail.com
Step 3
Install the required packages.
$ sudo apt-get install --yes nullmailer mailutils
Step 4
Enter the system mailname. If you are setting up on a home network, you should use home.arpa as the domain name.
Configuring nullmailer
Mailname of your system:
tux.home.arpa
Ok
Configuring the smarthost
Configure nullmailer to use the Fastmail SMTP server as a smarthost. Use your Fastmail username and the app password from Step 1.
Configuring nullmailer
Smarthosts:
smtp.fastmail.com smtp --port=587 --auth-login --starttls --user=linus.torvalds@fastmail.com --pass=password
Ok
Step 5
Test your configuration with the following command.
$ echo "Test mail from nullmailer on tux.home.arpa to the local root user and forwarded on to Fastmail" | mail -s "Test nullmailer" root
Check your inbox!
Step 6
You can reconfigure nullmailer at any time by issuing the following comand.
$ sudo dpkg-reconfigure nullmailer
Darth Android
“Tech bosses are fundamentally at war with the idea that our digital devices contain general purpose computers. The general-purposeness of computers – the fact that they are all Turing-complete, universal von Neumann machines – has created tech bosses’ fortunes, but now that these fortunes have been attained, the tech sector would like to abolish that general-purposeness; specifically, they would like to make it impossible to run programs that erode their profits or frustrate their attempts at rent-seeking.” Cory Doctorow identifies the court of law as the true battleground in the War on General-Purpose Computing.
How to install Debian 13 Trixie with a GNOME desktop
Debian GNU/Linux was first released in 1993 and has been under active developement ever since. Today, the Debian Project unites thousands of contributors from across the globe with the aim of producing “an operating system distribution that is composed entirely of free software“.
This guide is intended to assist those who are installing Debian for the first time. It maps out a straightforward path to a GNOME desktop with only essential applications pre-installed. Choose from 69830 official Debian packages and tailor the system to your own requirements.
Debian and the new package formats
Debian stable is, above all else, focused on the task of maintaining bug-free software packages. It is the reason why Debian, in over 30 years, has gained a reputation for being “like a rock in an ever-swirling sea of updates“. It is also the reason why Debian stable does not keep up with the latest versions.
Universal package formats, such as Flatpak, Snap, or AppImage, are managed separately from conventional packaging systems and thus provide the end-user with added flexibility and choice. They solve the problem of stale distribution packages because newer versions can be installed without compromising the integrity of the underlying core.
Before you begin
In addition to the target computer, you should have reasonably fast Internet. Use an Ethernet cable to connect your device to the network. If your laptop does not have a built-in Ethernet port, look for a Linux-compatible USB to Ethernet adapter, such as the StarTech USB31000S2, TP-Link UE300C or Plugable USB3-E1000.
Veronica explains how to create a bootable USB stick for installing Linux. Depending on your requirements, there are different Debian CD images to choose from. In all likelihood, you are following these instructions to install on x86-64 hardware, for which a netinst CD image amd64 would be the correct choice. It supports Intel as well as AMD processors and “includes non-free firmware for extra support for some awkward hardware”.
In the instructions which follow, yourhostname is used as the hostname and yourusername as the name for the standard user.
In addition to host- and username, choose 1) yourpassphrase as an encryption passphrase to encrypt your storage device with, 2) yourpassword as a password for the standard user account, and 3) rootpassword as a password for the superuser account.
Ensure that all of your data is safely backed up because formatting your storage device will erase all of its data.
After completing the installation, Debian GNU/Linux will be the only operating system on your computer.
Installing Debian GNU/Linux
If your computer uses the Unified Extensible Firmware Interface (UEFI), “turn off Secure Boot before attempting anything else“.
Step 1
After booting the system from the USB stick that you have prepared, continue by selecting the text-based installer.

Step 2
Keep English as the language for the installation.
[!!] Select a language
Language: English
Step 3
Keep United States as the location for your system. This will also set United States as the default locale for the system environment. You will have an opportunity to set additional locales and adjust time zones at a later point during the installation.
[!!] Select your location
Country, territory or area: United States
Step 4
Use the keymap that is right for the layout of your particular keyboard.
[!!] Configure the keyboard
Keymap to use: keymap for your specific keyboard
Step 5
At this point, the installer may prompt you for missing firmware.
[!] Detect network hardware
Some of your hardware needs non-free firmware files to operate. The firmware can be loaded from removable media, such as a USB stick or floppy.
Load missing firmware from removable media?
No
Step 6
You may be asked to select the primary network interface for use during the installation.
[!!] Configure the network
Primary network interface:
enp1s0: unknown interface
wlp1s0: Wireless Network Adapter (wireless)
If network autoconfiguration fails, go back and try another interface from the list.
[!!] Configure the network
Network configuration method:
Retry network autoconfiguration Retry network autoconfiguration with a DHCP hostname Configure network manually
Do not configure the network at this time
Go Back
Step 7
Set the hostname for your system.
[!] Configure the network
Hostname: yourhostname
Continue
Set the domain name for your system. If you are setting up on a home network, you should use home.arpa as the domain name.
[!] Configure the network
Domain name: home.arpa
Continue
Step 8
Leave the root password empty to ensure that the standard user account is configured with sudo privileges.
[!!] Set up users and passwords
Root password: leave empty
Continue
Confirm the empty root password.
[!!] Set up users and passwords
Re-enter password to verify: leave empty
Continue
Step 9
Create the standard user account. In this example, we use Your Username as the full name.
[!!] Set up users and passwords
Full name for the new user: Your Username
Continue
Continue with yourusername as the username.
[!!] Set up users and passwords
Username for your account: yourusername
Continue
Set a password for the new standard user.
[!!] Set up users and passwords
Choose a password for the new user: yourpassword
Continue
Confirm the password for the standard user.
[!!] Set up users and passwords
Re-enter password to verify: yourpassword
Continue
Step 10
Keep Eastern as the time zone for now.
[!] Configure the clock
Select your time zone: Eastern
Step 11
You may wish to partition your disk with LVM and protect your data with a 256 bit AES key.
[!!] Partition disks
Partitioning method: Guided - use entire disk and set up encrypted LVM
Be careful to select the correct target device for your system.
[!!] Partition disks
Select disk to partition: your target disk for installation
Choose to keep all files in one partition.
[!] Partition disks
Partitioning scheme: All files in one partition (recommended for new users)
Now write the changes to disk.
[!!] Partition disks
Write the changes to disk and configure LVM?
Yes
You may cancel the process of overwriting of the disk with random data. Be aware, however, that skipping this step will diminish the quality of the disk encryption.
Step 12
Enter your encryption passphrase.
[!!] Partition disks
Encryption passphrase: yourpassphrase
Continue
Confirm your encryption passphrase.
[!!] Partition disks
Re-enter passphrase to verify: yourpassphrase
Continue
Step 13
Use the available space to partition your disk.
[!!] Partition disks
Amount of volume group to use for guided partitioning: max
Continue
Step 14
Review partitions and mount points suggested by the installer.
[!!] Partition disks
Finish partitioning and write changes to disk
Confirm writing the changes to disk.
[!!] Partition disks
Write the changes to disks?
Yes
Step 15
You may be asked to scan additional installation media.
[!] Configure the package manager
Scan extra installation media?
No
Step 16
Select your archive mirror country from the list.
[!] Configure the package manager
Debian archive mirror country: your country
Select an archive mirror from the list. Use the site that is closest to you.
[!] Configure the package manager
Debian archive mirror: mirror closest to you
Proceed without providing HTTP proxy information.
[!] Configure the package manager
HTTP proxy information (blank for none): leave empty
Continue
Step 17
The Debian Popularity Contest attempts to map the overall usage of Debian packages with information from installed systems, such as yours.
[!] Configuring popularity-contest
Participate in the package usage survey?
Yes
Step 18
Choose standard system utilities from the list of predefined software collections and deselect all other entries.
[!] Software selection
Choose software to install: [ ] Debian desktop environment [ ] GNOME [*] standard system utilities
Continue
Step 19
You may be asked if you want to install GRUB. Select your target disk from Step 11 as the drive for boot loader installation.
[!] Configuring grub-pc
Install the GRUB boot loader to your primary drive?
Yes
Step 20
Remove the installation media before booting into your new system.
[!!] Finish the installation
Installation complete
Continue
Step 21
Enter your encryption passphrase to allow the system to boot. In this example, the encrypted disk is labelled sda3_crypt.
Please unlock disk sda3_crypt: yourpassphrase
Log into the system as the user yourusername.
Debian GNU/Linux 13 debian tty1
debian login: yourusername
Password: yourpassword
Step 22
Set the password for the superuser by entering the following command. You will be asked for yourpassword to obtain sudo privileges first.
$ sudo passwd root
[sudo] password for yourusername: yourpassword
New password: rootpassword
Retype new password: rootpassword
passwd: password updated successfully
Step 23
Install a minimal GNOME desktop.
$ sudo apt-get install --yes gnome-core
If you are installing into a virtual machine and intend to use graphical applications, enable integration between the host and the guest.
$ sudo apt-get install --yes spice-vdagent
Step 24
Restart your system.
$ sudo reboot
Step 25
Enter your encryption passphrase to allow the system to boot.
Please unlock disk sda3_crypt: yourpassphrase
Log into the GNOME desktop for the first time.

Step 26
Skip the tour for now.

Step 27
Select Show Apps from the the panel at the bottom of the screen or press [Super + a].

On most keyboards, the [Super] key is the one with the Windows logo printed on it.
Step 28
Open the Settings app and continue by adding the following keyboard shortcuts:
Terminal application
Settings > Keyboard > Keyboard Shortcuts > View and Customize Shortcuts > Custom Shortcuts > Add Shortcut…
Name: Launch Terminal
Command: gnome-terminal
Shortcut: [Super + t]

File manager
Settings > Keyboard > Keyboard Shortcuts > View and Customize Shortcuts: Home folder
Shortcut: [Super + f]
Web browser
Settings > Keyboard > Keyboard Shortcuts > View and Customize Shortcuts: Launch web browser
Shortcut: [Super + b]
Maximising windows vertically
Settings > Keyboard > Keyboard Shortcuts > View and Customize Shortcuts: Maximize window vertically
Shortcut: [Ctrl + Super + ↑]
Step 29
From within the GNOME desktop, open Firefox ESR by using the shortcut [Super + b] and re-open these instructions at edafe.de/29.
Open a terminal with the shortcut [Super + t] and, where applicable, copy and paste to enter the following commands. Be careful not to miss any punctuation.
Step 30
Set the time zone for your area.
$ sudo dpkg-reconfigure tzdata
[sudo] password for yourusername: yourpassword
Configuring tzdata
Geographic area: your area
Ok
Step 31
Configure locales for all the languages that your system is going to be used with. Use UTF-8 locales wherever possible.
$ sudo dpkg-reconfigure locales
In this example, German and Japanese locales are generated in addition to the default United States locale that is used for the system environment.
Configuring locales
Locales to be generated:
[*] de_DE.UTF-8 UTF-8 [*] en_US.UTF-8 UTF-8 [*] ja_JP.UTF-8 UTF-8
OK
Keep en_US.UTF-8 as the default locale for the system environment.
Configuring locales
Default locale for the system environment:
en_US.UTF-8
OK
Step 32
The Desktop was disabled in GNOME 3.28. This decision was not universally popular at the time. However, developers pointed to the fact that, as an unmaintained feature, it stood in the way of other improvements. The following command hides the now orphaned Desktop folder from view.
$ echo Desktop >> ~/.hidden
Step 33
Install additonal Debian packages to give you a fully functional GNOME desktop.
$ sudo apt-get install --show-progress --yes apostrophe aptitude cups curl debian-reference deja-dup fastfetch file-roller foliate foomatic-db-compressed-ppds gcolor3 gnome-authenticator gnome-color-manager gnome-epub-thumbnailer gnome-feeds gnome-firmware gnome-keysign gnome-podcasts gnome-power-manager gnome-session-canberra gnome-shell-extension-auto-move-windows gnome-shell-extension-dashtodock gnome-shell-extension-launch-new-instance gnome-shell-extension-no-annoyance gnome-shell-extension-shortcuts gnome-shell-extension-tiling-assistant gnome-shell-extensions-extra gnome-software-plugin-flatpak gnome-software-plugin-snap gnome-sound-recorder gnome-tweaks gnome-video-effects-frei0r keepassxc mpv-mpris nautilus-share network-manager-config-connectivity-debian network-manager-openconnect-gnome network-manager-openvpn-gnome network-manager-ssh-gnome network-manager-vpnc-gnome ooo-thumbnailer pdfarranger plymouth-themes printer-driver-cups-pdf playerctl pwgen rsync seahorse seahorse-daemon seahorse-nautilus shortwave shotwell smbclient soundconverter ssh-askpass-gnome synaptic transmission-gtk task-laptop ufw unattended-upgrades wireguard yubioath-desktop && sudo ufw enable
Step 34
Replace the text output during system boot with a graphical splash screen.
$ sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/' /etc/default/grub && sudo update-grub2
Step 35
Configure fastfetch to display information about your system on the command-line.
$ echo -e '\n# use Fastfetch to display information about the system\nif [ -f /usr/bin/fastfetch ]; then\n clear && fastfetch;\nfi' >> ~/.bashrc && source ~/.bashrc
Step 36
Enable the unattended installation of important upgrades.
$ sudo dpkg-reconfigure unattended-upgrades
Step 37
If in Step 6 you selected a wireless interface as the primary network interface for use during the installation, you will need to re-establish connection to the wireless network after rebooting.
Enable the Network Manager for the primary network interface and reboot your system.
$ sudo sed -i 's/managed=false/managed=true/' /etc/NetworkManager/NetworkManager.conf&&sudo sed -i '/# The primary network interface/,$d' /etc/network/interfaces && sudo reboot
Step 38
Enable the installation of Flatpaks from Flathub.
$ sudo -- bash -c 'flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo'
[sudo] password for yourusername: yourpassword
Step 39
Install applications from Flathub.
$ sudo flatpak install --assumeyes flathub com.bitwarden.desktop com.github.neithern.g4music com.github.tchx84.Flatseal com.vixalien.sticky dev.geopjr.Collision dev.geopjr.Tuba io.github.flattool.Warehouse io.gitlab.adhami3310.Converter org.cryptomator.Cryptomator org.gnome.Decibels org.gnome.World.PikaBackup org.libreoffice.LibreOffice
Step 40
Install applications from the Snap Store.
$ sudo snap install chromium
The snap directory in your home folder is not supposed to be accessed manually. Use the following command to hide it from view.
$ echo snap >> ~/.hidden
Step 41
By default, Debian installs the Extended Support Release (ESR) version of Firefox. The ESR receives crash fixes, security fixes and policy updates as needed.
The flatpak, on the other hand, installs the Rapid Release version of Firefox. In contrast to the ESR, the Rapid Release receives major updates at least every four weeks. Both versions can be used concurrently. When installed on your desktop, they are listed as Firefox ESR and Firefox, respectively.
As an option, you may install Firefox Rapid Release and set it as the default browser.
$ sudo flatpak install --assumeyes org.mozilla.firefox && xdg-settings set default-web-browser org.mozilla.firefox.desktop
Consider using different themes to easily distinguish between the two versions.
Step 42
Prevent yourself from accidentally breaking Debian by reading about some of the most commonly made mistakes.
All done!