Як я можу постійно змінити тип шрифту консолі TTY, щоб він тримався після перезавантаження?


14

Я використовую 64-розрядну версію для робочого столу Ubuntu 15.04 (Linux на базі Debian).

Я використовував sudo dpkg-reconfigure console-setupз командного рядка, щоб змінити тип шрифту консолі за замовчуванням на Terminus. Відразу після цього консолі консолі змінилися на чіткіше виглядає шрифт.

Однак після перезавантаження Ctrl+ Alt+ F1відведе мене до консольного вікна, яке має оригінальне обличчя шрифту в стилі chunkier, а не мій вибраний вибір.

/etc/default/console-setupЗдається, цей файл змінено на мій вибір.

# CONFIGURATION FILE FOR SETUPCON

# Consult the console-setup(5) manual page.

ACTIVE_CONSOLES="/dev/tty[1-6]"

CHARMAP="UTF-8"

CODESET="guess"
FONTFACE="Terminus"
FONTSIZE="8x16"

VIDEOMODE=

# The following is an example how to use a braille font
# FONT='lat9w-08.psf.gz brl-8x8.psf'

Як я можу назавжди змінити шрифт консолі, щоб використовувати вибраний шрифт?


Ця відповідь на askuntu може допомогти вам: askubuntu.com/a/396254/399775
toxefa

Тож виявляється, що це відома помилка. На жаль, у питанні askubuntu запропонованою відповіддю є створення початкового сценарію. Ubuntu 15.04 і Debian тепер прийняли systemd і більше не використовують швидкість запуску.
Енді Фушняк

Відповіді:


6

Дивіться /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

Один має висоту х ширину, а другий ширину х висоту.

Проблему можна вирішити кількома способами.

(1) /lib/udev/console-setup-tty може бути виправлено - Це більш постійне рішення вгору за течією.

(2) Ви можете змінити вручну /etc/default/console-setup, змінивши висоту та ширину в FONTSIZE. Це потрібно робити щоразу, коли ви змінюєте шрифти, використовуючиdpkg-reconfigure console-setup . Але коли машина перезавантажується, цей параметр зберігається.

(3) Ви можете встановити шрифти, на які очікує консольна настройка. Це те, що я називаю опцією "overkill". Я зробив це так:

В /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 добре працює з мінімальною суєтою або безладом.


6

Я нещодавно зіткнувся з цією проблемою на моєму 64-бітному боксі Ubuntu 15.04. setupconКоманда встановити шрифти на те , що я встановив з dpkg-reconfigure console-setup.

Я додав setupconдо свого rc.local, але це залишило прогалину, де шрифт все ще був неправильним (оскільки rc.local виконується після налаштування консолі), тому це було недостатньо добре для мене.

Отже, я вирішив заглибитись. Я відредагував свій /lib/systemd/system/console-setup.serviceфайл і додав ExecStart=/bin/setupconйого до кінця. Це зателефонує, setupconколи консоль налаштовується, виправляючи шрифти під час завантаження без часового розриву.


2

Найпростіше рішення, яке я знайшов, - це редагувати, /etc/default/console-setupщоб встановити

FONT="Lat7-Terminus32x16.psf.gz"

і прокоментуйте все інше, крім ACTIVE_CONSOLESрядка.

Ви можете застосувати це негайно setupcon, і він буде застосований і після перезавантаження.

Вказання назви шрифту, а не окремих компонентів, працює навколо невідповідності імен, описаного Аланом Портером.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.