Консольный фонт для иксов
Начертание шрифтов в консольном окне эмулятора терминала по умолчанию, мне так каатца не очень... Это конечно же только мое субъективное мнение.
Но со времен KDE 2 существует такой шрифт, который почти не отличается по нарисованию от настоящего терминального шрифта и полностью удовлетворяет мое зрительное восприятие.
Выглядит он примерно так:
Сам файл фонта существует под названием console8x16.pcf.gz, под которым его и можно обнаружить на просторах интернета...
Найти его не столь сложно, но хорошо бы еще его опакетить, чтобы установить одним махом и голова не боли...
Условия для его обнаружения системой просты - он должен находиться в одном из каталогов с фонтами, путь к которому прописан в файле /etc/fonts/fonts.conf
Сам конфигурационный файл, показывает такие каталоги с "пропиской":
--> <!-- Font directory list --> <dir>/usr/share/fonts/OTF</dir> <dir>/usr/share/fonts/TTF</dir> <dir>/usr/share/fonts/Type1</dir> <dir>/usr/share/fonts/Speedo</dir> <dir>/usr/share/fonts/cyrillic</dir> <dir>/usr/share/fonts/misc</dir> <dir prefix="xdg">fonts</dir> <!--
Исходя из увиденного, шрифт лучше всего поместить в каталог /usr/share/fonts/misc, хотя бы потому, что там находятся его сородичи по расширению *.pcf.gz
Вобщем, лучше запустить данный скрипт и получим установочный пакет...
#!/bin/bash # Скрипт Slackbuild пакета fonts-misc-console # # Шрифт для консоли # # Maintained by cdrw <cdrw@list.ru> #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Объявление переменных, определяющих название пакета и исходников ║ #╚══════════════════════════════════════════════════════════════════════════════╝ PRGNAM=fonts-misc-console VERSION=${VERSION:-0.3} BUILD=${BUILD:-1} TAG=${TAG:-_dlx} SOURCE00="http://xiangelinux.googlecode.com/files/console8x16.pcf.gz" #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Определение архитектуры процессора компьютера ║ #╚══════════════════════════════════════════════════════════════════════════════╝ if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Определение переменных, определяющих рабочие каталоги ║ #╚══════════════════════════════════════════════════════════════════════════════╝ CWD=$(pwd) TMP=${TMP:-/tmp/DLx} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} NOCLEANUP=0 FORCEBUILD=0 CATEGORIJA=${CATEGORIJA:-xorg} #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Объявление флагов компиляции для архитектуры определённого процессора ║ #╚══════════════════════════════════════════════════════════════════════════════╝ if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Пакеты-зависимости, которые должны быть установлены в системе ║ #╚══════════════════════════════════════════════════════════════════════════════╝ REQUIRED_PACKAGES=" " #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Функция вывода справки ║ #╚══════════════════════════════════════════════════════════════════════════════╝ function usage() { cat << EOF Применение: ${0##*/} [опции] Options: --force Пакет не будет создан, если отсутствует пакет или пакеты-зависимости, необходимые для сборки пакета. Эта опция позволит игнорировать эту проверку и позволит попытаться собрать пакет в любом случае. --no-cleanup По умолчанию, после сборки пакета временные каталоги и распакованные исходные тексты будут удалены. Эта опция позволит не удалять после сборки пакета перечисленные каталоги. --help Вывод этого справочного текста. EOF } #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Разбор аргументов командной строки ║ #╚══════════════════════════════════════════════════════════════════════════════╝ while [ $# -gt 0 ]; do if [ "$1" = "-force" ] || [ "$1" = "--force" ]; then FORCEBUILD=1 shift elif [ "$1" = "-no-cleanup" ] || [ "$1" = "--no-cleanup" ]; then NOCLEANUP=1 shift elif [ "$1" = "-help" ] || [ "$1" = "--help" ]; then usage exit 0 else echo "${0##*/}: Неизвестная опция: $1" exit 1 fi done #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Проверка на наличие установленных пакетов-зависимостей ║ #╚══════════════════════════════════════════════════════════════════════════════╝ [ "$FORCEBUILD" = "0" ] && { function check_installed() { ls -1 /var/log/packages | grep "^${1}-[^-]*-[^-]*-[^-]*$" >/dev/null 2>&1 return $? } check_installed "$PKGNAME" && { echo "${0##*/}: ВНИМАНИЕ! Пакет '$PKGNAME' в системе уже установлен." exit 0 } for REQ in $REQUIRED_PACKAGES; do check_installed "$REQ" || { echo "${0##*/}: Необходимый пакет '$REQ' не установлен." exit 1 } done } #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Закрузка исходников и патчей, если их нет в каталоге ║ #╚══════════════════════════════════════════════════════════════════════════════╝ if [ ! -e "$CWD/console8x16.pcf.gz" ];then wget "$SOURCE00" -O "$CWD/console8x16.pcf.gz" fi #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Очистка временных каталогов и распаковка исходников ║ #╚══════════════════════════════════════════════════════════════════════════════╝ set -e # Принудительный выход если какая либо из следующих команд вернула # значение, отличное от 0. rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION mkdir -p $PKG/etc/fonts/conf.avail mkdir -p $PKG/etc/fonts/conf.d mkdir -p $PKG/install mkdir -p $PKG/usr/share/fonts/misc cp -a $CWD/console8x16.pcf.gz $PKG/usr/share/fonts/misc cat << EOF >> $PKG/install/doinst.sh #!/bin/sh ( cd etc/fonts/conf.d ; rm -rf 66-fonts-misc-console.conf ) ( cd etc/fonts/conf.d ; ln -sf /etc/fonts/conf.avail/66-fonts-misc-console.conf 66-fonts-misc-console.conf ) # Update the X font indexes: if [ -x /usr/bin/mkfontdir -o -x /usr/X11R6/bin/mkfontdir ]; then ( cd /usr/share/fonts/misc mkfontscale . mkfontdir . ) fi if [ -x /usr/bin/fc-cache ]; then /usr/bin/fc-cache -f fi EOF #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Копирование документации и SlackBuild ║ #╚══════════════════════════════════════════════════════════════════════════════╝ mkdir -p $PKG/usr/src/DesktopLX/$CATEGORIJA/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/src/DesktopLX/$CATEGORIJA/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat << EOF >> $PKG/install/slack-desc fonts-misc-console: fonts-misc-console - bitmap-fonts fonts-misc-console: fonts-misc-console: The bitmap-fonts package provides a number of bitmap fonts selected fonts-misc-console: from the xorg package designed for use locations such as terminals. fonts-misc-console: fonts-misc-console: fonts-misc-console: fonts-misc-console: fonts-misc-console: fonts-misc-console: Home: http://www.xorg.net fonts-misc-console: EOF cat << EOF >> $PKG/etc/fonts/conf.avail/66-fonts-misc-console.conf <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE fontconfig SYSTEM "../fonts.dtd"> <fontconfig> <alias> <family>monospace</family> <prefer> <family>Console</family> </prefer> </alias> <alias> <family>Console</family> <default> <family>monospace</family> </default> </alias> </fontconfig> EOF #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Создание установочного пакета ║ #╚══════════════════════════════════════════════════════════════════════════════╝ cd $PKG /sbin/makepkg -l y -c n $CWD/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz} cd $CWD md5sum $PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz} > \ $PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}.md5 cat $PKG/install/slack-desc > $PRGNAM-$VERSION-$ARCH-$BUILD$TAG.txt cat << EOF >> $CWD/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.desc The bitmap-fonts package provides a number of bitmap fonts selected from the xorg package designed for use locations such as terminals. Home: http://www.xorg.net EOF cat << EOF >> $CWD/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.install #!/bin/bash #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Установка вновь созданного пакета ║ #╚══════════════════════════════════════════════════════════════════════════════╝ removepkg $PRGNAM upgradepkg --install-new --reinstall $PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz} EOF chmod +x $CWD/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.install #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Удаление временных каталогов ║ #╚══════════════════════════════════════════════════════════════════════════════╝ if [ "$NOCLEANUP" = "0" ]; then rm -rf $PKG $TMP/$PRGNAM-$VERSION fi; #╔══════════════════════════════════════════════════════════════════════════════╗ #║ Конец скрипта ║ #╚══════════════════════════════════════════════════════════════════════════════╝
Отредактировано admin (2014-01-20 23:37:07)