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?
# 22  
Old 12-23-2019
What Linux distribution is it exactly?

Sorry if you mentioned it already.
# 23  
Old 12-23-2019
Quote:
Originally Posted by Neo
What Linux distribution is it exactly?

Sorry if you mentioned it already.
For host1 where the default font is as desired.
Code:
$ cat /proc/version
Linux version 3.10.0-693.21.1.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Wed Mar 7 19:03:37 UTC 2018

For host2 where I face the problem:
Code:
[root@vultr ~]# cat /proc/version
Linux version 3.10.0-957.5.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Fri Feb 1 14:54:57 UTC 2019

# 24  
Old 12-23-2019
Thanks.

For completeness (quick double check on my side), can you please post this also?

Code:
lsb_release -a

# 25  
Old 12-23-2019
Quote:
Originally Posted by Neo
Thanks.

For completeness (quick double check on my side), can you please post this also?

Code:
lsb_release -a

Code:
lsb_release -a
-bash: lsb_release: command not found

on both the systems.

Installed it on both systems using command sudo yum install lsb* and here we go. But now with this i messed up good server as wellSmilie

Now both the servers are showing same undesired font:

Code:
fc-match
DejaVuSans.ttf: "DejaVu Sans" "Book"

For good host1
Code:
lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch:trialuse-4.1-amd64:trialuse-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.4.1708 (Core)
Release:        7.4.1708
Codename:       Core


For problematic host 2 where the default font is not the desired one.
Code:
# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch:trialuse-4.1-amd64:trialuse-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.6.1810 (Core)
Release:        7.6.1810
Codename:       Core


Last edited by mohtashims; 12-23-2019 at 01:20 PM..
# 26  
Old 12-23-2019
lsb_release has little to do with fonts, as you know.

So, if "you messed your default fonts up", I don't think it was because you decided to installing lsb_release.

On the other hand, using apt, I have never installed with apt using a wildcard (*) like you show in your post .

Was that a typo in your reply?

Anyway, you are running CentOS.

So, for CentOS, I think you can change the default system font by adding the <prefer> directive to your fonts.conf file.

You might want to investigate that. I saw on the net where many people change their default system fonts on CentOS using the <prefer> or <default> directive:

Quote:
Alias elements provide a shorthand notation for the set of common match operations needed to substitute one font family for another. They contain a <family> element followed by optional <prefer>, <accept> and <default> elements. Fonts matching the <family> element are edited to prepend the list of <prefer>ed families before the matching <family>, append the <accept>able families after the matching <family> and append the <default> families to the end of the family list.
Frankly, I don't change system fonts on my servers; and when I login remotely (everyday), I change the console fonts using the terminal program (I use Roboto and Anonymous Pro fonts) not with the system fonts.

Anyway, I not really very helpful on this, so I think you can easily Google around about how to change the default system font in CentOS and make good progress.

In closing, I would like to caution you about saying "changing fonts on Linux system" (as in the title of this discussion you posted).

Linux, defines only the kernel. The operating environment is defined by the distribution (in your case CentOS). Linux is the kernel, everything else falls under the actual distribution.

Your issue changing system fonts is a CentOS issue, not a Linux issue, per se. Linux is the kernel, not the "distribution".

Hope this helps.
# 27  
Old 12-23-2019
Quote:
Originally Posted by Neo
lsb_release has little to do with fonts, as you know.

So, if "you messed your default fonts up", I don't think it was because you decided to installing lsb_release.

On the other hand, using apt, I have never installed with apt using a wildcard (*) like you show in your post .

Was that a typo in your reply?

Anyway, you are running CentOS.

So, for CentOS, I think you can change the default system font by adding the <prefer> directive to your fonts.conf file.

You might want to investigate that. I saw on the net where many people change their default system fonts on CentOS using the <prefer> or <default> directive:



Frankly, I don't change system fonts on my servers; and when I login remotely (everyday), I change the console fonts using the terminal program (I use Roboto and Anonymous Pro fonts) not with the system fonts.

Anyway, I not really very helpful on this, so I think you can easily Google around about how to change the default system font in CentOS and make good progress.

In closing, I would like to caution you about saying "changing fonts on Linux system" (as in the title of this discussion you posted).

Linux, defines only the kernel. The operating environment is defined by the distribution (in your case CentOS). Linux is the kernel, everything else falls under the actual distribution.

Your issue changing system fonts is a CentOS issue, not a Linux issue, per se. Linux is the kernel, not the "distribution".

Hope this helps.
Moving ahead with the suggestion i seek help from this article: How To Set Default Fonts and Font Aliases on Linux

Created the config file ~/.config/fontconfig/fonts.conf

Code:
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>

<!-- Set preferred serif, sans serif, and monospace fonts. -->
  <alias>
    <family>sans-serif</family>
    <prefer><family>lyx</family></prefer>
  </alias>

  <match>
    <test name="family"><string>St Ryde Regular</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>lyx</string>
    </edit>
  </match>

</fontconfig>

Then i reloaded the font-cache using the command fc-cache -fv

I then used check.sh script which has the below code to get the Default fonts:

Code:
for family in serif sans-serif monospace Arial Helvetica Verdana "Times New Roman" "Courier New"; do
  echo -n "$family: "
  fc-match "$family"
done

Output:
Code:
# ./check.sh
serif: NimbusRoman-Regular.otf: "Nimbus Roman" "Regular"
sans-serif: DejaVuSans.ttf: "DejaVu Sans" "Book"
monospace: NimbusMonoPS-Regular.otf: "Nimbus Mono PS" "Regular"
Arial: NimbusSans-Regular.otf: "Nimbus Sans" "Regular"
Helvetica: NimbusSans-Regular.otf: "Nimbus Sans" "Regular"
Verdana: DejaVuSans.ttf: "DejaVu Sans" "Book"
Times New Roman: NimbusRoman-Regular.otf: "Nimbus Roman" "Regular"
Courier New: NimbusMonoPS-Regular.otf: "Nimbus Mono PS" "Regular"

The output still says my default is Dejavu instead of the below:
Code:
fc-list | grep -i /usr/share/fonts/lyx/StRydeRegular.ttf
/usr/share/fonts/lyx/StRydeRegular.ttf: St Ryde,St Ryde Regular:style=Regular

Can you please suggest what could be the issue in my configuration ?

--- Post updated at 11:11 PM ---

The issue is resolve my making the following changes (changing lyx to St Ryde):

Code:
cat ~/.config/fontconfig/fonts.conf
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>

<!-- Set preferred serif, sans serif, and monospace fonts. -->
  <alias>
    <family>sans-serif</family>
    <prefer><family>St Ryde</family></prefer>
  </alias>

  <match>
    <test name="family"><string>St Ryde Regular</string></test>
    <edit name="family" mode="assign" binding="strong">
      <string>St Ryde</string>
    </edit>
  </match>

</fontconfig>

I change lyx to St Ryde as you can see above.

What i still wish to know how do i know the family of a font given a .ttf file ?

In this case the family was St Ryde but that was more so a guess. Can you tell me the correct place to see the family given the .ttf file ?

Also, the /usr/share/fonts/lyx: skipping, looped directory detected message persists while I was able to change the default font. hence, i guess troubleshooting that was irrelevant.

By the way ... thank you Neo for all your help ... appreciated.
# 28  
Old 12-24-2019
So in summary, if you don't mind: you installed a font which you did not know the font family (or the basics of font management).

Because you installed a font with knowing the font family, you did not have the information required to update your fonts.conf file to specify the font family for the new default in the configuration file. In addition, you had a lot of initial errors in your configuration because you copies from another server.

In my view, you should hone your trouble shooting and system admin skills. When you are installing or configuration something, you should read the error and status messages very carefully (as I did in your posts) and work to fix those errors before asking "why something does not work or not". Relevant or not to the immediate task at hand, as a sys admin you should understand fix these errors. The developers of software take a lot of time to create code which traps errors and outputs status messages to help users. Those messages are important and critical for system admin. If you have errors, fix them. Everything is relevant. Details matter. If you ever write code, getting the code to work is "one thing". Trapping all the possible errors and outputting error and status messages for "other users" can take more time than the original code. These messages are your friend and are free.

In my view, you have 1000 or so posts here at unix.com. This should have been easy for you to solve on your own. You did not really need my help. You could have copied the fonts over, fixed the obvious errors and then googled on how to change the default system font for CentOS. You would have seen that you can change the default, as I did, by editing font.conf.

Anyway, glad you solved it and glad to help you think though this. Hopefully, this discussion will help others who have similar issues in the future.

Live long and prosper.
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