ฉันจะเปลี่ยนชนิดฟอนต์ TTY ของคอนโซลอย่างถาวรได้อย่างไรเพื่อให้คงไว้หลังจากรีบูต


14

ฉันใช้ Ubuntu รุ่น 15.04 แบบ 64 บิตสำหรับเดสก์ท็อป (A Debian ที่ใช้ Linux)

ฉันใช้sudo dpkg-reconfigure console-setupจากบรรทัดคำสั่งเพื่อเปลี่ยนประเภทฟอนต์คอนโซลเริ่มต้นเป็น Terminus ทันทีหลังจากนั้นแบบอักษรคอนโซลเปลี่ยนเป็นแบบอักษรที่ดูคมชัดยิ่งขึ้น

อย่างไรก็ตามหลังจากรีบูทใหม่Ctrl+ Alt+ F1พาฉันไปที่หน้าต่างคอนโซลที่มีรูปแบบตัวอักษรแบบดั้งเดิมที่ดูหนาขึ้นไม่ใช่ตัวเลือกที่ฉันเลือก

/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 มาใช้แล้วและไม่ได้ใช้งานอย่างแพร่หลาย
Andy Fusniak

คำตอบ:


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

หนึ่งมีความสูง x ความกว้างและอื่น ๆ มีความกว้าง x ความสูง

ปัญหาสามารถแก้ไขได้ในไม่กี่วิธี

(1) /lib/udev/console-setup-ttyสามารถแก้ไขได้ - นี่เป็นวิธีแก้ไขปัญหาขั้นต้นที่ถาวรมากขึ้น

(2) คุณสามารถเปลี่ยนด้วยตนเอง/etc/default/console-setupโดยย้อนกลับความสูงและความกว้างเป็น FONTSIZE dpkg-reconfigure console-setupนี้จะต้องมีการทำในแต่ละครั้งที่คุณเปลี่ยนแบบอักษรที่ใช้ แต่เมื่อเครื่องรีบูตการตั้งค่านั้นจะถูกเก็บไว้

(3) คุณสามารถติดตั้งแบบอักษรที่คาดว่า console-setup-tty นี่คือสิ่งที่ฉันเรียกว่าตัวเลือก "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

ฉันเพิ่งพบปัญหานี้ในกล่อง Ubuntu 15.04 64 บิตของฉัน คำสั่งตั้งค่าแบบอักษรเพื่อสิ่งที่ฉันได้ตั้งค่าด้วยsetupcondpkg-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และมันจะถูกนำไปใช้หลังจากรีบูตเครื่องเช่นกัน

การระบุชื่อฟอนต์แทนแต่ละคอมโพเนนต์จะทำงานโดยไม่ตรงกับการตั้งชื่อที่อธิบายโดย Alan Porter

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.