# cryptsetup luksChangeKey /dev/vda5
Replace /dev/vda5 with your actual LUKS device. The command will ask you for the existing passphrase to replace, and then for the new passphrase for the device.
# cryptsetup luksChangeKey /dev/vda5
Replace /dev/vda5 with your actual LUKS device. The command will ask you for the existing passphrase to replace, and then for the new passphrase for the device.
Some out-of-camera JPEGs have bad metadata that digiKam doesn’t parse correctly. The problematic photos have the same characteristics:
The solution is to rewrite the EXIF tags using exiftool. This fixes the bad metadata and allows digiKam to properly read the photo’s metadata.
exiftool -overwrite_original -all= -tagsfromfile @ -all:all *.JPG
For the files with bad EXIF metadata, the command will report the following warning:
Warning: [minor] Error reading PreviewImage from file - DSC06635.JPG
Recently, I had to connect to a hidden WiFi network with an EAP-TLS authentication. When configured via the NetworkManager UI on Ubuntu, it would work. However, on Debian Unstable running Gnome 42 and on Arch, the same process didn’t work. The problem seems to be an empty configuration line for domain-suffix-match that gets created. To solve it, you can remove the domain-suffix-match using nmcli:
$ nmcli connection modify CorpSSID 802-1x.domain-suffix-match ""
Alternatively, you can configure the WiFi network directly with nmcli without setting the problematic property>:
nmcli connection add type wifi ifname wlp0s20f3 \
con-name CorpSSID \
802-11-wireless.ssid CorpSSID \
802-11-wireless-security.key-mgmt wpa-eap \
802-1x.eap tls \
802-1x.identity guyru \
802-1x.client-cert /absolute/path/wifi-certs/signed-certificate.cer \
802-1x.private-key /absolute/path/wifi-certs/private.key
It’s important to have absolute paths to both the client certificate and the private key.
When trying to mount SMB share using gio you might encounter the following error:
$ gio mount smb://nas.corp.local
gio: smb://nas.corp.local/: Location is not mountable
This error might be due to a missing gvfs backend. The smb backend should be located in /usr/share/gvfs/mounts/smb.mount. If it is missing, you should install the gvfs-backends package and it should resolve the mounting issue.
If the mount was successful, but you can’t see it under $XDG_SESSION_DESKTOP/gvfss/, you are probably missing the FUSE server that makes the mounted filesystem available to all applications and not only to GIO aware applications. You can install the FUSE server by installing the gvfs-fuse package. The server will automatically run after reboot. If you want to start the server immediately, you can start it manually:
$ /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs
After the latest PipeWire upgrade on Debian, sound stopped working for. The bluetooth headset would not connect, and in the output options I had only one device labeled dummy output.
This was caused by a recent upgrade of the pipewire-media-session package to version 0.4.1-3. Debian decided that media-session is deprecated in favor of WirePlumber. As part of the package installation, the /usr/share/pipewire/media-session.d/with-pulseaudio file, signalling media-session it should handle audio, gets removed. As I didn’t have WirePlumber installed, nothing managed the audio configuration. The solution is to recreate the file and restart the relevant PipeWire servcies.
$ sudo touch /usr/share/pipewire/media-session.d/with-pulseaudio
$ systemctl restart --user pipewire pipewire-media-session pipewire-pulse
GNOME Image Viewer, aka Eye of GNOME, lacks support for HEIF images by default. You can enable HEIF support by installing the heif-gdk-pixbuf package.
SPF allows one to specify which SMTP servers can send emails on behalf of a domain. The SPF record is defined as a DNS TXT record and specifies the list of allowed senders for the domain.
"v=spf1 a ip4:134.209.224.112 include:_spf.mx.cloudflare.net include:_spf.google.com ~all"
v=spf1 specifies that this TXT record is indeed an SPF record.a include the IP addresses of the domain, as returned by the A or AAAA records. This is required to let your own server send emails.ip4:134.209.224.112 allows a specific server by IP address to send emails. You can also use netmasks (ie /20) to allow ranges.include:_spf.mx.cloudflare.net allows Cloudflare Email Routing to forward emails for your domain.include:_spf.google.com allow sending emails via Google Workspace/Gmail.~all This marks every other server not listed so far as insecure/spam, but the email will be accepted. This can be replaced by -all which would tell the recipient to reject emails from unauthorized servers.Apt 2.0 introduced a new feature allowing to use smarter patterns when listing packages. This allows to list all obsolete packages using the specifier ?obsolete or the shorthand ~o.
$ apt list ?obsolete
It will list all locally installed packages and packages.
You can also list all packages not provided by Debian (it will also catch packages once provided by Debian but since then remove from the repositories):
$ apt list --installed "?not(?origin(debian))"
To get screen sharing in Slack to properly work under Wayland, you need to explicitly tell Slack to use PipeWire for screen capturing. Copy Slack’s desktop file from /usr/share/applications/slack.desktop to ~/.local/share/applications/slack.desktop and modify the Exec line to look like:
Exec=/usr/bin/slack --enable-features=WebRTCPipeWireCapturer %U
Now restart Slack and screen sharing should work properly.
TLP helps optimize battery usage for laptops. TLP supports setting battery charging threshold, to allow keeping the battery partially charged, which prolongs its life. This can be done creating a new file under /etc/tlp.d/01-battery.conf:
START_CHARGE_THRESH_BAT0=80 STOP_CHARGE_THRESH_BAT0=85
Reload the TLP configuration for the new settings to take effect:
$ systemctl reload tlp.service
You can disable the battery threshold temporarily using:
$ sudo tlp fullcharge
Restoring the thresholds is done using
$ sudo tlp setcharge