Thursday, June 25, 2009
How to add Windows TrueType fonts easily in Linux desktop system
Fonts are very important. When you migrate from Windows XP to Linux you may miss Truetype font. TrueType is a font standard developed by Apple Computer. By 1991 Microsoft had built TrueType into the Windows 3.1 operating system. The FreeType project provides TrueType under Linux. So let us see how to backup your Windows TrueType fonts and install them in Linux.
It is quite easy to add Windows True Type fonts in Linux. First make sure you copy Windows fonts on USB pen (usually located in C:\Windows\Fonts directory) or just mount windows NTFS/FAT partition. You can copy selected or all fonts from C:\Windows\Fonts directory.
Linux Gnome desktop
=> Open your default file manger or double click Computer icon on Gnome desktop
=> Type url:
fonts://
Alternatively, select Open Location? from file menu and type
fonts://
=> Once window open, just drag and drop fonts into this new windows from USB pen or mounted partition. Don't forget to restart application or just logout and login again.
Display Microsoft fonts like in Windows in CentOS/Fedora
Having the windows fonts working on Unix systems is fairly easy, but on Red Hat-based operating systems such as CentOS or Fedora, can be a real nightmare. The most critical aspect of having the Microsoft fonts to display properly on CentOS in compiling freetype with bytecode interpreter enabled. Let’s go through this procedure.
This tutorial assumes you have the 3 most popular community repositories enabled (Karanbir Singh, Dag Wieers and Dries).
((http://www.osresources.com/11_6_en.html))
1. Create the system source tree:
$ su
# mkdir -p /usr/src/redhat/SPECS
2. Download the latest version of the Freetype source code from a CentOS repository – For instance: freetype-2.*.el5.src.rpm – To your desktop (has to have a .src.rpm extension) and install the source:
# rpm -Uvh ./Desktop/freetype-2.1.9-1.0.rf.src.rpm
3. Open the spec (make) file in a text editor:
# gedit /usr/src/redhat/SPECS/freetype.spec
And enable the bytecode interpreter changing this line:
%define without_bytecode_interpreter 1
To:
%define without_bytecode_interpreter 0
(And not the opposite!)
Save.
4. Install some essential compilation tools and a few upgrades:
# yum install gcc-c++ rpm-build xorg-x11-deprecated-libs-devel xorg-x11-devel automake autoconf libtool zlib-devel libX11-devel
5. Build Freetype:
# cd /usr/src/redhat/SPECS
# rpmbuild -ba freetype.spec
6. Now you should have your RPMs:
# cd /usr/src/redhat/RPMS/i386 && ls
freetype-2.1.9-1.2.rf.i386.rpm freetype-devel-2.1.9-1.2.rf.i386.rpm
freetype-demos-2.1.9-1.2.rf.i386.rpm freetype-utils-2.1.9-1.2.rf.i386.rpm
#
7. Install the new version of Freetype:
# rpm -Uvh --force *
8. Download the Microsoft fonts and extract them:
# mkdir /usr/share/fonts/TTF
# tar xvjpf msfonts.tbz -C /usr/share/fonts/TTF/
Download the fontconfig files and extract them into your fontconfig directory:
# tar xvjpf fontconfig.tbz -C /etc/fonts/
9. Make sure the fonts directory is listed in the fontconfig configuration file:
# gedit /etc/fonts/fonts.conf
ie:
Save.
10. Log out from Gnome/KDE and relog in. Now here’s how your fonts should look like:
Thursday, May 14, 2009
BASH Shell change the color of my shell prompt under Linux or UNIX
Q. How do I change the color of my shell prompt under Linux ?
A. You can change the color of your shell prompt to impress your friend or to make your own life quite easy while working at command prompt.
In the Linux default shell is BASH.
Your current prompt setting is stored in PS1 shell variable. There are other variables too, like PS2, PS3 and PS4.
Bash displays the primary prompt PS1 when it is ready to read a command, and the secondary prompt PS2 when it needs more input to complete a command. Bash allows these prompt strings to be customized by inserting a number of backslash-escaped special characters.
Task: Display current BASH prompt (PS1)
Use echo command to display current BASH prompt:$ echo $PS1Output:
[\\u@\h \\W]\\$
By default the command prompt is set to: [\u@\h \W]\$. Backslash-escaped special characters are decoded as follows:
- \u: Display the current username
- \h: Display the hostname
- \W: Print the current working directory
Task: Modify current BASH prompt
Use export command to setup a new shell prompt:$ export PS1="[\\u@\\H \\W \\@]\\$"
Where,
- \H: Display FQDN hostname
- \@: Display current time in 12-hour am/pm format
Task: Add colors to the prompt
To add colors to the shell prompt use the following export command syntax:
'\e[x;ym $PS1 \e[m'
Where,
- \e[ Start color scheme
- x;y Color pair to use (x;y)
- $PS1 is your shell prompt
- \e[m Stop color scheme
To set a red color prompt, type the command:$ export PS1="\e[0;31m[\u@\h \W]\$ \e[m "
List of Color code
| Color | Code |
| Black | 0;30 |
| Blue | 0;34 |
| Green | 0;32 |
| Cyan | 0;36 |
| Red | 0;31 |
| Purple | 0;35 |
| Brown | 0;33 |
| Blue | 0;34 |
| Green | 0;32 |
| Cyan | 0;36 |
| Red | 0;31 |
| Purple | 0;35 |
| Brown | 0;33 |
Replace digit 0 with 1 to get light color version.
Task: How to make the prompt setting permanent
Your new shell prompt setting is temporary i.e. when you logout setting will be lost. To have it set everytime you login to your workstation add above export command to your .bash_profile file or .bashrc file.$ cdOR
$ vi .bash_profile$ vi .bashrc
Append export line:export PS1="\e[0;31m[\u@\h \W]\$ \e[m"
Save and close the file.
tput command
You can also use tput command. For example display RED prompt use tput as follows:export PS1="\[$(tput setaf 1)\]\u@\h:\w $ \[$(tput sgr0)\]"
handy tput commands
- tput bold - Bold effect
- tput rev - Display inverse colors
- tput sgr0 - Reset everything
- tput setaf {CODE}- Set foreground color, see color {CODE} below
- tput setab {CODE}- Set background color, see color {CODE} below
Colors {code} code for tput command
| Color {code} | Color |
| 0 | Black |
| 1 | Red |
| 2 | Green |
| 3 | Yellow |
| 4 | Blue |
| 5 | Magenta |
| 6 | Cyan |
| 7 | White |
Read the man page of bash and tput command for more information.
//Lin u X u niL