Friday, July 25, 2025

Microsoft fonts on Arch

 

yay -S ttf-ms-fonts ttf-selawik

To achieve Microsoft-level font clarity on Arch Linux after installing Microsoft fonts, you'll need to configure several rendering components:

Font Rendering Configuration

Install necessary packages:

yay -S freetype2 fontconfig cairo ttf-selawik

Enable subpixel rendering (equivalent to ClearType): Edit /etc/fonts/local.conf or ~/.config/fontconfig/fonts.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="lcdfilter" mode="assign">
      <const>lcddefault</const>
    </edit>
    <edit name="rgba" mode="assign">
      <const>rgb</const>
    </edit>
    <edit name="hinting" mode="assign">
      <bool>true</bool>
    </edit>
    <edit name="hintstyle" mode="assign">
      <const>hintslight</const>
    </edit>
    <edit name="antialias" mode="assign">
      <bool>true</bool>
    </edit>
  </match>
</fontconfig>

Enable subpixel rendering in freetype2: Uncomment or add to /etc/profile.d/freetype2.sh:

export FREETYPE_PROPERTIES="truetype:interpreter-version=40"

Set font priorities: Configure fontconfig to prefer Microsoft fonts by adding font substitution rules in your fontconfig file:

<alias>
  <family>sans-serif</family>
  <prefer>
    <family>Segoe UI</family>
    <family>Arial</family>
  </prefer>
</alias>

Desktop Environment settings:

  • Enable subpixel rendering in Tweaks and set font to Selawik semibold and Selawik (for docs)
  • Configure font smoothing/antialiasing in your desktop environment settings
  • Set appropriate DPI scaling if needed

Rebuild font cache:

fc-cache -fv

The key is that Linux's freetype2 + fontconfig combination can achieve similar quality to Windows' font rendering, but requires manual configuration to match Microsoft's defaults.

Monday, July 14, 2025

Raspberry Pi WOL via cable

 

By default, the ethtool setting for Wake-on-LAN does not persist across reboots on most Linux systems. To make Wake-on: g permanent for your network interface (enp69s0), you have several reliable options:

1.

Create a custom systemd service that sets WOL after the network interface is up:

  1. Create the service file /etc/systemd/system/wol@.service with the following content:

    text
    [Unit] Description=Enable Wake-on-LAN for %i Requires=network.target After=network.target [Service] Type=oneshot ExecStart=/usr/bin/ethtool -s %i wol g [Install] WantedBy=multi-user.target
  2. Enable the service for your interface:

    text
    sudo systemctl enable wol@enp69s0.service

    This ensures the command runs at every boot, after the network is initialized123.

2.

Alternatively, you can use a udev rule to apply the setting whenever the interface appears:

  1. Create the file /etc/udev/rules.d/81-wol.rules with:

    text
    ACTION=="add", SUBSYSTEM=="net", NAME=="enp69s0", RUN+="/usr/bin/ethtool -s enp69s0 wol g"

    This ensures the setting is applied every time the device is added (e.g., at boot or after suspend)45.

3.

If you manage your network with NetworkManager, you can set WOL via:

text
nmcli connection modify <connection-name> 802-3-ethernet.wake-on-lan magic

Replace <connection-name> with the actual connection name for enp69s0. This will set the WOL option at the NetworkManager level4.

When connecting two Linux devices directly via Ethernet (without a switch/router), common issues include:

  • : By default, neither side provides DHCP, so both devices may not get an IP address, resulting in connection errors.

  • NetworkManager Misconfiguration: If the connection profile is not set to "shared" or "link-local", automatic IP assignment may fail.

  • : Windows uses APIPA to assign addresses automatically, but Linux requires explicit configuration.

Option 1: Use NetworkManager's "Shared" Method

  • On your Arch system, run:

    text
    nmcli con add type ethernet ifname enp69s0 con-name direct-pi ipv4.method shared nmcli con up direct-pi

    This will assign a local IP and enable basic network sharing67.

: Manual Static IPs

  • Assign static IPs on both devices. For example:

    • On Arch: sudo ip addr add 10.0.0.1/24 dev enp69s0

    • On Raspberry Pi: sudo ip addr add 10.0.0.2/24 dev eth0

  • Now you should be able to ping each device from the other8.

  • Ensure the Ethernet cable is good and supports direct connections (modern devices usually auto-negotiate, but older ones may need a crossover cable).

  • Disable or configure firewalls if needed for testing.

  • If using Avahi/mDNS for .local hostnames, ensure nss-mdns is installed and configured on both systems6.

TaskRecommended Solution
Persist WOL settingsystemd service (wol@enp69s0.service) or udev rule
Fix direct LAN "connection errors"Use NetworkManager's "shared" method or assign static IPs on both devices

By following these steps, you can make Wake-on-LAN persistent and resolve direct LAN connection errors between your Arch Linux system and Raspberry Pi.

  1. https://bbs.archlinux.org/viewtopic.php?id=202132
  2. https://necromuralist.github.io/posts/using-systemd-to-enable-wake-on-lan/
  3. https://gist.github.com/paddy74/9cd4160a1ff4eedb0366d0e6e5c02c50
  4. https://blog.galt.me/getting-wol-on-manjaro-20-working/
  5. https://linuxconfig.org/introduction-to-wake-on-lan
  6. https://bbs.archlinux.org/viewtopic.php?id=284239
  7. https://www.reddit.com/r/archlinux/comments/lkmvds/arch_not_connecting_with_raspberry_pi/
  8. https://raspberrypi.stackexchange.com/questions/121315/problem-in-connecting-my-arch-linux-to-my-raspberry-pi-raspbian
  9. https://wiki.archlinux.org/title/Wake-on-LAN
  10. https://bbs.archlinux.org/viewtopic.php?id=267311
  11. https://forum.endeavouros.com/t/cannot-persistently-enable-wake-on-lan/38301
  12. https://man.archlinux.org/man/extra/ethtool/ethtool.8.en
  13. https://forums.opensuse.org/t/how-to-enable-wake-on-lan-why-ethtool-opts-dont-work/132474
  14. https://forum.endeavouros.com/t/wake-on-lan-not-working/9206
  15. https://www.youtube.com/watch?v=ry2QxA9VOsE
  16. https://forum.proxmox.com/threads/wake-on-lan-on-pve.124785/
  17. https://bugzilla.kernel.org/show_bug.cgi?id=217069
  18. https://www.asus.com/us/support/faq/1045950/
  19. https://forum.manjaro.org/t/setting-up-wake-on-lan/144600
  20. https://bbs.archlinux.org/viewtopic.php?id=284950
  21. https://www.reddit.com/r/aorus/comments/rgt7r6/using_wakeonlan_with_aorus_trx40_i211_gigabit/
  22. https://www.youtube.com/watch?v=uUwaxrVIBiI
  23. https://www.reddit.com/r/archlinux/comments/10l4af0/i_need_help_with_wake_on_lan/
  24. https://www.youtube.com/watch?v=qX8KBFL0jjI
  25. https://www.reddit.com/r/Proxmox/comments/13blw5x/wake_on_lan_not_working/
  26. https://wiki.archlinux.org/title/Network_configuration/Ethernet
  27. https://www.gigabyte.com/at/Support/Consumer/Faq/376
  28. https://forum.manjaro.org/t/wake-on-lan-not-working/37696
  29. https://forum.manjaro.org/t/troubles-with-setting-up-wol/24815
  30. https://www.antixforum.com/forums/topic/wol-wake-on-lan/
  31. https://aur.archlinux.org/packages/wol-systemd?O=10
  32. https://serverfault.com/questions/1142769/trying-to-set-wake-on-lan-persistently-on-linux-fails
  33. https://www.reddit.com/r/openSUSE/comments/1eknqe2/how_to_enable_wol/
  34. https://github.com/gamer-os/gamer-os/issues/102
  35. https://wiki.archlinux.org/title/Udev
  36. https://askubuntu.com/questions/1142470/trouble-with-wake-on-lan-ubuntu-16-04
  37. https://forums.raspberrypi.com/viewtopic.php?t=304206
  38. https://forums.raspberrypi.com/viewtopic.php?t=187065
  39. https://forums.raspberrypi.com/viewtopic.php?t=196282
  40. https://forums.raspberrypi.com/viewtopic.php?t=47852
  41. https://wiki.archlinux.org/title/Network_configuration/Wireless
  42. https://stackoverflow.com/questions/26886952/direct-ethernet-connection-to-raspberry-pi-running-arch-linux

Saturday, July 5, 2025

Using rclone to integrate Google Drive in Arch

 sudo pacman -S rclone

rclone config  # will need to set up secret key and client ID follow instructions

 

 mkdir ~/GoogleDrive

 

rclone mount gdrive: ~/GoogleDrive --vfs-cache-mode writes --daemon 

# can also use following to run in background (nohup):

nohup rclone mount gdrive: ~/GoogleDrive --vfs-cache-mode writes --allow-non-empty --dir-cache-time 1000h --poll-interval 15s 

systemctl --user edit --force --full rclone-mount.service

 

add:

[Unit]
Description=RClone Mount Google Drive
After=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/rclone mount gdrive: %h/GoogleDrive --vfs-cache-mode writes --vfs-cache-max-age 1h
ExecStop=/bin/fusermount -u %h/GoogleDrive
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target

 

 Enable: systemctl --user enable --now rclone-mount.service

 

 

 

 

KDE's Own Distro

For installation details see the Installation section https://community.kde.org/KDE_Linux#Installation  and  https://kde.org/linux/install/...