Pages

November 21, 2025

Thunderbird message fonts

I was getting really irritated with my attempts at changing the font size of message renders in Thunderbird. I was doing what appeared to be the right thing: Hamburger menu > Settings > Language & Fonts > Advanced ... and then set family and sizes as desired:

Notice that "Latin" is selected in the Fonts for: dropdown. This was the default setting, and given the other choices (Arabic, Armenian, etc.), it seemed to be the correct option. But nada.

Fortunately, a statement made almost in passing on this post revealed the solution: You need to configure "Other Writing Systems" as well:

 

Why? Because "Other Writing Systems" deals with Unicode encoding, and because it's 2025 you're probably sending and receiving Unicode messages.

It's easy when you know how.™ (But almost impossible to discover.)

You may also benefit from the ui.textScaleFactor hack described in my Firefox page rendering size entry. You can access Thunderbird's equivalent of the about:config page by scrolling to the bottom of the Settings page and clicking the Config Editor… button.

September 28, 2025

Enabling SMBv1 in Samba

 Even though it's bad for security, sometimes you just have to do it.

  1.  Make sure you have a /etc/samba/smb.conf file. You would have gotten this if you installed smbclient. If you didn't, then do that now. 
  2. Edit /etc/samba/smb.conf and put somewhere below "[global]" the following line:
    client min protocol = NT1
  3.  The change will likely be instantaneous (i.e., no restart required). When you are done, be sure to comment the line out:
    # client min protocol = NT1

 References here and here.

 

September 22, 2025

Copying files over a network with rsync

I thought I had found a good solution to copying files over a network with scp, but it turns out that utility doesn't copy symlinks as symlinks. Rather, it replaces the symlink with a copy of the content.

 Fortunately, rsync can be used for this. The magic invocation is:

rsync -r -t -p -v --progress -l -s -e ssh {username}@{address}:'//home/foo/Documents/myDir' /home/bar/Documents


The options are as follows:

-r: recurse into directories

-t: preserve modification times

-p: preserve permissions

-v: increase verbosity

--progress: show progress during transfer

-l: copy symlinks as symlinks

-s: no space-splitting; wildcard chars only

-e: specify the remote shell to use (ssh in the above)

You can also get this done with grsync. In fact, I got the above command line by examining grsync's output. The gotcha here is that you need to be able to access the source account without a password. rsync will prompt you for a password if necessary.

July 11, 2025

Linux Mint themes in Debian

Adwaita was my preferred theme for use with Cinnamon on my Debian boxes. But its use with Cinnamon has now been blocked because reasons. You may see it as one or more of the themes in use, but once you switch to something else, you can't get it back.

IMHO, the next best option is to use Linux Mint themes, which inconveniently aren't available in Debian or by downloading through Cinnamon's control panel.

However, for the time being at least, you can get them by adding a Linux Mint repository to your apt. This is documented here.

The steps I use are:

  1. As root, inside /etc/apt/sources.list.d create the file linuxmint.list
  2. Using your favorite editing means, put the following line to the file:
    deb [trusted=yes] http://packages.linuxmint.com zara main

    This points to the Zara release. In the future, you may want to point it to something newer.
  3. apt-get update
  4. Use Synaptic or your favorite tool to browse the new packages. I installed:
    mint-cursor-themes
    mint-l-icons
    mint-l-theme
    mint-themes
    mint-x-icons
    mint-y-icons
    is in Debian, so I didn't install the Linux Mint version.
  5. After installing what you want, edit linuxmint.list to disable the repository by putting a # in front of the repo info:
    # deb [trusted=yes] http://packages.linuxmint.com zara main
  6. apt-get update (again)

The last two steps are important so you don't continue to see the Linux Mint packages and inadvertently do something with them that borks your system. This also means you won't be notified of updates to the theme packages, so you might want to enable the repo periodically and check.

I'm currently using the Mint-Y-Blue application theme along with GNOME-Colors Brave for icons and a DMZ cursor. It works for me. If that's all you want too, then you only need to install mint-themes from the linuxmint repos.

January 09, 2025

Firefox page rendering size

After I installed version 134.0 of Firefox on my Debian sid system, web pages were rendered about 20% larger than they should be. The UI wasn't oddly scaled though; the issue was limited to the web page rendering area.

I tried working with layout.css.devPixelsPerPx, which comes up often in search engine results. But this scaled everything, including the UI.

Then I tried the first solution described in Fix UI Scaling and Large Fonts Issues in Firefox 103 and Later Versions, and it's working beautifully. Specifically, here's what I did (quoting from the article):

  1. Open Firefox and type about:config in the address bar and press Enter. It’ll show you a warning message, click on “Accept the Risk and Continue” button. It’ll open Firefox’s hidden secret advanced configuration page i.e. about:config page.
  2. Now create a new preference ui.textScaleFactor as NUMBER and set its value to 100 to fix the scaling and fonts issue.

This appears similar to the "--force-device-scale-factor" hack that I need to use to get Google Chrome to behave.

May 04, 2019

Firefox extensions certificate expired quickfix

The proposed solution to Firefox's certificate expiration issue won't work on Debian because data reporting is disabled for Debian builds of Firefox. A workaround mentioned in passing here appears to have worked for me.

The workaround consists of visiting https://storage.googleapis.com/moz-fx-normandy-prod-addons/extensions/hotfix-update-xpi-intermediate%40mozilla.com-1.0.2-signed.xpi directly and allowing Firefox to install the xpi file.

Drive carefully. Your mileage may vary

September 11, 2018

Solving "device not managed" for Ethernet connections in Network Manager

At some point or another, Network Manager in Debian sid stopped managing my Ethernet connection. The source of the issue is /etc/NetworkManager/NetworkManager.conf:
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

The [ifupdown] clause seems to be telling NM not to do it. The solution is to turn the frown upside down, but doing so in NetworkManager.conf means the setting will likely be clobbered the next time NM is updated. The solution to that is to create a file in in conf.d named 10-globally-managed-devices.conf. NM upgrades should leave custom files in conf.d alone.

Source

August 06, 2018

The new su PATH behavior

The su command that's now being packaged with Debian sid has significant change in behavior. In the past, when you did an:
$ su
the PATH would get set to root's PATH. Now, it remains the user's path:
$ su
Password:
# echo $PATH
/home/mithat/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
This means you won't pick up /usr/sbin where a lot of commands you'd typically use with root privileges live.

The fix to this is that you now have to append a dash to the command:
$ su -
Password:
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
I don't know whether this impacts gksu or if sudo and/or gksudo are affected. gksu is affected as well, but with gksu there doesn't appear to be a way to get back to the old behavior.

January 12, 2018

Fixing Skype for Linux scaling

After a long hiatus from (actually a deliberate avoidance of) Skype, I need to install it again -- at least temporarily. And the latest version of Skype for Linux is appears to be an Electron app, which means its scaling on my non-standard 118 dpi screen is seriously wonky.

The typical fix for this with Chrome/Chromium and Electron apps is to pass the --force-device-scale-factor option to the executable. Applying this option to Skype works as well, but you need to dig a bit to find where to add it. I ended up modifying /usr/bin/skypeforlinux so the last line reads:

nnohup "$SKYPE_PATH" --force-device-scale-factor --executed-from="$(pwd)" --pid=$$ "$@" > "$SKYPE_LOGS/skype-startup.log" 2>&1 &

January 23, 2017

Fixing Chromium remote extension loading in Debian sid


The newest Chromium in Debian sid disables remote extension loading by default. This has the effect of disabling extensions en masse. I'm not sure what the reasoning is, but it's damn inconvenient.

It's claimed that one way to get the old behavior back is to add

--enable-remote-extensions

to the list of flags in /etc/chromium.d/default-flags. This will affect all users on the system, and the file could be overwritten by an upgrade. In addition, until I know better what's behind the change, I'd really like to apply the change only to my account, not to all users.

I did this by adding:
# fix latest Debian Chromium disabling remote extensions
export CHROMIUM_FLAGS=$CHROMIUM_FLAGS" --enable-remote-extensions"
to my ~/.profile. Be sure to log out and back in to experience the change.

October 25, 2016

Fixing PackageKit authentication in Debian sid under Xfce

Today after updating stuff, my pkexec commands (e.g., synaptic-pkexec) stopped working. I don't know whether this was caused by something I inadvertently did that borked things or whether it's a bug in Debian sid. I figured out that the root of the problem (no pun intended) is that a policy authentication agent was no longer loading on login -- in spite of policykit-1-gnome being installed and the entry for PolicyKit Authentication agent being checked in Xfce's Session and Startup autostarts.

Reinstalling stuff didn't help.

Further sleuthing revealed that the PolicyKit Authentication agent entry in Xfce's Session and Startup was pointing to a (now) nonexistent file: /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1. Further examination revealed that the file /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop installed by policykit-1-gnome also was pointing to the same nonexistent file.

So here's what I did to kludge a fix:
  • Created a new directory /usr/lib/policykit-1-gnome
  • Added a link from /usr/lib/x86_64-linux-gnu/polkit-gnome-authentication-agent-1 to /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1.
After logging out and back in, things worked as expected.

I could have added a custom entry into my Xfce autostarts that pointed to the correct file, but that wouldn't have addressed the second issue of /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop pointing to phantoms.

To undo the changes once/if the problem is better sorted, all I need to do is delete /usr/lib/policykit-1-gnome.

May 28, 2016

Fixing virtual console resolution with nVidia driver

I tried a number of things to get a laptop with an nVidia GT218M [NVS 3100M] video card to provide decent resolution in virtual consoles. This particular unit needs to run the proprietary video drivers to behave well--the big exception being the big-and-fuzzy virtual terminal text.

What finally worked for me in /etc/default/grub was

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=saved
GRUB_SAVEDDEFAULT=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
GRUB_GFXMODE=1600x900
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
The important parts are the GRUB_GFXMODE=1600x900 and GRUB_GFXPAYLOAD_LINUX=keep lines.

Don't forget to
$ update-grub
Credit goes to StackExchange.

May 01, 2016

Adding "Run" options to Thunar

 Clicking on executable shell files no longer executes them in Thunar.

While there is a hidden option to revert to the old behavior, I decided in a new install to instead add right menu "Run" and "Run in terminal" custom actions. First create the custom actions from within Thunar to get valid unique-ids, and then open ~/.config/Thunar/uca.xml and edit the entries as needed:

<action>
    <icon>system-run</icon>
    <name>Run</name>
    <unique-id>xxxxxxxxxxxxxxxx-x</unique-id>
    <command>exec ./&apos;%n&apos;</command>
    <description>Execute this file</description>
    <patterns>*</patterns>
    <other-files/>
    <text-files/>
</action>
<action>
    <icon>xterm-color</icon>
    <name>Run in terminal</name>
    <unique-id>yyyyyyyyyyyyyyyy-y</unique-id>
    <command>xterm -T &apos;%n&apos; -e &quot;./&apos;%n&apos;; echo &apos;&apos;; read -p &apos;Press &lt;Enter&gt; to close...&apos;&quot;</command>
    <description>Execute this file in a terminal</description>
    <patterns>*</patterns>
    <other-files/>
    <text-files/>
</action>

April 26, 2016

Concerns about Qt's increasing commercial focus


It's not just me. Phoronix is reporting on growing concerns in the Qt community about the project's increasing commercial focus and apparent deprecation of its open source core.

I have said many times in these pages and elsewhere that I really like Qt: it's the right tool for a lot of jobs. But increasingly I've been feeling that any contribution I make in educating users about Qt is benefiting a commercial enterprise and not a community tool. So much so that I am re-surveying other open source multi-platform libraries to use as an alternative to Qt.

If the community no longer has meaningful Qt ownership, a lot of users will no longer be interested.

April 25, 2016

Fixing Debian sid touchpad with libinput

A recent sid update brought in Xorg's libinput package, which appears to make the old way of configuring touchpads (including synclient) obsolete.

One of the issues I had after the update was that my touchpad's tap-to-click stopped working. I fixed this using the info on this Stack Exchange post, namely I created a file
/usr/share/X11/xorg.conf.d/10-touchpad.conf containing:

Section "InputClass"
        Identifier "MyTouchpad"
        MatchIsTouchpad "on"
        Driver "libinput"
        Option "Tapping" "on"
EndSection

Note the different location from the one in the post. I also disabled the old 50-synaptics.conf, 50-vmmouse.conf, and 51-synaptics-aptosid.conf files (the latter two present possibly only in aptosid).

Apparently, Petter Hutterer has a post that goes into detail regarding what you can do with libinput, but I've not yet had time to read it.

Update (later the same day): With the above changes, my touchpad still had behavioral problems. I'll return to this later, but for now I re-enabled 50-synaptics.conf, 50-vmmouse.conf, and 51-synaptics-aptosid.conf and purged xserver-xorg-input-libinput (which removed xserver-xorg-input-all).

April 10, 2016

Qt "Demerger"



Phoronix reports that Qt will be "demerged" from parent company Digia soon.

It seems there has always been interesting dynamics around Qt, and this I suppose is the latest chapter. I'm hoping this is more of a good sign than a bad one.

October 12, 2015

Midori browser font rendering

I was having issues with Midori not rendering fonts the way I thought it should in aptosid XFCE. I set a default.css in ~/.local/share/midori/styles/default.css:
* {
    font-smooth:always !important;
    -webkit-font-smoothing: subpixel-antialiased !important;
    text-rendering: optimizeLegibility !important;
}
but that didn't fix what appeared to be wonky antialiasing. So I had a look in my ~/.Xresources and lo!:
Xft.dpi: 96
Xft.antialias: true
Xft.hinting: true
Xft.rgba: rgb
Xft.autohint: false
Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefaul  !!! Typo here !!! Should be "lcddefault".
Things are much improved now. I'm not 100% certain that it's 100% right, but it's definitely mostly right.

The takeaway for you, dear reader, is not to ignore your display configuration in  ~/.Xresources.

October 03, 2015

Broken Netbeans C++ code completion in Debian sid

When I use the workaround I wrote about for Netbeans crashing on startup in Debian sid, I notice that some C++ code completion doesn't work as expected. In several classes I've tried writing, code completion isn't picking up stuff declared in the header file.

When I use a copy of Oracle Java downloaded just for NB (i.e., netbeans_jdkhome="/home/me/opt/oracle-java/jre1.8" in /home/me/opt/netbeans/etc/netbeans.conf), things work as expected.

Whether this is a different or related bug I can't say, but I thought it worth mentioning in case anyone else is having the same problem.

September 16, 2015

Workaround for Netbeans crashing in Debian sid

A short while ago, my local install of Netbeans 8.0.2 started refusing to start with OpenJDK on my aptosid  box. I got around the problem by downloading Oracle Java and pointing Netbeans at that via my netbeans.conf:

...
# netbeans_jdkhome="/usr/lib/jvm/default-java"
netbeans_jdkhome="/home/mithat/opt/oracle-java/jre1.8"
...

Today I found Debian bug #798924 that suggests a workaround that allows using OpenJDK. In /etc/java-7-openjdk/accessibility.properties, comment out the line:

assistive_technologies=org.GNOME.Accessibility.AtkWrapper

So far so good.

August 21, 2015

Fixing Qt5 themes in Xfce

A lot of my Qt apps (e.g., qpdfview, VLC) recently stopped respecting my GTK theme. I did some checking, and it turns out they are all Qt5 apps. Google led me to the QT5 apps don't obey GTK theme settings post at the Manjaro Linux forum, which has some interesting things to say (generally applicable to all distributions).

What I eventually did was add:

# Workaround for Qt5 app theming.
export QT_STYLE_OVERRIDE=gtk


to the end of my my .profile, logout and log back in. Works now.