Làm cách nào để thay đổi vĩnh viễn loại phông chữ TTY của bảng điều khiển để nó giữ sau khi khởi động lại?


14

Tôi đang chạy Ubuntu 15.04 64-bit Desktop Edition (Linux dựa trên Debian).

Tôi đã sử dụng sudo dpkg-reconfigure console-setuptừ dòng lệnh để thay đổi loại phông chữ bảng điều khiển mặc định thành Terminus. Ngay lập tức sau đó các phông chữ điều khiển đã thay đổi thành mặt phông chữ trông sắc nét hơn.

Tuy nhiên, sau khi khởi động lại Ctrl+ Alt+ F1đưa tôi đến một cửa sổ giao diện điều khiển có khuôn mặt kiểu chữ trông có vẻ chunkier ban đầu, không phải là lựa chọn của tôi.

Các /etc/default/console-setuptập tin dường như đã được thay đổi để lựa chọn của tôi.

# 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'

Làm cách nào để thay đổi vĩnh viễn phông chữ bảng điều khiển để sử dụng phông chữ ưa thích của tôi?


Câu trả lời này trên Askfox có thể giúp bạn: Askubfox.com/a/394254/399775
toxefa

Vì vậy, có vẻ như đó là một lỗi đã biết. Thật không may trong câu hỏi Askubfox, câu trả lời được đề xuất là tạo ra một kịch bản mới nhất. Ubuntu 15.04 và Debian hiện đã áp dụng systemd và không còn sử dụng nữa.
Andy Fusniak

Câu trả lời:


6

Xem https://askubfox.com/questions/630118/https://askubfox.com/questions/328463/ .

Vấn đề này dường như được gây ra bởi sự không phù hợp trong cách đặt tên các phông chữ mà thiết lập bảng điều khiển mong đợi so với những gì đang có /usr/share/consolefonts/, và do đó được sao chép /etc/console-setup/khi bạn chọn một phông chữ để sử dụng (sử dụng dpkg-reconfigure console-setup).

Nếu bạn đi đến một bàn điều khiển và làm một strace /lib/udev/console-setup-tty fbcon, bạn có thể thấy rằng nó đang cố mở các phông chữ như thế này:

/etc/console-setup/Lat15-TerminusBold11x22.psf

Nhưng nếu bạn nhìn vào /etc/console-setup/, chỉ có một số phông chữ trong đó (những phông bạn đã chọn) và chúng trông giống như thế này:

/etc/console-setup/Lat15-TerminusBold22x11.psf.gz

Một cái có chiều cao x chiều rộng, và cái kia có chiều rộng x chiều cao.

Vấn đề có thể được khắc phục bằng một vài cách.

(1) /lib/udev/console-setup-ttycó thể được sửa chữa - Đây là giải pháp ngược dòng lâu dài hơn.

(2) Bạn có thể thay đổi thủ công /etc/default/console-setup, đảo ngược chiều cao và chiều rộng trong FONTSIZE. Điều này sẽ cần phải được thực hiện mỗi khi bạn thay đổi phông chữ bằng cách sử dụng dpkg-reconfigure console-setup. Nhưng khi máy khởi động lại, ưu tiên đó được giữ lại.

(3) Bạn có thể cài đặt các phông chữ mà console-setup-tty mong đợi. Đây là những gì tôi gọi là tùy chọn "quá mức". Tôi đã làm nó như thế này:

Trong /etc/rc.local:

# install console fonts and then set up console
/etc/console-setup/fonts.sh install
/lib/udev/console-setup-tty fbcon

Tạo một tập lệnh gọi là /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

Đối với một giải pháp thực tế nhanh chóng, tôi sẽ làm # 2, với một nhận xét trong tệp rằng có thể cần phải thực hiện lại nếu bạn chọn một phông chữ khác (giả sử bình luận không bị ghi đè).

Nhưng # 3 hoạt động tốt với sự ồn ào hoặc lộn xộn tối thiểu.


6

Gần đây tôi đã gặp phải vấn đề này trên hộp Ubuntu 15.04 64 bit của mình. Các setupconlệnh thiết lập phông chữ với những gì tôi đã thiết lập với dpkg-reconfigure console-setup.

Tôi đã thêm vào setupconRC.local của mình, nhưng điều đó đã để lại một khoảng trống trong đó phông chữ vẫn sai (vì RC.local được thực thi sau khi giao diện điều khiển được thiết lập), vì vậy nó không đủ tốt cho tôi.

Vì vậy, tôi quyết định đi sâu hơn. Tôi đã chỉnh sửa /lib/systemd/system/console-setup.servicetập tin của mình và nối vào ExecStart=/bin/setupconcuối tập tin. Điều đó sẽ gọi setupconkhi giao diện điều khiển được thiết lập, sửa các phông chữ khi khởi động mà không có khoảng cách thời gian.


2

Giải pháp đơn giản nhất tôi tìm thấy là chỉnh sửa /etc/default/console-setupđể thiết lập

FONT="Lat7-Terminus32x16.psf.gz"

và nhận xét mọi thứ khác ngoại trừ ACTIVE_CONSOLESdòng.

Bạn có thể áp dụng điều này ngay lập tức setupconvà nó cũng sẽ được áp dụng sau khi khởi động lại.

Chỉ định tên phông chữ thay vì các thành phần riêng lẻ hoạt động xung quanh sự không khớp tên được mô tả bởi Alan Porter.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.