How do we change the default font on Linux system?


 
Thread Tools Search this Thread
Operating Systems Linux How do we change the default font on Linux system?
# 1  
Old 12-20-2019
How do we change the default font on Linux system?

I have two hosts i.e host1 & host2.

host1 has the desired font details of which are below:

Code:
uname -a
Linux host1 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ fc-match
StRydeRegular.ttf: "St Ryde" "Regular"

I need the same default font on host2 however I'm not sure what and where changes need to be done.

Below are the details of host2

Code:
# uname -a
Linux host2 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@vultr /]# fc-match
DejaVuSans.ttf: "DejaVu Sans" "Book"

Can you please suggest any quick and easy fix to default the font on host2 to be StRydeRegular.ttf: "St Ryde" "Regular ?

As a solution i tried to copy /etc/fonts/fonts.conf from host1 to host2 and reload but it gives syntax error like below:
Code:
# sudo fc-cache -fv

[root@vultr /]# fc-match
Fontconfig warning: "/etc/fonts/fonts.conf", line 71: unknown element "blank"
Fontconfig error: "/etc/fonts/fonts.conf", line 141: no element found
Fontconfig error: Cannot load config file from /etc/fonts/fonts.conf
DejaVuSans.ttf: "DejaVu Sans" "Book"

# 2  
Old 12-20-2019
Your error message gave you all the clues you need, right?

Code:
Fontconfig warning: "/etc/fonts/fonts.conf", line 71: unknown element "blank"
Fontconfig error: "/etc/fonts/fonts.conf", line 141: no element found
Fontconfig error: Cannot load config file from /etc/fonts/fonts.conf

You should fix those errors first, don't you think?
# 3  
Old 12-22-2019
Quote:
Originally Posted by Neo
Your error message gave you all the clues you need, right?

Code:
Fontconfig warning: "/etc/fonts/fonts.conf", line 71: unknown element "blank"
Fontconfig error: "/etc/fonts/fonts.conf", line 141: no element found
Fontconfig error: Cannot load config file from /etc/fonts/fonts.conf

You should fix those errors first, don't you think?
Line 71 was loading the conf.d directory. Thus i copied over the entire /etc/fonts/conf.d directory from host1 to host2 and the error was gone.

I then got error with a tag / element called as blank. See output below.

Code:
[root@vultr fonts]# fc-match
Fontconfig warning: "/etc/fonts/fonts.conf", line 86: unknown element "blank"
DejaVuSans.ttf: "DejaVu Sans" "Book"

I then commented out the "blank" tag from fonts.conf and reloaded the font configuration as below.

Code:
[root@vultr fonts]# sudo fc-cache -fv
/usr/share/fonts: caching, new cache contents: 0 fonts, 2 dirs
/usr/share/fonts/dejavu: caching, new cache contents: 9 fonts, 0 dirs
/usr/share/fonts/lyx: caching, new cache contents: 12 fonts, 0 dirs
/usr/share/X11/fonts/Type1: skipping, no such directory
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/share/fonts/dejavu: skipping, looped directory detected
/usr/share/fonts/lyx: skipping, looped directory detected
/var/cache/fontconfig: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
/usr/bin/fc-cache-64: succeeded

Now the errors are gone but it is still defaulting to a different font than the one i needed. Note: apart from the blank tag / element the fonts.conf and the /etc/fonts/conf.d is the same on host1 and host2.

Code:
[root@vultr fonts]# fc-match
DejaVuSans.ttf: "DejaVu Sans" "Book"

when I am expecting to get this results of host1 i.e:

Code:
$ fc-match
StRydeRegular.ttf: "St Ryde" "Regular"

Kindly suggest.
# 4  
Old 12-22-2019
If I were you, the next step I would take is to search for:

Code:
StRydeRegular.ttf

(or something similar)

In the directories indicated in your config output:

Code:
[root@vultr fonts]# sudo fc-cache -fv
/usr/share/fonts: caching, new cache contents: 0 fonts, 2 dirs
/usr/share/fonts/dejavu: caching, new cache contents: 9 fonts, 0 dirs
/usr/share/fonts/lyx: caching, new cache contents: 12 fonts, 0 dirs
/usr/share/X11/fonts/Type1: skipping, no such directory
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/share/fonts/dejavu: skipping, looped directory detected
/usr/share/fonts/lyx: skipping, looped directory detected
/var/cache/fontconfig: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
/usr/bin/fc-cache-64: succeeded

My first guess, at this point, is that you have not installed the desired font family in one of the directories required or included in your config file.

As a side note:

More often-than-not, just coping and pasting files and directories from one platform to another, without understanding how they actually work and all the required files and directories, results in the problems you are seeing.
# 5  
Old 12-22-2019
Quote:
Originally Posted by Neo
If I were you, the next step I would take is to search for:

Code:
StRydeRegular.ttf

(or something similar)

In the directories indicated in your config output:

Code:
[root@vultr fonts]# sudo fc-cache -fv
/usr/share/fonts: caching, new cache contents: 0 fonts, 2 dirs
/usr/share/fonts/dejavu: caching, new cache contents: 9 fonts, 0 dirs
/usr/share/fonts/lyx: caching, new cache contents: 12 fonts, 0 dirs
/usr/share/X11/fonts/Type1: skipping, no such directory
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/share/fonts/dejavu: skipping, looped directory detected
/usr/share/fonts/lyx: skipping, looped directory detected
/var/cache/fontconfig: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
/usr/bin/fc-cache-64: succeeded

My first guess, at this point, is that you have not installed the desired font family in one of the directories required or included in your config file.

As a side note:

More often-than-not, just coping and pasting files and directories from one platform to another, without understanding how they actually work and all the required files and directories, results in the problems you are seeing.
I definitely have the desired font installed as seen below:

Code:
[root@vultr fonts]# fc-list | grep StRydeRegular.ttf
/usr/share/fonts/lyx/StRydeRegular.ttf: St Ryde,St Ryde Regular:style=Regular
[root@vultr fonts]# ls -ltr /usr/share/fonts/lyx/StRydeRegular.ttf
-rw-r--r-- 1 root root 107988 Dec 22  2018 /usr/share/fonts/lyx/StRydeRegular.ttf

Here is the ouput of fonts loaded on host1 where it is good:

Code:
sudo fc-cache -fv
/usr/share/fonts: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/fonts/lyx: caching, new cache contents: 12 fonts, 0 dirs
/usr/share/X11/fonts/Type1: skipping, no such directory
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/share/fonts: caching, new cache contents: 0 fonts, 1 dirs
/usr/share/X11/fonts/Type1: skipping, no such directory
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/var/cache/fontconfig: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
fc-cache: succeeded

Here is the output from host2 where i face the issue.
Code:
 sudo fc-cache -fv
/usr/share/fonts: caching, new cache contents: 0 fonts, 2 dirs
/usr/share/fonts/dejavu: caching, new cache contents: 9 fonts, 0 dirs
/usr/share/fonts/lyx: caching, new cache contents: 12 fonts, 0 dirs
/usr/share/X11/fonts/Type1: skipping, no such directory
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/share/fonts/dejavu: skipping, looped directory detected
/usr/share/fonts/lyx: skipping, looped directory detected
/var/cache/fontconfig: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
/usr/bin/fc-cache-64: succeeded

I will anyways continue to troubleshoot in other directories.

Last edited by mohtashims; 12-22-2019 at 01:33 AM..
# 6  
Old 12-22-2019
The error is self-evident:

Code:
/usr/share/fonts/lyx: skipping, looped directory detected

Sounds like you may have some issues with symbolic links.

Here is a quote from others with this same problem (which you can easily find if you google your error message :hint: :hint: ):

Quote:
When i try to renew fc-cache i get several warnings, which consist in, e.g.:

/usr/share/fonts/100dpi: skipping, looped directory detected
/usr/share/fonts/75dpi: skipping, looped directory detected
/usr/share/fonts/OTF: skipping, looped directory detected
/usr/share/fonts/TTF: skipping, looped directory detected
. . . .
I do not know what a "looped directory" is?

TIA


It probably means that there's a symbolic link inside of a directory which points back to either the directory itself or to the parent directory of that directory. It creates an infinite loop when trying to descend into that directory.
You should know that when you get error messages, you should read them and take them "seriously". They are your friend.

So is Google. Google is also your friend and you can easily Google error messages. I just did (for you). But you are a smart guy and can easily Google your own error messages.

If you don't know how to look at your filesystem and find your symbolic link errors (self-references, dead references, etc.), then just copy the font file in the problematic directory into a "good" directory (according to your verbose output / status messages).

It it was me, I would go fix your symlink errors.

As I mentioned earlier, when IT people just copy directories and files from one filesystem to another without taking the time to actually understand the directories and files, they are copying, this type of error is common.

Moderator's Comments:
Mod Comment Please, Mr. mohtashims, you have 952 posts here at unix.com. You should know all of these things by now. The problems you are seeing are common, novice errors caused by sloppy system admin work. These errors are easily avoided, especially by someone with close to 1000 posts here at unix.com. The messages you posted clearly describe the problem(s) and what you should go fix. You are posting questions that someone with less than 100 posts here might ask. Please learn to read your status / error messages and follow them, fix the obvious errors, and then ask questions after you have done the basic, novice sys admin work. Please, just do it.
# 7  
Old 12-22-2019
@Neo Thank you for the suggestion.

The directory in question for loop does not have any links as suggested.

Here is the output
Code:
[root@vultr lyx]# ls -ltraq /usr/share/fonts/lyx/*
-rw-r--r-- 1 root root  20876 May 28  2017 /usr/share/fonts/lyx/wasy10.ttf
-rw-r--r-- 1 root root  18740 May 28  2017 /usr/share/fonts/lyx/stmary10.ttf
-rw-r--r-- 1 root root  10924 May 28  2017 /usr/share/fonts/lyx/rsfs10.ttf
-rw-r--r-- 1 root root  36460 May 28  2017 /usr/share/fonts/lyx/msbm10.ttf
-rw-r--r-- 1 root root  26620 May 28  2017 /usr/share/fonts/lyx/msam10.ttf
-rw-r--r-- 1 root root  23476 May 28  2017 /usr/share/fonts/lyx/eufm10.ttf
-rw-r--r-- 1 root root  24316 May 28  2017 /usr/share/fonts/lyx/esint10.ttf
-rw-r--r-- 1 root root  28476 May 28  2017 /usr/share/fonts/lyx/cmsy10.ttf
-rw-r--r-- 1 root root  26188 May 28  2017 /usr/share/fonts/lyx/cmr10.ttf
-rw-r--r-- 1 root root  32036 May 28  2017 /usr/share/fonts/lyx/cmmi10.ttf
-rw-r--r-- 1 root root  20688 May 28  2017 /usr/share/fonts/lyx/cmex10.ttf
-rw-r--r-- 1 root root 107988 Dec 22  2018 /usr/share/fonts/lyx/StRydeRegular.ttf
-rw------- 1 root root    347 Dec 20 17:58 /usr/share/fonts/lyx/nohup.out

This does not seem to be straight forward.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Send mail with font change

Hi All, I have a file that contains following entries. I want to highlight the line that has word as "FAILURE" while sending the email. File ------------------------------------------------------------ Job Name: ABC Start Time: 07/20/2019 07:32:39 End Time: 07/20/2019... (4 Replies)
Discussion started by: sdosanjh
4 Replies

2. Ubuntu

How to change ffmpeg default font size?

Hello, I have a problem with Greek subtitle font size when I map a subtitle file into a video in ffmpeg. I ran below code: ffmpeg -i video.mp4 -sub_charenc CP1253 -i video_sub.srt -c:v copy -c:a copy \ -c:s mov_text -metadata:s:s:0 language=gr mapped_video.mp4 When I play it in VLC,... (2 Replies)
Discussion started by: baris35
2 Replies

3. UNIX for Dummies Questions & Answers

Change font

how do i change from employee= to employee= in ksh. in my shell script, i just want to employee= to BOLD. (3 Replies)
Discussion started by: lawsongeek
3 Replies

4. Programming

Change font in Motif

Does anyone know how to change the font size into a larger one, in a basic Motif application? (1 Reply)
Discussion started by: JenniferKuiper
1 Replies

5. Shell Programming and Scripting

Perl::Gtk2 on Linux --- How to Find the Default Font Being Used?

Hello All, Wasn't sure if this was the correct thread to post this under but figured it has to do with Perl and Gtk2 so why not... Anyway.. How can I find out what the Default font being used is inside a Gtk2::Widget. In this case I'm trying to figure out the font being used inside a... (1 Reply)
Discussion started by: mrm5102
1 Replies

6. Shell Programming and Scripting

how to change font in mailx

I am writing sql reports to an oracle database, spooling them to a file and emailing them with mailx. I use the syntax below. The reports do not format properly, unless I use the Courier New font. How do I set this with mailx? mailx -s "MY REPORT, `date +'%D %r` " -r "REPORTING SYSTEM"... (2 Replies)
Discussion started by: guessingo
2 Replies

7. UNIX for Dummies Questions & Answers

How to change the font or color of text

Hi Gurus, I have a small requirement where i want to change the color & font of some text in a file. i have a file error.txt which will be created in the script using egrep. After that iam adding these lines at head & tail to that file using the following code awk 'BEGIN{print"Please... (4 Replies)
Discussion started by: pssandeep
4 Replies

8. Shell Programming and Scripting

Font Color Change Using .profile

Does anyone know how can I change font color, background color etc for a particular user using .profile? Any help is appreciated. (0 Replies)
Discussion started by: fifo_vs_lifo23
0 Replies

9. Shell Programming and Scripting

How to change the font colour in unix ?

Could you pls tell me how to change the font colour in unix ? What is the syntax ? (3 Replies)
Discussion started by: sars
3 Replies

10. Shell Programming and Scripting

Hw to change the font of output in perl

Hw to change the font color and size of output in perl (2 Replies)
Discussion started by: trupti_rinku
2 Replies
Login or Register to Ask a Question