再起動後も保持されるようにコンソールのTTYフォントタイプを永続的に変更するにはどうすればよいですか?


14

Ubuntu 15.04 64ビットDesktop Edition(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を採用し、upstartを使用しなくなりました。
アンディフスニアック

回答:


6

/ubuntu/630118/および/ubuntu/328463/を参照してください

この問題は、console-setupが期待するフォントとにあるフォントの名前の不一致が原因である/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つは高さx幅、もう1つは幅x高さです。

問題はいくつかの方法で修正できます。

(1)/lib/udev/console-setup-tty修正可能-これは、より永続的な上流ソリューションです。

(2)/etc/default/console-setupFONTSIZEの高さと幅を逆にして、手動で変更できます。これは、を使用してフォントを変更するたびに実行する必要がありますdpkg-reconfigure console-setup。ただし、マシンが再起動しても、その設定は保持されます。

(3)console-setup-ttyが期待するフォントをインストールできます。これは、私が「オーバーキル」オプションと呼んでいるものです。私はこのようにしました:

/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ビットボックスで最近この問題に遭遇しました。のsetupconコマンドは、フォントを設定したものに設定しましたdpkg-reconfigure console-setup

追加した setupconrc.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.