देखें /ubuntu/630118/ और /ubuntu/328463/ ।
यह समस्या फोंट के नामकरण में एक बेमेल के कारण लगती है जो कंसोल-सेटअप की अपेक्षा करता है कि क्या है /usr/share/consolefonts/
, और इस तरह से कॉपी किया जाता है /etc/console-setup/
जब आप उपयोग करने के लिए फ़ॉन्ट का उपयोग करते हैं (उपयोग करते हुए
dpkg-reconfigure console-setup
)।
यदि आप एक कंसोल में जाते हैं और एक करते हैं strace /lib/udev/console-setup-tty fbcon
, तो आप देख सकते हैं कि यह इस तरह से फोंट खोलने की कोशिश कर रहा है:
/etc/console-setup/Lat15-TerminusBold11x22.psf
लेकिन अगर आप देखें /etc/console-setup/
, तो वहां केवल कुछ ही फोंट हैं (जिन्हें आपने चुना है), और वे इस तरह दिखते हैं:
/etc/console-setup/Lat15-TerminusBold22x11.psf.gz
एक की ऊंचाई x चौड़ाई है, और दूसरी की चौड़ाई x ऊँचाई है।
समस्या को कुछ तरीकों से ठीक किया जा सकता है।
(1) /lib/udev/console-setup-tty
तय किया जा सकता है - यह अधिक स्थायी, अपस्ट्रीम समाधान है।
(2) आप मैन्युअल रूप से बदल सकते हैं /etc/default/console-setup
, FONTSIZE में ऊंचाई और चौड़ाई को उलट सकते हैं। प्रत्येक बार जब आप फोंट का उपयोग कर बदलते हैं, तो यह करने की आवश्यकता होगी dpkg-reconfigure console-setup
। लेकिन जब मशीन रिबूट होती है, तो उस वरीयता को रखा जाता है।
(3) आप कंसोल-सेटअप-ट्टी की अपेक्षा फोंट स्थापित कर सकते हैं। इसे मैं "ओवरकिल" विकल्प कहता हूं। मैंने इसे इस तरह किया:
/Etc/rc.local में:
# install console fonts and then set up console
/etc/console-setup/fonts.sh install
/lib/udev/console-setup-tty fbcon
नामक एक स्क्रिप्ट बनाएं /etc/console-setup/fonts.sh
:
#!/bin/bash
action=$1
srcdir="/usr/share/consolefonts"
parent="/etc/console-setup"
subdir="fonts"
case "$1" in
install)
# console fonts are not named properly in Ubuntu 15.04, compensate
[[ -d $parent/$subdir ]] || mkdir $parent/$subdir
for x in $( cd $srcdir ; ls -1 ) ; do
# rearrange the two numbers from HHxWW to WWxHH
y=$(echo "$x" | sed -e 's/^\([^-]*\)-\([^0-9]*\)\([0-9]*\)x\([0-9]*\).psf.gz/\1-\2\4x\3.psf.gz/g')
# whether the pattern above matches or not, we'll be uncompressing here
z=${y/.psf.gz/.psf}
[[ ! -f $parent/$subdir/$z ]] && zcat $srcdir/$x > $parent/$subdir/$z
[[ ! -L $parent/$z ]] && ln -sv $subdir/$z $parent/$z
done
;;
uninstall)
rm -rf $parent/$subdir
# only remove broken links (links to the fonts we removed above)
rm $(find -L $parent -type l)
;;
*)
echo "$(basename $0) install|uninstall"
;;
esac
exit 0
एक त्वरित व्यावहारिक समाधान के लिए, मैं फ़ाइल में एक टिप्पणी के साथ # 2 करूँगा, अगर आपको एक अलग फ़ॉन्ट चुनने की आवश्यकता हो सकती है (यह मानते हुए कि टिप्पणी भी अधिलेखित नहीं होती है)।
लेकिन # 3 न्यूनतम उपद्रव या गड़बड़ के साथ अच्छी तरह से काम करता है।